預設安裝的機器 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 控制器硬碟