I recently migrated a batch of VMs from ESXi to Proxmox. It looked simple at first — export VMDKs, import them, tweak the settings — but a few VMs just wouldn’t boot.
After digging in, I found the main culprits:
- Windows VMs crashed with 0x7B (Inaccessible Boot Device) due to mismatched controller types (SCSI → VirtIO).
- Linux VMs failed to boot because missing initrd modules didn’t include the new drivers.
- BIOS/UEFI mode mismatches caused some VMs to skip the boot loader entirely.
Here’s what worked for me:
1️⃣ Match the same controller type (SATA/SCSI/VirtIO) as on the source.
2️⃣ Boot using the original mode to repair the bootloader.
3️⃣ For Linux, rebuild the initrd (dracut
or update-initramfs
).
4️⃣ For Windows, inject VirtIO drivers or revert to LSI/SCSI before migration.
Lesson learned: VM migration isn’t just “export–import.” Verify hardware compatibility at every step — or you’ll be staring at “Boot failed” at 2 a.m. wondering where it all went wrong.