ASUS TUF GAMING B460-PLUSでのESXi GPUパススルー
自宅サーバー買い替えのため、マザーボードも当然変更しESXiをインストール、さらにGPUパススルーをしようとしたのですが、ちょっとはまって焦ったので備忘録として残しておきます。
結論から言えば、ASUS TUF GAMING B460-PLUSでも問題なくESXiでGPUパススルーは可能です。
まず最初のはまりポイントは、ESXi 6.7 & 7.0どちらをインストールしようとしても "No Network Adopters"のエラーが出てインストールできない。これはよくある話なので、ググってみるとB460-PLUSのLANコントローラはインテル製ですが、I219-Vでカスタマイズしないとインストールできないという記事はたくさん見つかります。特に多いのがDevice ID=0x15bcのI219-Vコントローラに対するカスタマイズ記事で、私も最初は先人が残してくれた記事通り実施すれば問題なくインストールできると信じてましたが、何度やってもうまくいきません。
もしやと思い、ESXiではなくUbuntuをインストールし、lspciのコマンドでDevice IDを確認します。予想通り、15bcではありません。B460-PLUSにのっているI219-VはDevID=0x0d55でした。VMwareのサイトでこのIDを調べてみると公式にはサポートされていません。
さらに調べていくと、第10世代のインテル NUCに同じコントローラがのっており下記のページが見つかります。
一口にI219-Vといっても、下記の種類のDevice IDがあることがわかりました。
- 8086:0d4e - Ethernet Connection (10) I219-LM
- 8086:0d4f - Ethernet Connection (10) I219-V
- 8086:0d4c - Ethernet Connection (11) I219-LM
- 8086:0d4d - Ethernet Connection (11) I219-V
- 8086:0d53 - Ethernet Connection (12) I219-LM
- 8086:0d55 - Ethernet Connection (12) I219-V
- 8086:15fb - Ethernet Connection (13) I219-LM
- 8086:15fc - Ethernet Connection (13) I219-V
- 8086:15f9 - Ethernet Connection (14) I219-LM
- 8086:15fa - Ethernet Connection (14) I219-V
- 8086:15f4 - Ethernet Connection (15) I219-LM
- 8086:15f5 - Ethernet Connection (15) I219-V
- 8086:1a1e - Ethernet Connection (16) I219-LM
- 8086:1a1f - Ethernet Connection (16) I219-V
- 8086:1a1c - Ethernet Connection (17) I219-LM
- 8086:1a1d - Ethernet Connection (17) I219-V
さらに、VMwareのcomunitiyにてne1000 VIBのoffline bundleを配布していることもわかりました。
これがわかれば後は簡単で、上記ドライバを組み込んだカスタムISOファイルを作りインストールするだけです。
方法の詳細は別のサイトで解説あるため省略しますが、簡単には下記となります
1. VMWareのサイトから対象のESXiのOfflie Bundleをダウンロード。例えばESXi 6.7 U3ならupdate-from-esxi6.7-6.7_update03.zip
2. ESXi-Customizer-PS.ps1 をGit Hubからダウンロード
4. 適用するドライバをvibsフォルダの下に入れて、下記コマンドを実行
.\ESXi-Customizer-PS.ps1 -izip .\update-from-esxi6.7-6.7_update03.zip -pkgdir vibs
ローカルのoffline bundleをダウンロードしなくても、izipのオプションなしでインターネット経由で自動ダウンロードする方法もありますが、途中TLS1.2対応などのエラーが発生する可能性があるので、ここでは確実なローカルで完結する方法をとっています。
これで無事にESXiをインストールできたのですが、次のはまりポイントとして、GPUパススルーするためにiGPUをdisableしたいのだが、BIOSに該当メニューがない・・
これまで使っていたASUSのマザボのBIOSにはSystem Agantの下にiGPU Multi Monitorの項目があり、そこでdisableを設定することでiGPUをdisableすることができました。逆にこれを設定しないとGPUパススルーができません。
ところが購入直後のB460-PLUSのBIOSメニューには該当のメニューがありません。まさかZ490チップセットだけに会ってB460には存在しないのかと頭を抱えましたが、ダメもとでBIOSアップデートしたところメニューが追加されました!
初期のBIOSバージョンを控えるのを忘れたのですが、少なくとも2020/8/12リリースのversion 1401であればiGPU Multi Monitorの設定項目は存在し、ここでdisableを設定することで問題なくGPUパススルーは可能です。