Windows11の要件を満たしているか確認したらTPMとかCSMとか色々なモノに四苦八苦した話

# 次世代Windowsの公式発表
こんにちは。
先日Windows11が発表されましたね。
色々な意味で先行的に話題になっていましたが、やはり新しいWindowsというのは気になるものです。
使っているデバイスがWindows11の要件を満たしているか確認できるチェックアプリがMicrosoftのサイトで公開されていたので、さっそく自分のPCで使ってみました。
チェックアプリは以下からダウンロードできます。
https://www.microsoft.com/ja-jp/windows/windows-11
(2021/06/29追記：現在、準備中と表示されチェックアプリがダウンロード出来ないようです。)


<img width="800" alt="f0fc3720f5285147.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/78a16946-b1ff-ab01-12f1-0a841c1b109c.png">
実行できないらしいです。

# 要件を満たせない原因を探す
このPCの主な構成は、
CPU：AMD Ryzen 5 3600
マザー：Asrock B450M Pro4
GPU：GeForce GTX 1650
メモリー：64GB（DDR4-2666 16GB×4枚）
ストレージ：1TB（2.5インチSSD）
です。

ぱっと見で要件のプロセッサ、メモリー、ストレージは満たしていそうなので、他の原因を探していきます。
(2024/09/07追記：Ryzen 5 3600の発売日は2019/07/07であり、当時(2021/06/25)としては比較的新しいCPUだったためです。)

まず、グラフィックス カードの要件を見てみましょう。
Windowsキー＋Rを押し、検索窓に「dxdiag」と入力してEnterを押すと、DirectX 診断ツールが起動します。
<img width="800" alt="53687027a0d60294.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/b1c872c4-9407-93b4-cdfb-ac91e316ed45.png">
グラフィックス カードの要件は、DirectX 12、WDDM 2.x共に満たしているようです。

# TPMの有効化
インターネットで助けを求めたところ、<font color="OrangeRed">「(引っかかっている要件は)TPM 2.0では？」</font>という助言をいただいたので、確かめていきます。
スタート画面からWindows セキュリティを開き、デバイス セキュリティを見てみます。
<img width="800" alt="fc713f038b2b52cf.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/2f8c0ed5-9995-f762-62fa-ef1881da98e7.png">
TPMが有効だと、この画面で「コア分離」の下に「セキュリティプロセッサ」という項目があるそうなので、少なくともこれが原因の1つのようです。
UEFIを起動して、アドバンスドタブのAMD fTPM switchから「AMD CPU fTPM」を選択します。

<img width="800" alt="3786d6c7e4a32e7d.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/9cf35ef5-e7c4-7999-2428-451d358dee89.jpeg">
<img width="800" alt="a65c3720de21142a.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/95d674a0-7067-2850-acbf-5b8a20e53302.jpeg">

これでTPMは有効になったはずです。確認してみましょう。

<img width="800" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/f7be5db8-ed6e-d748-20d9-63651008b843.png">
<img width="400" alt="4273cfa3cde8402c.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/18087e8b-c8da-662a-9053-a615c734d069.png">

問題なく有効になっているのが確認できました。これでWindows11の要件は満たしたでしょう！

<img width="700" alt="877b5ddd6d2f6c75.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/ca33662b-3456-065f-bbb3-70c1a5f8408e.png">
まだダメらしいです。

# セキュアモードの有効化
再度インターネットで助けを求めたところ、<font color="OrangeRed">「セキュアモードが有効化されていないのでは」</font>との助言を頂きました。
しかし同時に<font color="OrangeRed">「セキュアモードは有効化しなくても要件を満たす」</font>との意見も頂きました。
とりあえず試してみましょう。
ちなみにセキュアモードとは、署名済みのOS以外を起動しなくする機能です。これが有効化されていると古いOS(Windows7等)や未署名のOS(Linux等)が起動出来なくなります。
UEFIを起動し、セキュリティタブからセキュアブートを有効にします。
<img width="800" alt="9760.jpeg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/ab2168b4-837c-6a2e-314c-da836c7bb414.jpeg">
設定を保存し、再起動します。Windows11の要件は満たせたでしょうか。
<img width="700" alt="877b5ddd6d2f6c75.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/ca33662b-3456-065f-bbb3-70c1a5f8408e.png">
やはりまだダメなようです。

# CSMの無効化、そして突然Windowsが起動しなくなる
さらにインターネットで助けを求めたところ、<font color="OrangeRed">「CSM有効だとダメなのでは？」</font>との助言をいただいたので、再びUEFIを起動して、CSMを無効にして起動してみます。
CSMとは、UEFIに対応していない古いOSや周辺機器をサポートするための機能です。
<img width="800" alt="9758.jpeg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/fdf65701-ea9f-1d0a-d081-d1de4adedc23.jpeg">
<img width="800" alt="9759.jpeg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/0bd521b2-e0ee-fdea-aa4a-dc5ee1f7b347.jpeg">
設定を反映させて再起動したら、<font color="Red">Windows10が起動しなくなってしまいました。</font>
UEFIから起動を確認すると、SSDが認識されなくなっているみたいです。
例によってインターネットで助けを求めたところ、<font color="OrangeRed">「OSがUEFIじゃなくてBIOSモードでインストールされているのでは」</font>との助言を頂きました。

とりあえずSSD以外のHDD等の接続を外し、CSMを有効にしてWindowsを起動させます。
システム情報を確認してみます。
UEFIでインストールされていると、BIOSモードの項目がレガシではなく「UEFI」になっているそうです。
確かにBIOSモードでインストールされていることが分かりました。
ついでにWindows11の要件の一つである、セキュアブートも機能していないことが分かりました。
![5c255660cc5d60e7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/9e52e680-ad35-b2f0-9cf8-f465fad80b01.png)
BIOSモードを変えるのはちょっと面倒そうなので、まずはセキュアブートを確認していきます。

<img width="800" alt="9760.jpeg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/ab2168b4-837c-6a2e-314c-da836c7bb414.jpeg">
ちゃんと有効になっています。
どうやら、BIOSモードがレガシである影響でセキュアブートも機能していないようです。

# BIOSモードの変更
BIOSモードを再インストール以外で変更できないか調べたところ、MBR2GPT.exeというものを使用して変更できるそうです。
コマンドプロンプトを管理者として実行し、以下のコマンドを実行します。
```mbr2gpt.exe /convert /allowfullOS
```
![3cd9379e338861d6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/1be032d2-5adc-65de-153f-35d8e2018387.png)
実行されたら、UEFIを起動して、CSMを無効にして起動してみます。
![9b1cf520aa7f6a9c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/23d03e0b-2db4-d640-bb54-64b4a74b05cb.png)
無事にBIOSモードがUEFIに変更されたようです。
セキュアブートもちゃんと有効になっています。

![gazou.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/e3463460-da63-3da2-bc34-84be0939aa51.png)


そして、Windows11の要件も無事に満たしました。
その後、セキュアブートを無効化してWindows11の要件を満たすか確認したところ、ちゃんと要件をみたしました。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/901094/8d99d219-2ac0-a99e-eee5-ff410d48fe9e.png)

# あとがき
深夜にも関わらず、相談に乗ってくださった方々のおかげで無事にWindows11の要件を満たすことが出来ました。本当にありがとうございました。
TPMやCSM、BIOSモード等の知識を全く持ち合わせておらず、非常に勉強になりました。
比較的PCには詳しいと自負していましたが、まだまだ知識不足であることを痛感しました。


チェックアプリでWindows11の要件を満たしているかチェックした際、要件を満たしていなかった場合にどの項目が満たされていないかを表示してくれないのは少し不便に感じました。
「詳細情報」をクリックしても、ブラウザが開いて[ここ](https://www.microsoft.com/ja-jp/windows/windows-11?OCID=2_pchc_windows_app_omc_win)に飛ばされるだけなので、要件を一つひとつ確認する必要があります。
要件が満たされていない項目を表示してくれれば、もう少し作業が楽になったと思います。

ここまで読んで頂き、ありがとうございました。
# 参考ページ
[データ消失を伴わなずに Legacy から UEFI に データ用 SSD または Windows* がインストールされている SSD を変換する方法](https://www.intel.co.jp/content/www/jp/ja/support/articles/000024558/memory-and-storage/intel-optane-memory.html)