0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

続・TPMを使ってみる ~ BhyveゲストのWindows 11へのアップデート

Posted at

はじめに

一年ほど前にこういう記事を書きました。

しかし、Windows 11にアップデートしようとしたところ最終的にハングアップしてバージョンアップに失敗しています。
しかし、1年越しでようやく解決しました。結論から言うとTPM全く関係ないです。

せまるWindows10のサポート期限

ご存じの通り、2025年10月でWindows10のサポートが切れ、セキュリティアップデートが提供されなくなります。bhyveのゲストとはいえ、そのままにしておく訳にはいかないしなぁ...と考えてアップデートしてみることにしました。

まずはクリーンインストール

アップデートができないなら、クリーンインストールすればいいじゃない。
ゲストなんてなんぼでも作れるし。

ということで、新しくゲストを作ってみることにします。
以下の操作はvm-bhyveのvmコマンドです。1.6.0を使っています。

# pkg info vm-bhyve-1.6.0
vm-bhyve-1.6.0
Name           : vm-bhyve
Version        : 1.6.0
Installed on   : Thu Nov 28 08:59:17 2024 JST
Origin         : sysutils/vm-bhyve
Architecture   : FreeBSD:14:*
Prefix         : /usr/local
Categories     : sysutils
Licenses       : BSD2CLAUSE
Maintainer     : churchers@gmail.com
WWW            : https://github.com/churchers/vm-bhyve
Comment        : Management system for bhyve virtual machines
(以下略)

ゲストの作成

 # vm create -t windows-zvol -s 1T -m 16G -c 4 windows11

TPMがないとインストーラーで拒否られるので、前回同様設定します。

# vm config windows11
~~~
bhyve_options="-A -K jp -l tpm,passthru,/dev/tpm0"
~~~

インストール

# vm install windows11 Win11_24H2_Japanese_x64.iso

VNCでコンソールに接続すると、後は普通のWindowsのインストーラです。
プロダクトIDないので、期間限定の評価版扱いですが、まあインストールの確認ができればよいので。
途中不安定になってbhyveが落ちることがありましたが、何とかインストールはできました。はて? TPM関係ない???

Windows10ゲストを無理矢理アップデートしてみる

クリーンインストールが無事できることが分かったので、今度はWindows10を無理矢理11にアップデートする方法を使用します。

Flyby11というのを使うと、TPMを無視してアップデートができるようなので、まずはそちらを試してみます。
https://github.com/builtbybel/Flyby11

インストールは進みますが、やはり途中、再起動したところで止まります。
クリーンインストールはOKなのに、アップデートはダメ。さてどういうこと?
と思って、違いを考えました。

PCI passthroughが悪さをしていた

さらにもう1年前ですが、こういう記事を書いていました。
https://qiita.com/yshdsnd/items/0b8c38425a6a3bae289b

そう、普通に使えていたのですっかり忘れていましたが、アップデートしようとしたVMではPCI passthroughの設定を入れていました。新規インストールのVMには付けていません。

設定を外してみましょう。

#passthru0="3/0/0"
#passthru1="4/0/0"

再度アップデートしてみる

この状態でもう一度アップデートしてみました。
すると...

アップデートに時間はかかりますが、無事アップデートが完了しました。

スクリーンショット 2025-01-18 162217-2.png

TPM passthroughは設定したままですが、PCI passthroughを無効にしたら無事立ち上がりました。もうずっとPCI paththrough使っていたので、盲点でした。
TPMを有効にしたからその影響だとずっと思っていたので。

まとめ

bhyve + TPM passthrough でWindows11をインストール、あるいはWindows10から11のアップデートは問題なくできます。

結局はFreeBSD(14.0~14.2)のbhyveでWindows11を動かした場合、 PCI passrough は使えないというのが結論です。

原因は何なのかよく分かっていませんが、とりあえずアップデートできたのでよし。ゲスト上でPCI passthrough経由のUSBデバイスが使えないのはとても不便ですが、Windows機は物理マシンも持っているので、とりあえずは我慢します。

同じ現象が起きているという話も以下にありましたが、今のところ解決していない模様。
https://forums.freebsd.org/threads/bhyve-vm-stuck-when-passthru-enabled.92854/

PCI passthroughが使えるようになったらまた記事書きます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?