vSphere Windows10ゲスト GPU パススルー

仮想Windows10でNvidia GeForce1650 をパススルーしてみます。
unRaid等の方がパススルー設定が簡単とか言われたりもしてますが、
グラボ1枚ではunRaidではパススルーはできません (オンボードグラフィックも利用できない)
hyper-vのDDAであればオンボ&グラボの組み合わせも可ですがXeon CPUのマシンではオンボグラフィックがそもそもありません。
ですのでサーバー用PCでのグラボ1枚でパススルーするなら現時点ではVM wareかCitrixのハイパーバイザーが最適ですので、今回は Esxiで行った備忘録です。

vSphere Web Client でホスト→管理を開いた後、ハードウェアタブを押します。
該当するグラボを見つけ、左のチェックマークを付けた後に[パススルーの切り替え]を押します。
vSphereホストを再起動します。

☆vSphere にEFIブートでWindowsゲストを作成
新規仮想マシンを押します。

ゲストOSファミリ には Windowsを、ゲストのOSバージョンではWindows10を選びます。

CPU数やメモリ、HDD、ネットワークの設定をします。

注)メモリの設定の時に必ず[すべてのゲストメモリを予約]にチェックをつけるようにしてください。

その他のデバイスの追加を押し、PCIデバイスを押します。
同じ事を2回します (グラボにはグラフィックとサウンドで2デバイス備わってる為)

追加したPCIデバイス2個がグラボ名と<class> audio deviceになっていればOKです。

仮想マシンオプションを押し、ファームウェアのところをEFIにし、
UEFIセキュアブートのチェックを外します(ここ重要)

そのまま下の方の構成パロメータのところの[構成の編集]を押します。

パロメータの追加を押し、
キーのところに hypervisor.cpuid.v0 を、
値のところに FALSE
と入力してOKを押します。(Nvidia の仮想PC検知を回避)

ここまでできたら設定したゲストOSを起動してWindowsをインストールしましょう。
本来ならWindowsにログオンしたらNvidiaのサイトからドライバをダウンロードしてインストールするはずですが、パススルーの場合はしません。
Windowsが自動的にNvidiaドライバーをすぐに入れてくれるので待ちます。

ドライバーがインストールされると無事Nvidiaコントロールパネルが開きます。
しかし、そのままではWindows再起動やシャットダウン時にドライバが無効化されてしまい、
その後の起動時には Nvidia43エラーになってグラボが使用不可になります。

こうなるとゲストマシン設定のPCIデバイスから一度グラボを消し、Sphereホストを再起動して再度グラボを割り当てるまでグラボが仮想マシンで使えません。

その為、WindowsがNvidiaドライバを自動で入れてくれたら、再起動やシャットダウン等をする前に以下の手順を行う必要があります。

☆43エラー回避
続きは画像編集後に追記します


コメント