VirtIO drivers after kernel update in migrated RHEL VMs

whiney

New Member
Apr 29, 2025
12
1
3
Hi everyone,

I'm currently testing the migration of VMs from VMware to Proxmox VE using the built-in import wizard. So far, I’ve successfully migrated several Linux-based VMs (AlmaLinux, Debian, RHEL).

On RHEL-based systems, I encountered the common issue where the VM wouldn't boot due to missing VirtIO drivers (I am using VirtIO SCSI and VirtIO paravirtualized for network). I followed the official Proxmox documentation here:
https://pve.proxmox.com/wiki/Paravirtualized_Drivers_for_Linux
After loading the necessary VirtIO modules and regenerating the initramfs, the system booted correctly under Proxmox.

Now here’s my question:
Once the VM is running on Proxmox and a new kernel gets installed during a future system update, will the new initramfs automatically include the necessary VirtIO drivers? Or do I need to manually repeat the process each time?

From what I understand, RHEL systems generate initramfs images tailored to the current environment (host-only mode), so I’m wondering if simply running the VM on Proxmox is enough to make future initramfs generations include VirtIO modules by default. How could I test this reliably?

Thanks in advance for your insights.
 
Hi,
From what I understand, RHEL systems generate initramfs images tailored to the current environment (host-only mode), so I’m wondering if simply running the VM on Proxmox is enough to make future initramfs generations include VirtIO modules by default.
if that's the case, it likely depends on whether the guest can detect the virtualization. Which CPU type are you using for the VM? One with vendor QEMU like x86-64-v2-AES can easily be detected, while host is more difficult.

But it really depends on what exactly the tooling is doing, is it dracut or initramfs? If you added the modules to /etc/initramfs-tools/modules it should be included every time when using update-initramfs.
How could I test this reliably?
Re-check next time after the initramfs is regenerated.
 
Sorry, I just found that thread after I posted my question. I was trying to delete this post after, but I couldn't find any way to do so.

In case of debian based systems yes, the modules are written in /etc/initramfs-tools/modules so they should be included every time. In case of RHEL based systems, the documentation only says to use dracut with --add-drivers option. This will add drivers either for specific kernel or all installed kernel versions and after doing this, RHEL systems were able to boot.

My question was, if this wont cause problems after the new kernel is released since the dracut command was originally used only for older kernels and the modules are not written in any file.