Windows 11 Update検討
2022/09/17
|
[Prev]
[Next]
[Top]
,
Digital
[Prev]
[Next]
|
Windows 11を実行するための最小システム要件を満たしていません
- 9年経過したPCを使用しています。Windows 7から10へのアップグレードは行っていますが、最近Windows Update画面のメッセージ「Windows 11を実行するための最小システム要件を満たしていません」が少し気になります。
Figure 1: Windows Update画面(クリックで拡大)
- では足りていない要件は何かなと、そのメッセージ右横にある"PC正常性チェックを受ける"を押すと、PC正常性チェックアプリの説明になります(*1)。このアプリ、通常はWindows Updateでインストールされますが、私は一度アンインストールしていたので"Microsoftのサイト"から再度入手して実行しました。
- 得られた結果が下記。セキュア ブート(Secure Boot)、TPM、CPUが問題とのこと。
Figure 2: PC正常性チェック実行結果(クリックで拡大)
- 多分古めのPCでは似たような状況かと思います。各項目の詳細を見ると、説明がMicrosoftクオリティです(*2)...。
- 以降のセクションで各項目を説明しますが結論を先に書くと、本当に対応するなら下記が必要です。
- システム(Boot)ドライブをGPTに変換する
- マザーボード/CPUを新しくする(Intel-Core:8世代以降, AMD-Ryzen:3世代以降)
- しかし、あと2年(*3)もすれば「Home EditionはTPM無しでもOK」になるのでは...。よって私はもう少し待ち、いや、9年使っているし...やっぱり換えちゃおうかな。
Secure Boot: セキュアブートとは
- セキュアブートの具体的対応は下記です。ハードウェア変更はありません。
- システム(Boot)ドライブのパーティションスタイルをGPTにする
- UEFIの設定をSecure Bootにする
- 上記が何かを理解したければ、PCのハードウェアを管理するUEFIとOS Bootの関係を知る必要があります。
- まずUEFI(Unified Extensible Firmware Interface)ですが、PCのハードウェアを管理するマザーボード上のファームウェア(Firmware)です。PC起動時に実行されます。Figure 3はマザーボード上のUEFIを持つFlashメモリ位置を示したものです。
Figure 3: マザーボード上のUEFI...ん? BIOS?
- しかしFigure 3では、UEFIではなくBIOSと表記されていますよね。実はファームウェアそのものはBIOS(Basic Input Output System)と呼ばれており、UEFIはそのインターフェースです。
- 「じゃあ何でUEFIの設定って言い方するの?」と思われたでしょう。その理由ですが、BIOSはかなり昔から使われていた用語です。このBIOSに機能拡張が必要となった際、その拡張機能にアクセスするために策定された仕様がUEFIです。
- すると拡張機能を持つ新しいBIOSは、必ずUEFIを持つので「UEFI付きのBIOSは...」が略されて「UEFIは...」になってしまいました。事実上UEFIは拡張機能を持ったBIOSを指します。略語とは意味が異なっている厄介なPC用語ですね。ちなみにUEFI無しの古いBIOSはレガシーBIOS(Legacy BIOS)と呼ばれています。
- そしてセキュアブートは、このUEFIで追加された機能の一つです。UEFIがブートデバイスから情報を読んで、ブートして良いかどうかを判定します。そしてデバイス自身はUEFIに渡す情報を置くためにGPT(GUID Partition Table)と呼ばれるパーティションフォーマットを必要とします(*4)。
Secure Boot: ブート方式とパーティションフォーマット
- GPTは2TB以上のパーティション作成に必須のフォーマットですが、先に説明したようにブートの情報も持ちます。そしてGPTではない従来のパーティションフォーマットがMBR(Master Boot Record)です。
- UEFIはデバイスのパーティション構成情報を見て、MBRの場合はLegacy BIOSとして、GTPの場合はUEFIとしてブートローディングを実施します。UEFIは内部にLegacy BIOSとして動作するためのモジュールを持っており、それはCSM(Compatibility Support Module)と呼ばれます。
Figure 4: UEFIのGPT/MBRに対するブートローディング動作(クリックで拡大)
- これでセキュアブートの要素は揃いました。改めてまとめます。
- Windows 11はシステム要件の一つとしてセキュアブートを要求している
- セキュアブートを有効化するには、UEFIモードでブートすることが必要
- UEFIモードでブートするには、システムドライブをGPTにすることが必要
Secure Boot: GPTにして大丈夫?
- システムドライブのパーティションフォーマットがMBRの場合、これをGPTに変換します。ブートOSがWindows 10だけならば、Microsoftが提供している MBR2GPT.EXE を使えば良いでしょう。Windows 10に標準搭載されたコマンドです。
- MBR2GPT.EXEの実行で、"Failed to update Reagent.xml, please try to manually disable and enable WinRE." のメッセージが出た場合、そのままプロンプト上で下記コマンドを実行します。
reagentc /disable
reagentc /enable
"reagentc /enable" でエラーになるかもしれませんが、PCを再起動すればOKです。
- システムドライブをGPTにすると一時的にOSがブートできなくなります。UEFIの設定が必要だからです。事前にUEFIの起動方法とUEFIでBootモードの設定方法を確認するのは必須です。
- メーカーによってUEFI Boot, Secure Boot, Legacy BIOS, CSM等のメニューや構成が変わるため、まずUEFI Bootにする設定を確認し、GPTドライブからのOSブートを成功させた後、Secure Bootへ移行する手順を踏むべきと考えています。
- あと、現在32bit版 Windows 10を使用している場合、GPTに変換してはいけません。ブートできなくなります。多分 /validate 時にエラーになるか、そもそも32bit版では MBR2GPT.EXE が無いのでは(*5)。
- 実際にセキュアブートに変更できたか等は、msinfo32 コマンド等で確認して下さい。次はTPMに話を移します。
TPM: TPMって何?
- TPM(Trusted Platform Module)は、PCのセキュリティ向上のために暗号化キーの作成と保管を行うモジュールです。例えばBitlockerはこのTPMを利用してディスク内を暗号化しています。TPMの暗号鍵が無ければ、他のPCにディスクを接続してもデータを読むことができないわけですね。
- このTPMには現在2種類のVersionがあります。1.2と2.0です。そしてWindows 11が要求しているのはTPM 2.0です。このTPMですが、Intelの場合はCPUの世代、OSもWindows 8ではTPM 1.2まで等の制約が絡んで構成が複雑になっています。
- そこで、まずはTPMの実装構成を見てみましょう。ちなみに、ここでもUEFIが登場します。
TPM: TPMはどこにいる?
- Figure 5に示すのはPCの構成例です。Graphic/MemoryとのインターフェースはCPU側に取り込まれ(*6)、他のデバイスのインターフェースはワンチップ化されています。それでもチップセット(Chipset)と呼んでいますが。
Figure 5: PCのCPU/Chipset構成例
- さて、ここで「TPMはどこにいるか」ですが、普通ならばUEFIの中です。そしてTPMに直接アクセスできるのはOSを実行するメインCPUではなく「サブCPU」です。このサブCPU、IntelではChipset内、AMDではCPU内に置かれています。
- そして、サブCPUからUEFI内のTPMを利用する仕組みを、IntelではPTT(Platform Trust Technology), AMDではfTPM(firmware TPM)と呼んでいます。
Figure 6: Intel PTT と AMD fTPM
- ところがこのTPM、UEFIの外、独立したICとしてチップセットと接続されている場合があり、更に「UEFI TPM」と「独立IC TPM」の両方が存在することもあります。むしろPCの発売時期によっては「2個あるのが普通」という状況です。
- TPMが2個搭載されているPCでは、UEFIでどちらのTPMを使用するか設定します。UEFIのTPM選択設定では、UEFI内TPMをIntel/AMD等CPUメーカー側の呼称である"PTT/fTPM"と表現し、マザーボード上の独立IC TPMを"TPM"としていることが多いです。
Figure 7: 使用TPMの選択
- さて、何でこんな状況になっているのか。それにはCPU世代によってサポートするTPMのVersionが違うこと、OSによってもサポートVersionが違うこと、これら2点が関係しています。
TPM: CPUの世代とUEFI TPM(PTT/fTPM)のVersion
- まずはAMD Ryzen fTPMは、第3世代(Zen2)以降が2.0をサポートしています(*7)。尚、第2世代(Zen+)も一部がサポートしているので、Microsoft自身が示すWindows 11サポートAMD CPUリストを確認しましょう。
- そしてIntel Core PTTは歴史があるせいか Table 1 の状況です。第4〜7世代が1.2、第8世代以降が2.0をサポートします。プロセッサナンバーの先頭数値が世代を表します。例えば"Core(TM) i7-3770S"は第3世代です。プロセッサナンバーも msinfo32 コマンド等で確認できます。念のためWindows 11サポートIntel CPUリストも参照して下さい。
Table 1: Intel Core PTT世代別TPMサポートVersion
世代 |
名称 |
プロセッサナンバー |
TPM Version |
1 |
Nehalem |
Core i*-*** |
-- |
2 |
Sandy-bridge |
Core i*-2**** |
-- |
3 |
Ivy-bridge |
Core i*-3**** |
-- |
4 |
Haswell |
Core i*-4**** |
1.2 |
5 |
Broadwell |
Core i*-5**** |
1.2 |
6 |
Skylake |
Core i*-6**** |
1.2 |
7 |
Kabylake |
Core i*-7**** |
1.2 |
8 |
Coffee Lake |
Core i*-8**** |
2.0 |
9 |
Coffee Lake Refresh |
Core i*-9**** |
2.0 |
10 |
Comet Lake |
Core i*-10**** |
2.0 |
11 |
Rocket Lake |
Core i*-11**** |
2.0 |
12 |
Alder Lake |
Core i*-12**** |
2.0 |
- 第3世代以前でTPMを使用する場合は、独立ICのTPMモジュールが必須でした。Ivy-bridge以前のCPUでは、マザーボードにTPM接続コネクタが無い場合、TPMに対応できません。
- 第8世代 Coffee LakeからTPM 2.0をサポートしていますが、この発売は2017年。Windows 10はリリースされていますが、世の中はWindows 7も多いという時期でした。これが面倒の原因となります。
TPM: WindowsとTPMのVersion
- Windows 7以降のTPMサポートVersionをTable 2に示します。2.0をサポートするのはWindows 10以降です。
Table 2: WindowsのTPMサポート
OS Version | TPM 2.0 | TPM 1.2 |
Windows 7 | --- | OK |
Windows 8.1 | --- | OK |
Windows 10 | OK | OK |
Windows 11 | OK | ---(*7) |
- つまりIntel Core 第8世代以降のCPUで、Windows 7のTPM機能を使うには、TPM 1.2の独立ICが必要なのです。このあたりはAMD Ryzenも同じです。このため、Windows 7/10を渡る時期のPCは、PTT/fTPMと独立TPM ICの両構成が多くなります。
- TPM 2.0をサポートするPTT/fTPMとTPM 1.2のIC両方を持つPC/マザーボードでは、PTT/fTPMに切り替えるか、TPM IC側のFirmwareを2.0へ更新することでTPM 2.0対応が可能になります。
- Intel Core 第4(Haswell)〜第7(Kabylake)世代PTTはTPM 1.2サポートなので、Windows 7から10への以降でも、そのままTPM 1.2を使用しているケースが多いでしょう。Windows 11はTPM 2.0を要求しているので、マザーボードにTPM 2.0 ICを付ける必要ありますが、元々TPMが別ICならば、TPM ICのFirmware Updateで2.0対応できる可能性があります。
- どこのTPMをどうすれば良いのか、その判断が非常に面倒になっています。まずはUEFIでPCが選択できるTPMの場所とVersionを確認しましょう。そこを把握しないと話にならないのは、ここまでの説明から理解いただけると思っています。
今回は厳しいなぁ
- Windows 11のUpdateで話題になっているSecure BootとTPMを扱いました。前回のWindows 7→10と違い、Ivy-bridgeユーザの私はハードウェア交換必須になりそうです。
- TPM 2.0を要件としている理由は恐らくPC間の認証がメインでしょう。HomeユースではBitlocker必須ではないと思いますが、最近はモバイルが基本なのでそうも言えなくなったかなと。
- ちょっと古めのPCを使っていると今回は地雷を踏む確率が高いです。PCを趣味で作った経験が無いと、教えれば対応できるレベルを超えている気がします。「とにかくPCを新しくして」という言い方になってしまうかも。
|
Notes
- 正常性チェックアプリが動くんだと思いますよね。アンインストールしたことを忘れてしばらく探してしまった...。
- 日本人である私はローコンテクスト系の文書や説明を読むのが苦手ってことですよ。そうですよ。
- Windows 10のサポート期間が2025年10月まで。なので2024年後半頃にハードル下げるかも。
- UEFIが読む情報はESP(EFI System Partition)に置かれ、そのESPの場所を記述できるPartition Table FormatがGPT。
- 32bit版Windows 10のWindows 11化はトラブル続出の予感。
- 以前はNorth Bridgeと呼ばれていた部分がCPUに取り込まれました。
- 見直しの動きありそうですが、現在は未サポート。
|
2022-10-01: PTTの表記をあちこちでtypoしていたので修正 + MBR2GPT.EXE エラー対応追加
|
[Prev]
[Next]
[Top]
,
Digital
[Prev]
[Next]
|