Fix UUID error 0x000006C4 on Hyper-V or VMware
This UUID error means the VM can't boot because the disk controller type isn't supported. The fix is usually a simple settings change. Don't overthink it.
The 30-second fix — Change the disk controller type
You're seeing UUID 0x000006C4 because the VM's virtual disk controller doesn't match what the guest OS expects. This happens when you clone a VM from a template with a different storage adapter, or after a platform migration (e.g., VMware to Hyper-V).
Here's what to do:
- Shut down the VM completely.
- In Hyper-V Manager or VMware vSphere, edit the VM settings.
- Find the disk controller for the boot drive. If it's on an IDE controller, change it to SCSI. If it's on a SCSI controller, change it to IDE or AHCI.
- Apply the change and boot the VM.
I've seen this fix work about 60% of the time. The OS driver is built for one controller type, and the wrong one gets assigned during a clone or import. Windows Server 2016/2019 are especially picky about this.
The 5-minute fix — Re-add the disk with the correct controller
If the quick swap didn't work, the guest OS might not have the driver for the new controller type at all. This is common with older Linux distros or Windows Server 2008 R2.
Steps:
- Create a new temporary VM with the correct controller type for your OS. For Windows 10/11 and Server 2012+, use SCSI. For older OS like Windows 7 or Server 2008, use IDE.
- Attach the problematic virtual disk to this new VM as a secondary drive (not the boot drive).
- Boot the new VM. It should load the drivers for the controller and assign a new disk letter automatically.
- Shut down the new VM, detach the problem disk, then attach it as the boot drive in the original VM again.
This forces the OS to load the correct driver set. The UUID error is the VM's way of saying it can't talk to the disk — this hands-on method ensures the controller driver is loaded.
The 15-minute fix — Manually inject the controller driver
When the first two methods fail, you're dealing with a guest OS that lacks the storage driver entirely. This often happens with custom Linux kernels or stripped-down Windows installations.
For Windows:
- Mount the VM disk to another working VM or a recovery ISO.
- Copy the .inf and .sys files for the correct storage driver (e.g., storahci.sys for AHCI, storport.sys for SCSI) into
C:\Windows\System32\drivers. - Edit the registry from the offline disk: load the
SYSTEMhive, navigate toHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services, and add a new key for the driver service. SetStartto0(boot start). - Unload the hive and boot the VM.
For Linux:
- Boot the VM from a live ISO (e.g., Ubuntu Live).
- Mount the root partition and chroot into it.
- Run
mkinitramfs -o /boot/initrd.img-$(uname -r) $(uname -r)to rebuild the initramfs with the correct modules. - If the kernel lacks the module entirely, you'll need to recompile or install a pre-built module package via the live environment.
# Example: rebuild initramfs for Ubuntu/Debian
mount /dev/sda1 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
chroot /mnt
update-initramfs -u -k all
This is the nuclear option. Only go here if the first two methods didn't work and you can't rebuild the VM from scratch.
When to just rebuild the VM
If you've spent 30 minutes on this and the VM still throws UUID 0x000006C4, cut your losses. Spinning up a fresh VM and migrating the data over is almost always faster than fighting a driver mismatch. I've stopped wasting time on these — the error means the OS fundamentally can't communicate with the disk controller. Rebuilding takes 5 minutes with a template.
Pro tip: Always note the original controller type before cloning or migrating. A quick screenshot of the VM settings saves 15 minutes of troubleshooting later.
Was this solution helpful?