[SOLVED] Debian 11 not booting with "VirtIO SCSI Single" but works with "VMware PVSCSI"

EpicLPer

Member
Sep 7, 2022
47
6
8
29
Austria
epiclper.com
Heya,

I'm having a bit of an issue after moving my Debian 11 VM from ESXi over to Proxmox. It boots just fine when using "VMware PVSCSI" but entirely refuses to boot properly when using "VirtIO SCSI Single", it only hangs. It first runs through the GRUB sequence, loads ramdisk, then shows "Welcome to GRUB" which gradually gets overwritten by the boot log but it just stops at "Reached target Basic System", then hangs. At this point it never does anything further nor does it seem to timeout (haven't had it running for very long tho).

1712676357186.png

The "Welcome to GRUB!" text is a leftover of the other text being displayed from the BIOS still.
1712676376552.png

I've already checked that the UUID is the same after moving from VMware PVSCSI to VirtIO SCSI Single, it all checks out. What else can I check/do?

My VM config:
Code:
agent: 1
boot: order=scsi0
cores: 8
cpu: host
ide2: local:iso/gparted-live-1.6.0-3-amd64.iso,media=cdrom,size=528M
memory: 6144
meta: creation-qemu=8.1.5,ctime=1711934694
name: DebianDocker1
net0: virtio=XXXXX,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
parent: BeforeSCSITests
scsi0: local-lvm:vm-101-disk-0,cache=writeback,discard=on,iothread=1,size=100G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=XXXXX
sockets: 1
vmgenid: XXXXX

Another info, maybe it helps: I have a Windows Server VM on the same host which also refuses to use the VirtIO SCSI drivers, despite installing them properly. Not sure if it's some kind of "host fault", but just mentioning it in case.


Thanks!
 
Just migrated half-dozen Linux RHEL clones VMs from ESXi 7.x to Proxmox 8.1.x.

The steps are:

1) Remove open-vm-tools from ESXi VM
2) Install qemu-guest-agent on ESXi VM
3) Remove ESXi networking from ESXI Linux VM
4) Remove ESXi Linux VM networking config file
5) Run as root 'dracut -fv -N --regenerate-all' (this installs all drivers)
6) Shutdown VM
7) Run Proxmox ESXi importer
8) Adjust Proxmox VM hardware & options settings
9) Add VirtIO Networking virtual NIC
10) Power on VM and configure networking
11) Profit $$$
 
  • Like
Reactions: bradford
Just migrated half-dozen Linux RHEL clones VMs from ESXi 7.x to Proxmox 8.1.x.

The steps are:

1) Remove open-vm-tools from ESXi VM
2) Install qemu-guest-agent on ESXi VM
3) Remove ESXi networking from ESXI Linux VM
4) Remove ESXi Linux VM networking config file
5) Run as root 'dracut -fv -N --regenerate-all' (this installs all drivers)
6) Shutdown VM
7) Run Proxmox ESXi importer
8) Adjust Proxmox VM hardware & options settings
9) Add VirtIO Networking virtual NIC
10) Power on VM and configure networking
11) Profit $$$
How exactly are step 3 and 4 done? Can try these, hope step 5 is also the same for Debian. Always thought drivers on Linux are built into the Kernel anyways and used then needed?
 
How exactly are step 3 and 4 done? Can try these, hope step 5 is also the same for Debian. Always thought drivers on Linux are built into the Kernel anyways and used then needed?
Nope. That would be one huge kernel. Usually they are loaded from the initramfs. If the driver you need doesn't happen to be in the initramfs after you transplant the VM you would need to rebuild it. That's what the dracut command does in the above post, but that's for Red Hat based distros. The command for Debian distros is "update-initramfs".

So try this. Add the virtio-scsi as a second controller, run "update-initramfs -u -k all". Then shut down, attach the root disk to the virtio controller, remove the VMWare controller and restart. Then you can uninstall the VMWare tools.
 
Nope. That would be one huge kernel. Usually they are loaded from the initramfs. If the driver you need doesn't happen to be in the initramfs after you transplant the VM you would need to rebuild it. That's what the dracut command does in the above post, but that's for Red Hat based distros. The command for Debian distros is "update-initramfs".

So try this. Add the virtio-scsi as a second controller, run "update-initramfs -u -k all". Then shut down, attach the root disk to the virtio controller, remove the VMWare controller and restart. Then you can uninstall the VMWare tools.
Thanks! This seems to have been the solution, even if I had a few steps in between still :)

For other people:
  1. From the above steps:
    1. Remove open-vm-tools from ESXi VM
    2. Install qemu-guest-agent on ESXi VM
  2. Detach the disks and attach them as SATA disks
  3. Set the SCSI controller to "VirtIO SCSI Single"
  4. Boot the Debian VM and run "update-initramfs -u -k all"
    1. For me the "update-initramfs" command was missing even in "/sbin" for whatever reason, to install do "apt install initramfs-tools" and then run the command again
  5. Shut the VM down, detach the hard disk and reattach it again as "SCSI"
At this point the VM should work without any issues!

I couldn't find anything on how to remove the ESXi network config but as it's working right now I'll leave it as is I guess :)
 
Last edited:
I couldn't find anything on how to remove the ESXi network config but as it's working right now I'll leave it as is I guess :)
Maybe just look at /etc/network/interfaces if there are leftovers. If the machine still has its fixed assigned IP, then it has probably just worked fine.
 
Maybe just look at /etc/network/interfaces if there are leftovers. If the machine still has its fixed assigned IP, then it has probably just worked fine.
Yeah I used the same MAC I had on ESXi to get the same IP again, haven't had any issues even switching to the Virt network driver.
 
Thanks! This seems to have been the solution, even if I had a few steps in between still :)

For other people:
  1. From the above steps:
    1. Remove open-vm-tools from ESXi VM
    2. Install qemu-guest-agent on ESXi VM
  2. Detach the disks and attach them as SATA disks
  3. Set the SCSI controller to "VirtIO SCSI Single"
  4. Boot the Debian VM and run "update-initramfs -u -k all"
    1. For me the "update-initramfs" command was missing even in "/sbin" for whatever reason, to install do "apt install initramfs-tools" and then run the command again
  5. Shut the VM down, detach the hard disk and reattach it again as "SCSI"
At this point the VM should work without any issues!

I couldn't find anything on how to remove the ESXi network config but as it's working right now I'll leave it as is I guess :)
From vCenter, you edit the VM settings and remove networking. Or use the ESXi host UI and do it from there.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!