Skip to content
A licence key moving from a PC's firmware into a single virtual machine

Moving an OEM Licence Into a Proxmox VM, and What Moves With It

An OEM licence for the Fisher-Price OS (Windows) lives in the PC’s firmware as an ACPI table called MSDM, and QEMU will pass any such table to a guest without checking it. This covers what the table holds, a validator that refuses malformed tables before QEMU silently repairs their headers, storing them in the private half of the Proxmox cluster filesystem, Microsoft’s terms on moving an OEM licence, the one case they plainly allow, taking the table straight from the host when the licensed machine is the hypervisor, and why MAK, KMS, Active Directory and AVMA activation never touch the table.

4th October 2026 Â· 11 min Â· 2595 words Â· Damien Dye
A virtual machine's boot screen with the hypervisor's logo replaced by a product's own

Branding a Proxmox VM, and Keeping It Branded Through the Next Upgrade

A stock Proxmox VM shows Proxmox’s logo at boot, says Proxmox in its firmware vendor string and calls itself QEMU in every SMBIOS table. This replaces all of it with your product’s name: SMBIOS types 0, 1, 2, 3 and 11 with the serial number and SKU filled from the VM’s own name and size, the SeaBIOS splash and its colour trap, a branded OVMF built from Proxmox’s own tree or an option ROM driver that replaces the logo and the BGRT under Secure Boot without touching the firmware, and the web interface logo. Every change is placed so an upgrade cannot quietly undo it, and the one an upgrade can leave dangerously stale, the firmware, gets a hook that says so.

4th October 2026 Â· 24 min Â· 5661 words Â· Damien Dye
One KVM kernel module beneath five different management stacks

Proxmox VE Is Not a Hypervisor — KVM Is, and You Are Already Running It

“Is Proxmox enterprise grade?” is a question about the hypervisor, and Proxmox VE does not contain one. The hypervisor is KVM — the same kernel module underneath EC2, Google Cloud, Alibaba Cloud, Nutanix AHV and OpenShift Virtualisation. What Proxmox really maintains, why the type 1 argument is aimed at the wrong line, and what the shared foundation does not buy you.

12th August 2026 Â· 26 min Â· 5483 words Â· Damien Dye
Three storage tiers: Optane absorbing writes, NVMe holding Ceph metadata, and HDDs providing bulk capacity

Making HDD-Backed Proxmox Ceph Clusters Fast — NVMe Metadata, One Optane Per Spindle, and What It Costs You

Flash pricing has made all-NVMe hard to justify, and enterprise HDDs are worth another look. Getting acceptable latency out of them on hyper-converged Proxmox Ceph means moving RocksDB off the spindle, pairing each disk with its own Optane through bcache — Optane specifically, because NAND endurance is wrong for that job — and being honest about the failure modes it buys you.

7th August 2026 Â· 35 min Â· 7359 words Â· Damien Dye
One physical GPU split into virtual functions handed to separate Windows desktops

Licence-Free Windows VDI on Proxmox with an Intel Arc Pro B50 — and the Firmware Limit That Stopped It

Intel’s Arc Pro cards do SR-IOV natively, with no vGPU licence to buy — which makes a licence-free Windows VDI on Proxmox genuinely possible. The whole build on a B50, the Windows-first bootstrap problem, why the firmware caps it at two virtual functions, and how many each card in the B-series gives you.

7th August 2026 Â· 16 min Â· 3385 words Â· Damien Dye
Three Proxmox nodes wired in a triangle mesh with direct cables and no switch

A Switchless Proxmox Mesh with SDN OpenFabric — Ceph and Client Networks Without a 100G Switch

Three Proxmox nodes wired directly to each other in a triangle, with OpenFabric routing over the mesh and Ceph plus VXLAN client networks riding on top. Built entirely in the web interface, and honest about where the design stops scaling.

7th August 2026 Â· 14 min Â· 2783 words Â· Damien Dye
Kernel boot flags sorted into a host column and a guest column

Two Boot Lines — Which Kernel Flags Belong on a Proxmox Host, and Which Belong in the Guest

Most Proxmox tuning lines you find online are one blob of kernel flags. Half of them belong on the hypervisor, half belong inside the guest, two of the popular ones do nothing at all, and a few change meaning depending on which side of the boundary they land.

7th August 2026 Â· 14 min Â· 2953 words Â· Damien Dye
An emulated NVMe controller beside a VirtIO SCSI path, with Proxmox unable to see the former

A Virtual NVMe Device in Proxmox — and the Three Things You Give Up

QEMU can emulate a real NVMe controller, so the guest uses its own in-box NVMe driver with no VirtIO media required. It is also unmigratable by design, invisible to Proxmox backups, and no faster than VirtIO SCSI. Here is how to add one and when it is worth it.

7th August 2026 Â· 10 min Â· 2025 words Â· Damien Dye
A guest clock drifting away from the host clock, and a hypercall pulling it back

A VM's Clock Cannot Be Trusted — and the ptp_kvm Fix for QEMU/KVM

A virtual machine’s clock is built on an assumption virtualisation breaks: that the CPU keeps counting. Why guest time drifts on every hypervisor, what the skew actually breaks — Kerberos, TLS, Ceph, Windows — and how ptp_kvm fixes it properly on QEMU/KVM.

7th August 2026 Â· 14 min Â· 2897 words Â· Damien Dye
Eight 512-byte logical blocks mapped onto one 4K physical sector, beside a one-to-one 4K mapping

4Kn, 512e and 512n — Why Native 4K Wins, and What the Emulation Costs

512e drives present 512-byte sectors they do not have, and the firmware makes up the difference on every unaligned write. What that costs on the medium, in the host and in write amplification — why direct synchronous writes are the worst case — and how to convert a fleet to 4Kn.

7th August 2026 Â· 26 min Â· 5489 words Â· Damien Dye