レガシー BIOSからUEFIに変換する・Windows 10
以前自作した スリムタワーPC のパーテイションテーブルを MBR2GPT.EXE コマンドで Legacy BIOS / MBR から UEFI / GPTに変換し、同時に TPM2.0 とセキュアブートを有効に設定しました。
下の画像はコマンド実行した PowerShell のスクリーンショットです。
理由はこれまで Windows7 と Ubuntu の 3つの OSで構築していたマルチブート環境を廃止したためです。サポートが終了する 2025年に Windows11 に移行する予定です。
このページは、コマンド実行の手順とマザーボードの設定の備忘録です。(2023年5月)
マザーボード | ASUS B365M-K |
---|---|
CPU | Core i7-8700T |
メモリー | DDR4 16GB |
SSD | M.2 SSD SATA, 128GB | HDD | 1TB |
GPU | Geforce GT 1030 GDDR5 |
1. 対象のディスク番号を確認する
管理者権限の Windws PowerShell を起動
PowerShell : PS C:\WINDOWS\system32> diskpart DISKPART> list disk ディスク### 状態 サイズ 空き ダイナミック GPT --------- --------- ------- ----- ---------- ----- ディスク 0 オンライン 119GB 0B ディスク 1 オンライン 931GB 0B
ディスク 0 が C:ドライブ
2. GPTへの変換について検証する
DISKPART を閉じる
PowerShell : DISKPART> exit PS C:\WINDOWS\system32> mbr2gpt /validate /disk:0 /allowFULLOS MBR2GPT:Attempting to validate disk 0 MBR2GPT:Retrieving layout of disk MBR2GPT:Validating layout, disk sector size is: 512 bytes MBR2GPT:Validation completed successfully
最終行に Validation completed successfully が表示されれば変換可能になる。
しかし、当方の環境では Cannot find OS partition(s) for disk 0 なるエラーが出てしまった。OSのパーティションがないと言っているがそんなわけはない。ブートローダーまわりの設定を修正する必要があるようだが、いろいろ面倒くさいので次の方法で解決した。
Windows10 メディア作成ツールをダウンロードして Windows上で実行する。その際「個人ファイルとアプリを引き継ぐ」オプションでインストールする。これでシステムだけクリーンインストールされる。所要時間は 45分程度。
この方法は以前、更新プログラムのアップデートが出来なくなった時にも有効だった。もしやと思い試してみたら上手くいった。これで直らなければ、ブートローダーをいじくるしかない。あるいは完全クリーンインストールするか。
3. GPT/UEFIへ変換する
続けてコマンド入力
PowerShell : PS C:\WINDOWS\system32> mbr2gpt /convert /disk:0 /allowFULLOS MBR2GPT will now attempt to convert disk 0. If convrtsion is successful the disk can only be booted in GPT mode. These changes cannot be undone! MBR2GPT:Attempting to convert disk 0 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 WinReReaper to repair WinRE MBR2GPT:Faild to update ReAgent.xml, pleade try to manually disable and enable WinRE. MBR2GPT:Befor the new system can boot proprely you need to switch the firmwatre to boot to UEFI mode! PS C:\WINDOWS\system32>
ここで気になったのが下から 2行目下線部の 「ReAgent.xmlを更新出来なかったので手動で WinREの無効、有効を設定してくれ」 のメッセージ。そこでコマンドプロンプトから reagentc.exe /info でステータスを確認してみた。
結果は Enabled(有効)になっていた。
もし Disabled になっていると、まず Windows RE は壊れている確率が高い。reagentc.exe /enable コマンドを実行しても 「Windows RE イメージは見つかりませんでした」 が返ってくる。
この場合も先述した Windows10 メディア作成ツール を用いたシステムだけクリーンインストールで修復できる。と言うか、出来た経験がある。
GPTドライブになっていることを確認する
PowerShell : PS C:\WINDOWS\system32> diskpart DISKPART> list disk ディスク### 状態 サイズ 空き ダイナミック GPT --------- --------- ------- ----- ---------- ----- ディスク 0 オンライン 119GB 0B * ディスク 1 オンライン 931GB 0B
GPTの欄に *(アスタリスク)があるので変換されている。
4. PC再起動して UEFI BIOS Utility を起動する
下の画像は ASUS B365M-K の BIOSユーティリティのスクリーンショット。
ASUSロゴのスプラッシュ画面が表示されている間に F2 キーを押す。
5. Legacy BIOS から UEFI に切り替える
F7 キーを押し、UEFI BIOS Utility の Advanced Mode へ入る。
5-1. TMP2.0を有効にする
[ 詳細 ]タブの PCH-FW Cofiguration を開く
UEFI BIOS Utility Advanced Mode :
TPM Device Selection [ Enable Firmware TPM ]
Enable Firmware TPM を選択する
5-2. Legacy BIOSを無効にする
[ 起動 ]タブを開く
UEFI BIOS Utility Advanced Mode :
起動デバイス制御 [ UEFI ]
UEFI を選択する
[ 起動 ]タブの CSM を開く
UEFI BIOS Utility Advanced Mode :
CSM [ 無効 ]
CSM を無効にしないとセキュアブートが有効にならない
5-3. セキュアブートを有効にする
[ 起動 ]タブのセキュアブートメニューを開く
UEFI BIOS Utility Advanced Mode :
OSタイプ [ UEFIモード ]
UEFIモードを選択する
6. 設定を保存して、PC再起動する
F10 キーを押して PC再起動。
7. 結果
変換前のパーティション
| Windows |
(システムで予約済、回復パーティションなしの 1パーティション)
変換後のパーティションは下記のようになった
| Windows | EFI system | 回復 |
Microsoft 推奨のパーティション レイアウトは
| EFI system | MSR | Windows10 | 回復 |
だが、正常に動作しており問題ない。
上記のようなレイアウトに編集したい場合は M.2 SSD の換装と UEFI ブート の修復 で出来る。