お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2021-08-14 20:09:53

JunShiozawa
メンバ
登録日: 2020-04-17

セキュアブート有効でのUbuntuホストでセキュアブート有効のWindows 10ゲストのKVMのVT-dのGPUパススルー

お世話になっております。

セキュアブート有効での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仮想マシンの
セキュアブートを無効にしましょう、みたいな
ご回答はいらないです。

オフライン

 

#2 2021-08-15 05:54:05

ry
メンバ
登録日: 2008-07-30

Re: セキュアブート有効でのUbuntuホストでセキュアブート有効のWindows 10ゲストのKVMのVT-dのGPUパススルー

2016年の記事なので、この後より使いやすいように UI が変更されている可能性もありますが、一応参考までに、

第446回 QEMU/KVMでセキュアブートを利用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

オフライン

 

#3 2021-08-15 07:55:26

JunShiozawa
メンバ
登録日: 2020-04-17

Re: セキュアブート有効でのUbuntuホストでセキュアブート有効のWindows 10ゲストのKVMのVT-dのGPUパススルー

ryさま

貴重な情報を本当にありがとうございます!

第446回 QEMU/KVMでセキュアブートを利用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

ざっと拝見いたしました

今日、職場から帰ったら勉強してみたいと思います。

本当にありがとうございます。

ryさま

今後ともよろしくお願いいたします。

オフライン

 

#4 2021-08-18 10:16:31

JunShiozawa
メンバ
登録日: 2020-04-17

Re: セキュアブート有効でのUbuntuホストでセキュアブート有効のWindows 10ゲストのKVMのVT-dのGPUパススルー

お世話になっております。

ご案内にありました

第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とかで質問したほうがよいのでしょうか?

オフライン

 

#5 2021-08-19 06:21:05

ry
メンバ
登録日: 2008-07-30

Re: セキュアブート有効でのUbuntuホストでセキュアブート有効のWindows 10ゲストのKVMのVT-dのGPUパススルー

ダウンロードした MicCorUEFCA2011_2011-06-27.crt は DER 形式なので、DER 形式への変換は不要です。 ダウンロードしたファイルの拡張子を .der にリネームするか、続く手順のファイル名の拡張子を .crt に読み替えればよさそうです。

ダウンロードしたファイルが参考 Web ページ記載のファイル名から変わっていることから、マイクロソフト側で PEM から DER への切替を含む修正があったのでしょう。

オフライン

 

#6 2021-08-25 15:12:32

JunShiozawa
メンバ
登録日: 2020-04-17

Re: セキュアブート有効でのUbuntuホストでセキュアブート有効のWindows 10ゲストのKVMのVT-dのGPUパススルー

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パススルーの問題が残っております。

よろしくご指導いただければ、と思います。

オフライン

 

#7 2021-08-31 16:20:29

JunShiozawa
メンバ
登録日: 2020-04-17

Re: セキュアブート有効でのUbuntuホストでセキュアブート有効のWindows 10ゲストのKVMのVT-dのGPUパススルー

Windows 10ゲストのKVMのVT-dのGPUパススルーの問題も自己解決できました。
ありがとうございます。
また、よろしくお願いいたします。

オフライン

 

Board footer

Powered by FluxBB