默认安装的机器Marvell 88SE9230 SATA控制器中会有一个错误
解决方法:
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控制器硬盘