IOMMU is enabled but not present

EddieNahas

Member
Aug 14, 2021
1
0
6
38
Hi, I need help urgently with my Proxmox server
I had a complete power loss last night and when everything is recovered and I booted up my server again, all the VMs that have PCI devices pass-through didn't boot up giving error IOMMU is not present

I have checked all my config files and it shows that it is configured correctly
1628953647711.png
1628953661485.png

even demsg verification show that it is enabled
1628953679872.png

also I have checked my BIOS and verified that VT-d and VT-x is enabled

when I try to add a new PCI device to any VM it shows that IOMMU is not detected
1628953703025.png

my hardware is HP Z840 with dual Intel(R) Xeon(R) CPU E5-2695 v3 running Proxmox 7.0-11

any Idea what went wrong and how to fix it?

Regards,
Eddie
 
Which method of booting are you using? GRUB, which uses /etc/default/grub or systemd-boot, which uses /etc/kernel/cmdline.
You can check which kernel parameters are actually passed with cat /proc/cmdline.
Don't forget to run update-initramfs -u after changes to the kernel parameters and/or configuration files in /etc/modprobe.d/
for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nnks "${d##*/}"; done is a nice way to check if IOMMU is working. It works when you see multiple groups and you can check which devices are properly isolated (no other devices in the same group except for PCI bridges)for PCI passthrough.