
Ubuntu日本語フォーラム
ログインしていません。
お世話になっております。
セキュアブート有効でのUbuntuホストで
セキュアブート有効のWindows 10ゲストの
KVMのVT-dのGPUパススルーにつきまして
ご指導いたただきたく思います。
ホストのLinuxも
ゲストのWindows 10もセキュアブートは前提ではなく
Linux Mint向けの記事(著者によるとUbuntu 18.04 LTSでも同じ手順でできました、とのこと。)ですが
https://engetu21.hatenablog.com/entry/2018/04/03/003642
を参考にしながら
ホストのLinuxも
ゲストのWindows 10もセキュアブートで
試しいてたところ
$ sudo vi /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvm
kvm_intel
上記を追記して上書き保存
※この段階で一度再起動する
$ lsmod | grep vfio
何も出力されません。
↑参考Webサイトの例とは異なります
参考Webサイトでは
vfio_pci 40960 0
vfio_virqfd 16384 1 vfio_pci
irqbypass 16384 2 kvm,vfio_pci
vfio_iommu_type1 24576 0
vfio 28672 2 vfio_iommu_type1,vfio_pci
と出力されています。
$ lsmod | grep kvm
kvm_intel 294912 0
kvm 819200 1 kvm_intel
↑参考Webサイトの例とは異なります(参考Webサイトで言うところのirqbypass 16384 2 kvm,vfio_pciの表記がありません)
$ lspci -v -d 1002:683f | grep Kernel
Kernel modules: radeon, amdgpu
↑参考Webサイトの例とは異なります(Kernel driver in use: vfio-pciの表記がありません)
$ lspci -v -d 1002:aab0 | grep Kernel
Kernel modules: snd_hda_intel
↑参考Webサイトの例とは異なります(Kernel driver in use: vfio-pciの表記がありません)
VT-dのGPUパススルーを使用しないKVMではゲストのWindows 10が動作しました。
ホストのUbuntuにIntelのCPU内蔵GPUを
使用し
ゲストのWindows 10にRadeonを
使用する予定です。
GeForceは使用しないので
参考Webサイトの
9.vendor id偽装
は行っておりません。
このPCでセキュアブートを無効にすると
GPU以外の周辺機器のIntel VT-dパススルーは可能でした。
問題の原因の推測として
上記の
$ sudo vi /etc/modules
がUbuntuを再起動しても反映されていないように思います。
参考Webサイトの他の部分はエラー無くうまく行っております。
ゲストOSがセキュアブートだと違う設定になるのでしょうか?
僕の設定のうっかりミスがありますでしょうか?
ご指導いただけるとありがたいです。
今回のゲストOSはWindows 10ですが
Windows 11でセキュアブートが義務化されることから
今後、Windows 11以降のゲストOSで
セキュアブートを無効にするアプローチが
できなくなることから
ゲストOSがセキュアブートであるKVMを学びたいと思うので
ゲストOSをインストールするKVM仮想マシンの
セキュアブートを無効にしましょう、みたいな
ご回答はいらないです。
オフライン
2016年の記事なので、この後より使いやすいように UI が変更されている可能性もありますが、一応参考までに、
第446回 QEMU/KVMでセキュアブートを利用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
オフライン
ryさま
貴重な情報を本当にありがとうございます!
第446回 QEMU/KVMでセキュアブートを利用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
ざっと拝見いたしました
今日、職場から帰ったら勉強してみたいと思います。
本当にありがとうございます。
ryさま
今後ともよろしくお願いいたします。
オフライン
お世話になっております。
ご案内にありました
第446回 QEMU/KVMでセキュアブートを利用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
を読みながら
http://go.microsoft.com/fwlink/p/?linkid=321194
MicCorUEFCA2011_2011-06-27.crt
を
~/ダウンロード
に「保存(S)」し
~/mysecureboot/mymaster$ openssl x509 -in ${HOME}/ダウンロード/MicCorUEFCA2011_2011-06-27.crt -inform PEM -out myMicCorUEFCA2011_2011-06-27.der -outform DER
としたところ
unable to load certificate
140198688408896:error:0909006C:PEM routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
とエラーが出てしまいます。
エラーの原因がおわかりの方いらっしゃいますでしょうか?
・・・もはやここではなくRedditとかで質問したほうがよいのでしょうか?
オフライン
ダウンロードした MicCorUEFCA2011_2011-06-27.crt は DER 形式なので、DER 形式への変換は不要です。 ダウンロードしたファイルの拡張子を .der にリネームするか、続く手順のファイル名の拡張子を .crt に読み替えればよさそうです。
ダウンロードしたファイルが参考 Web ページ記載のファイル名から変わっていることから、マイクロソフト側で PEM から DER への切替を含む修正があったのでしょう。
オフライン
ryさま
お世話になっております.
試行錯誤してみたところ
$ sudo virt-manager
「仮想マシンマネージャー」のメニューの「ファイル(F)」>「新しい仮想マシン(N)」
「5/5」の「インストールの前に設定をカスタマイズする(U)」のチェックボックスをオンにする.
「完了(F)」ボタンをクリックする。
「QENU/KVM 上のmyhoge」のウィンドウが開くので
「概要」の「詳細(D)」タブの「ハイパーバイザーの情報」の
「チップセット(T):」を「Q35」に変更する.
「Firmware:」を「UEFI x86_64: /usr/share/OVMF/OVMF_CODE.ms.fd」に変更する(UEFIセキュアブート有効).
右下の「適用(A)」ボタンをクリックする.
これでKVM仮想マシンでのUEFIセキュアブート有効となることを発見しました.
KVM仮想マシンのUEFIセキュアブート有効化の問題につきましては
とりあえず解決しました.
ryさま
貴重なお時間を割いてご指導いただき
本当にありがとうございます。
これからもよろしくお願いいたします。
まだWindows 10ゲストのKVMのVT-dのGPUパススルーの問題が残っております。
よろしくご指導いただければ、と思います。
オフライン
Windows 10ゲストのKVMのVT-dのGPUパススルーの問題も自己解決できました。
ありがとうございます。
また、よろしくお願いいたします。
オフライン