Merge pull request #20 from outis1one/claude/bios-vt-power-settings-mxjh0x

Claude/bios vt power settings mxjh0x
This commit is contained in:
Outis
2026-06-27 12:58:44 -04:00
committed by GitHub
+199 -56
View File
@@ -2353,7 +2353,69 @@ find it automatically.
--- ---
### Step 11.6 — Add raw data drives to VM 100 via CLI ### Step 11.6 — Enable nested virtualization on the Proxmox host
VM 100 will run a nested Windows VM (VirtualBox) for Sync.com. This requires
exposing hardware virtualization extensions to the guest. Run on the
**Proxmox host**:
```bash
# Check current state — Y = already enabled, N = needs enabling
cat /sys/module/kvm_intel/parameters/nested
# Enable nested virt persistently
echo "options kvm-intel nested=Y" > /etc/modprobe.d/kvm-intel.conf
# Reload the module (or reboot — reboot is safer)
modprobe -r kvm_intel && modprobe kvm_intel
# Verify
cat /sys/module/kvm_intel/parameters/nested # should print Y
```
> **VM 100 must have CPU type set to `host`** (already configured in Step 11.3).
> Without `host`, the VM does not see the VT-x extensions and VirtualBox inside
> it will run in slow emulation mode or fail to start 64-bit guests.
Verify inside VM 100 after it boots:
```bash
# Should show vmx flag — confirms VT-x is visible to the guest
grep -m1 vmx /proc/cpuinfo
```
---
### Step 11.7 — Find drive IDs on the Proxmox host
> **Do not use `lsusb`** — that lists USB devices only. HDDs connected via the
> PERC H730 in JBOD mode appear as regular block devices.
SSH into the Proxmox host and run:
```bash
# See all drives with model, size, and device path
lsblk -o NAME,SIZE,MODEL,SERIAL,TYPE | grep disk
# Get stable by-id paths (use these — not /dev/sdX which can change on reboot)
ls -la /dev/disk/by-id/ | grep -v part | grep -v wwn
```
Example output:
```
scsi-35000cca23b7d4eb8 -> ../../sdb # Bay 1 — HGST 4TB
scsi-35000cca23b5e1234 -> ../../sdc # Bay 2 — HGST 4TB
scsi-35000cca23bab5678 -> ../../sdd # Bay 3 — HGST 4TB
...
```
> Use the `scsi-3...` or `ata-...` names — these are stable and tied to the
> drive's serial number. `/dev/sdb` can shift if drives are added or removed.
---
### Step 11.8 — Add raw data drives to VM 100 via CLI
> **You do NOT add bare drives to Proxmox storage.** Proxmox storage (local-lvm, > **You do NOT add bare drives to Proxmox storage.** Proxmox storage (local-lvm,
> local, etc.) is only for VM disk images. Raw drives are passed directly to the > local, etc.) is only for VM disk images. Raw drives are passed directly to the
@@ -2367,8 +2429,7 @@ Proxmox CLI. SSH into the host:
ssh root@192.168.1.10 ssh root@192.168.1.10
``` ```
Run one `qm set` command per drive, replacing the `PLACEHOLDER_BAYx` paths Run one `qm set` command per drive using the by-id paths from Step 11.7:
with the real by-id paths from your `hardware-layout.md`:
```bash ```bash
qm set 100 -scsi1 /dev/disk/by-id/PLACEHOLDER_BAY1 qm set 100 -scsi1 /dev/disk/by-id/PLACEHOLDER_BAY1
@@ -2402,7 +2463,7 @@ scsi8: /dev/disk/by-id/scsi-35000cca23bab1234,size=0
--- ---
### Step 11.7 — Create VM 101 (Ubuntu Desktop + GPU) ### Step 11.9 — Create VM 101 (Ubuntu Desktop + GPU)
Click **Create VM** in the web UI. Click **Create VM** in the web UI.
@@ -2448,69 +2509,115 @@ qm set 101 -scsi2 /dev/disk/by-id/PLACEHOLDER_BAY10
--- ---
### Step 11.8 — Create VM 102 (storage/utility, no GPU) ### Step 11.10 — Create VM 102 (Windows 11, Sync.com)
VM 102 is a Windows 11 VM that runs the Sync.com desktop client for cloud
backup. Syncthing on VM 100 mirrors NAS data to VM 102's local NTFS drive,
and Sync.com picks it up natively.
Click **Create VM** again. Click **Create VM** again.
| Tab | Value | **Tab: General**
|-----|-------|
| General | VM ID: **102**, Name: **vm102** |
| CPU | 4 cores, host |
| Memory | 8192 MiB |
| Disk | 32 GiB on local-lvm |
No PCI device, no USB devices. | Field | Value |
|-------|-------|
| VM ID | 102 |
| Name | windows-sync |
Add the two data drives: **Tab: OS**
| Field | Value |
|-------|-------|
| ISO image | windows11 ISO (upload to local storage first) |
| OS Type | Microsoft Windows |
| Version | 11/2022/2025 |
**Tab: System**
| Field | Value |
|-------|-------|
| Graphic card | Default (VirtIO) |
| Machine | q35 |
| BIOS | OVMF (UEFI) |
| Add EFI Disk | checked |
| EFI Storage | local-lvm |
| Pre-Enrolled Keys | **checked** (Windows 11 requires Secure Boot) |
| Add TPM | **checked**, TPM Storage: local-lvm (Windows 11 requires TPM 2.0) |
| SCSI Controller | VirtIO SCSI Single |
**Tab: Disks**
| Field | Value |
|-------|-------|
| Disk size (GiB) | 128 |
| Storage | local-lvm |
| Cache | Write back |
**Tab: CPU**
| Field | Value |
|-------|-------|
| Sockets | 1 |
| Cores | 4 |
| Type | host |
**Tab: Memory**
| Field | Value |
|-------|-------|
| Memory (MiB) | 8192 |
Click **Finish**.
Then pass a dedicated data drive to VM 102 for Sync.com to sync to:
```bash ```bash
qm set 102 -scsi1 /dev/disk/by-id/PLACEHOLDER_BAY11 # Use one of your spare HDDs — Sync.com data lives here (formatted NTFS in Windows)
qm set 102 -scsi2 /dev/disk/by-id/PLACEHOLDER_BAY12 qm set 102 -scsi1 /dev/disk/by-id/PLACEHOLDER_SYNC_DRIVE
``` ```
> **Why a dedicated drive?** Sync.com needs a real local NTFS disk — not a
> network share, not a shared folder. Windows formats this drive NTFS and
> Sync.com treats it as a native local drive. Syncthing on VM 100 pushes
> data to it over the LAN.
--- ---
### Step 11.9 — Install Ubuntu in VM 100 ### Step 11.11 — Install Ubuntu Desktop in VM 100
In the left panel, click **100 (frigate)** → click **Start** (▶ button). In the left panel, click **100** → click **Start** (▶ button).
Open the console: click **Console** at the top. This opens a noVNC session in Open the console: click **Console** at the top. This opens a noVNC session.
your browser.
Wait for the Ubuntu GRUB menu to appear. Select **Try or Install Ubuntu Wait for the Ubuntu GRUB menu → select **Try or Install Ubuntu** → press Enter.
Server** and press Enter.
Work through the Ubuntu Server installer: Work through the Ubuntu Desktop installer:
1. **Language:** English (or your preference) 1. **Language:** English (or your preference)
2. **Keyboard:** your layout 2. **Accessibility:** skip
3. **Type of install:** Ubuntu Server (not minimised — minimised is missing tools 3. **Keyboard:** your layout
you need) 4. **Connect to internet:** the VirtIO NIC auto-detects, gets DHCP — continue
4. **Network connections:** the VirtIO NIC auto-detects and gets a DHCP IP. 5. **What do you want to do?** → **Install Ubuntu**
**Note the IP address** — you will use it for SSH in the next step. 6. **How do you want to install?** → **Interactive installation**
5. **Proxy:** leave blank 7. **Applications:** Default selection
6. **Ubuntu archive mirror:** leave at default (or a nearby mirror) 8. **Optimise your computer:** check both boxes (install restricted extras, download updates)
7. **Storage:** 9. **Disk setup:** → **Manual partitioning** or **Erase disk and install Ubuntu**
- **Guided storage layout** → **Use an entire disk** - Select the **64 GiB** virtual disk (scsi0 — the small one)
- Select the **64GB** virtual disk (the scsi0 OS disk — shows as ~64.4 GB) - **Do not touch the large data drives** — leave them completely alone
- Leave LVM enabled 10. **Time zone:** your location
- **Do not select the large 3.6TB data drives** — those will become a ZFS 11. **Create account:**
pool in Phase 12 - Name / hostname: `vm100`
8. **Profile setup:** - Username: your preference
- Server's name: `frigate` - Password: something strong
- Username: `ubuntu` (or your preference) - **Enable auto-login** if this is a desktop you sit at
- Password: something strong 12. **Ready to install:** click **Install**
9. **SSH:** check **Install OpenSSH server** → Yes
10. **Featured server snaps:** skip all
Click **Done** on the summary screen. The install takes 510 minutes. Install takes 1015 minutes. When done click **Restart Now**. Proxmox ejects
the ISO automatically.
When installation finishes: **Reboot Now**. Proxmox ejects the ISO
automatically. When the login prompt appears in the console, the OS is ready.
--- ---
### Step 11.10 — Find VM 100's IP and test SSH ### Step 11.12 — Find VM 100's IP and test SSH
Log in at the console. Check the assigned IP: Log in at the console. Check the assigned IP:
@@ -2534,22 +2641,58 @@ ssh ubuntu@192.168.1.XXX
If SSH connects, close the noVNC console tab — you will not need it again. If SSH connects, close the noVNC console tab — you will not need it again.
> **Recommended:** Set a DHCP reservation in your router for VM 100's MAC > **Recommended:** Set a DHCP reservation in your router for VM 100's MAC
> address so its IP stays stable. Frigate's web UI and stream URLs depend on > address so its IP stays stable.
> a predictable IP.
--- ---
### Step 11.11Install Ubuntu in VMs 101 and 102 ### Step 11.13Disable Wayland, force Xorg
**VM 101 (Desktop):** Start the VM, open the console, and work through the Ubuntu 24.04 defaults to Wayland. WinApps file sharing (`\\tsclient\home`)
Ubuntu Desktop installer. Use `vm101` as the hostname. The desktop installer breaks under Wayland due to FreeRDP limitations — tsclient mounts as empty.
is graphical — click through the screens. When prompted for storage, install Force Xorg system-wide with one command:
only to the 64GB OS disk; leave the data drives untouched.
**VM 102 (Server):** Repeat steps 11.911.10. Use `vm102` as the hostname. ```bash
ssh ubuntu@192.168.1.XXX
During the storage step in each VM: install Ubuntu only on the small OS disk. # Uncomment WaylandEnable=false in GDM config
Leave the large data drives untouched — they are for you to configure later. sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/' /etc/gdm3/custom.conf
# Verify the line is now active (should print: WaylandEnable=false)
grep WaylandEnable /etc/gdm3/custom.conf
# Restart the display manager to apply
sudo systemctl restart gdm3
```
After GDM restarts, log back in. Verify Xorg is active:
```bash
echo $XDG_SESSION_TYPE # should print: x11
```
> **Why this matters beyond WinApps:** Wayland also has issues with some GPU
> passthrough configurations, screen sharing tools, and remote desktop clients.
> Xorg is the more stable choice for a server-side desktop running inside a VM.
---
### Step 11.14 — Install Ubuntu in VM 101
Start VM 101, open the console, and work through the Ubuntu Desktop installer.
Use `vm101` as the hostname. When prompted for storage, install only to the
64 GiB OS disk — leave the data drives untouched.
After first login, disable Wayland on VM 101 as well (same command as Step 11.13):
```bash
sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/' /etc/gdm3/custom.conf
sudo systemctl restart gdm3
```
**VM 102 (Windows 11):** Boot from the Windows 11 ISO, work through the
installer. Use `windows-sync` as the hostname. Install to the 128 GiB OS disk.
After install, format the dedicated Sync.com data drive as NTFS in Disk
Management, then install the Sync.com desktop client and point it at that drive.
--- ---