Loading... 默认安装的机器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控制器硬盘 最后修改:2024 年 01 月 20 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 72 如果觉得我的文章对你有用,请随意赞赏