概要
Windows11のゲストOS上でGPUパススルー出来ればいいなと思ったのでメモ。
方法
ググるとここなどにやり方を書いているのですが、どうもうまくいかない。
結局ここのやり方でうまくいきました。
ゲストOS
設定は次の通り。
- 世代は2で作成
- チェックポイント無効
- メモリは固定
- セキュアブート有効
ファイルコピー
- ホストOSのC:\Windows\System32\DriverStore\FileRepository\以下にあるnv_dispi.inf_amd64で始まるフォルダをゲストOSのC:\Windows\System32\HostDriverStore\FileRepository\ 以下にコピー
- ホストOSのC:\Windows\System32\以下にある nvで始まるファイルをゲストOSのC:\Windows\System32\にコピー
ホスト側からの設定
ここでいったんゲストOSを停止して、管理者モードで起動したPowerShellコマンドプロンプトから以下を打ち込む
$vm = "ENTER YOUR VM NAME HERE" Remove-VMGpuPartitionAdapter -VMName $vm Add-VMGpuPartitionAdapter -VMName $vm Set-VM -GuestControlledCacheTypes $true -VMName $vm Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
確認
ゲストOSを再度起動する。デバイスマネージャーからGPUが有効になっていることを確認。
タスクマネージャーではGPUが見られないので、Terminalなどで半透明にしたものが、透けて見えることで確認
ベンチマーク
FinalFantasy XV のベンチマークやってみました。
ホストOS
- Windows 11 Pro
- RTX 2060
- memory 32G
- Core i7 12700
ゲストOS
- Windows 10 Pro
- RTX 2060
- memory 16G
- Core i7 12700 CPU 10コア
ベンチマークパラメタ
- 高画質 2560×1440 ウインドウ
- ホストOS: 5025
- ゲストOS: 3960
若干ゲストOS側が悪くなりましたが、まあ使えるレベルですね