江苏省吴江市双板桥路3号兴源网络

0512-63028342

ly@wjxy.net.cn

Proxmox VE 设置直通NO IOMMU

Intel CPU


shell里面输入命令:

nano /etc/default/grub

在里面找到:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

然后修改为

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

在更新一下

update-grub

重启一下

reboot

AMD CPU


shell里面输入命令:

nano /etc/default/grub

在里面找到:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

然后修改为

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on""

重启一下

reboot


备用方法:
解决方法:
1.BIOS开启iommu支持
2.ProxmoxVE系统中开启硬件直通与iommu
 
1.BIOS开启iommu支持
 
BIOS操作方法略过,但开启iommu有以下注意事项
描述
在HP ProLiant Gen10服务器(基于AMD)上并且使用启用了IOMMU的Intelligent Provisioning并安装任何版本的Microsoft Windows Server时,如果没有Microsoft的即时修复程序,操作系统将无法运行。
 
由于Windows的安装方式,通过F10功能安装的所有Windows Server OS版本都将失败。
 
范围
使用启用了IOMMU的Intelligent Provisioning并运行任何版本的Microsoft Windows Server的任何HP ProLiant Gen10服务器(基于AMD)。
 
解决方法
这是Microsoft和HPE的已知问题。
解决方法是,禁用IOMMU,照常安装Windows Server OS,然后从Microsoft应用所有必需的修补程序,然后在BIOS配置或Intelligent Provisioning BIOS设置(如果需要)中重新激活IOMMU
 
2.ProxmoxVE系统中开启硬件直通与iommu
 
nano /etc/default/grub
对于GRUB: 找到带有“ GRUB_CMDLINE_LINUX_DEFAULT”的行
对于systemd-boot(UEFI)创建用于systemd-boot的文件(格式为带有选项的单行)
 
Intel CPU
 
对于Intel CPU,添加intel_iommu=on iommu=pt,例如:
 
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt" 
保存更改并更新grub:
 
update-grub
或systemd-boot(UEFI):
 
pve-efiboot-tool refresh
然后重新启动宿主机,从命令行运行
 
dmesg | grep -e DMAR -e IOMMU
如果没有输出,则说明有问题。
 
AMD CPU
 
对于AMD CPU 添加amd_iommu=on iommu=pt, 例如:
 
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt" 
更改并更新grub:
 
update-grub
或systemd-boot(UEFI):
 
pve-efiboot-tool refresh
 
然后是修改/etc/modules文件
 
nano /etc/modules
添加如下内容
 
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
然后重新启动宿主机,成功识别Marvell SATA控制器硬盘

发表评论

邮箱地址不会被公开。 必填项已用*标注