デフォルトでインストールされるマシン 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 コントローラハードドライブが正常に認識されることを確認します