Windows 11のための準備を整える。

Windows11のTPM。ではTPMについてちょっと触れましたが、Core i7-4990KではTPM2.0に対応していないので、TPM-SPIというようなTPMモジュールをインストールすれば…と思ったんですが、そもそも第4世代CPUはサポート対象外で、さらにノートPCで搭載している Core i7-6700HQ ではTPM2.0に対応してるのにやっぱりサポート対象外で。
今後サポートCPUが追加されるのかどうかはわかりませんが、現状ではWindows 11のインストーラ自体がCPUチェックで「インストールできません」と言ってきます。

前回の記事ではBIOS設定の Intel(R) Platform Trust Technology は有効化したのですが、PC正常性チェック(PC Health Check)プログラムまでは走らせていませんでした。そこで走らせてみたところ…。


と、セキュアブートをサポートしていないとだめです、と言われてしまいました。

そこでセキュアブートについても調べてみたのですが、これを有効化するためにはそもそもMBRパーティションではだめで、GPT(GUID Partition Table)に変換しないといけないようです。
うちのメインPCでは、mSATA SSDに換装したときに「起動ドライブは2TB未満だからMBRでいいか」と判断してMBRパーティションにしていました。

ということで、Windows 11にアップグレードするためには、起動ドライブをMBRからGPTに変換しないといけません。

変換方法を調べると、サードパーティのパーティションツールが色々出てきますが、どれもフリー版ではパーティションをMBRからGPTに変換する機能は利用できないようです。
これを見越したのかどうか、幸いにも Windows 10 Creators Update 1703以降では、MBR2GPT.exeというユーティリティプログラムが搭載されたようです。これを使うと、サードパーティツールを使わなくてもデータを失わずにGPTに変換できるようです。
まず、「ディスクの管理」で起動ドライブを確認します。

Cドライブはディスク4になります。ここで、ディスク4の上で右クリック→「プロパティ」で「ボリューム」タブを見ると、パーティションのスタイルが「レガシー」となっています。これをGPTに変更する必要があります。

別の方法として、コマンドプロンプトを管理者モードで開き、diskpartでも確認します。
C:\WINDOWS\system32# diskpart

Microsoft DiskPart バージョン 10.0.19041.964

Copyright (C) Microsoft Corporation.
コンピューター: UZI

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン          7452 GB  1024 KB        *
  ディスク 1    オンライン           931 GB  1024 KB        *
  ディスク 2    オンライン          5589 GB      0 B        *
  ディスク 3    オンライン          5589 GB  1024 KB        *
  ディスク 4    オンライン           476 GB  1024 KB

DISKPART> exit

DiskPart を終了しています...

ディスク4のGPTの欄に "*" がないのがわかります。

次に変換を実行する前に、ディスクの検証を行います。
C:\WINDOWS\system32# mbr2gpt /validate /disk:4 /allowfullos
MBR2GPT: Attempting to validate disk 4
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Validation completed successfully

"/allowfullos"オプションを指定しないとエラーになりますが、正常終了したようです。

ということでいよいよ変換です。失敗するとディスクが飛ぶんじゃないかと心配もありますが、やってしまいます。
C:\WINDOWS\system32# mbr2gpt /convert /disk:4
ERROR: MBR2GPT can only be used from the Windows Preinstallation Environment. Use /allowFullOS to override.

C:\WINDOWS\system32# mbr2gpt /convert /disk:4 /allowfullos

MBR2GPT will now attempt to convert disk 4.
If conversion is successful the disk can only be booted in GPT mode.
These changes cannot be undone!

MBR2GPT: Attempting to convert disk 4
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Trying to shrink the OS partition
MBR2GPT: Creating the EFI system partition
MBR2GPT: Installing the new boot files
MBR2GPT: Performing the layout conversion
MBR2GPT: Migrating default boot entry
MBR2GPT: Adding recovery boot entry
MBR2GPT: Fixing drive letter mapping
MBR2GPT: Conversion completed successfully
Call WinReReapir to repair WinRE
MBR2GPT: Failed to update ReAgent.xml, please try to  manually disable and enable WinRE.
MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!
C:\WINDOWS\system32#

一応20行目に "MBR2GPT: Conversion completed successfully" とあるので変換は成功したようですが、WinRE(Windows Recovery Environment: Windows)で ReAgent.xml を更新できないので手動で無効化/有効化してください、というメッセージが出ています。色々やってみたのですが、とりあえず回復の設定はあとからでも大丈夫そうです。

その下には「新しいシステムをブートする前にUEFIモードに切り替えないとだめよ」というメッセージもあります。うっかりここで再起動してしまうと大変なことになりそうです。

ということでここからはキャプチャはないのですが、再起動してUEFI画面(DELキー連打)を出して、CSM互換オプションを無効にしてPKを生成し、セキュアブートを有効化してもう一度再起動です。Windowsが起動する前に何度かUEFI画面で設定を確認し直す慎重さは必要かもしれません。

うれしいお知らせです。が表示されました。

Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...