← All break/fix scenarios in Proxmox VE
VM with virtio-scsi disk hangs at boot with no kernel output
Reported symptoms
- ●VM starts but the console shows nothing (or "Guest has not initialized the display")
- ●qm status shows "running" but no console output
- ●Recently changed the disk controller from IDE to virtio-scsi
- ●Or migrated the VM from a non-virtio platform
Evidence
- · qm config <vmid> shows scsihw: virtio-scsi-single but the guest has no virtio drivers
- · qm monitor <vmid> shows "info status" returns "running" but the guest OS has not booted
- · kvm process is running with normal CPU usage but no I/O activity on the disk
Diagnosis and resolutionclick to reveal
Root cause
The guest OS does not have virtio-scsi drivers installed. This is most common with: - Older Windows VMs that predate virtio support - Linux VMs installed without virtio modules in the initramfs - VMs migrated from non-virtio platforms (VMware PVSCSI, Xen blktap)
Remediation
The fix is to boot the VM with a temporary IDE or SATA disk controller that the guest OS can see, install the drivers, then switch back to virtio-scsi. 1. Shut down the VM: `qm shutdown <vmid> --timeout 30 --forceStop 1` 2. Add a temporary IDE disk matching the boot disk: `qm set <vmid> --ide0 local-lvm:vm-<vmid>-disk-0,format=qcow2` 3. Set the boot order to use ide0: `qm set <vmid> --boot order=ide0` 4. Boot the VM and install virtio drivers: - Windows: mount the virtio-win ISO and run the installer - Linux: regenerate initramfs with virtio_blk / virtio_scsi 5. Shut down, remove the temporary disk: `qm set <vmid> --delete ide0` 6. Restore boot order to scsi0: `qm set <vmid> --boot order=scsi0` 7. Boot and verify.
Verification
- VM boots cleanly to the OS login screen - Inside the guest, `lspci` (Linux) or Device Manager (Windows) shows the virtio-scsi controller with no errors - Disk performance is normal (4-10x improvement over IDE) - `qm config <vmid>` shows scsihw: virtio-scsi-single and no ide0
Prevention
- Always install virtio drivers in guest VMs before switching disk controllers - Use cloud-init images that ship with virtio drivers - For Windows, include the virtio-win ISO in the build pipeline - Add a validation step to your VM creation process