2024年11月19日

MBR2GPTでWindows10/11の記憶方式をMBRからGPTに変換する。


しまなみ海道
しまなみ海道を遠くから望む



暫くの間,GoogleAppsScriptの学習を続けていたのですが,Windows10のサポートが後1年に迫りましたので一旦停止して,今あるWindowsパソコンの整理を始めました。

今度のwindows11はハード的な制約が厳しいので,ハードウェア要件を満たす機器についてのみWindows11にアップデートする予定です。それ以外は他OSへの切替を検討しています。

また,パソコンがWindows11のハードウェア要件を満たしていても,BIOSの起動方式がレガシーブートになっている場合は,UEFIブートに変更する必要があります。

そこで,今回はUEFIブートの前提となるディスク記憶方式について,MBRからGPTへの変換方法について学習します。


  UEFIブートとは

マザーボードのファームウェア(制御用プログラム)をBIOSと言い,PCの起動,周辺機器の認識や管理を行います。

PCを起動する時に最初に起動するのが,このファームウェアになります。

UEFI(Unified Extensible Firmware Interface)は,BIOSの新たなPC用標準ファームウェアインターフェースです。

2007年以来,従来のレガシーブートに代わり,UEFIで起動されるパソコンが多くなりました。

特にここ数年,新しく発売されたPCの大半はUEFIモードで起動されています。

UEFIの特徴としては,以下のようなものがあります。

 ・ハードディスクが2.2TB以上使える。
 ・マウス利用可能でスタート・シャットダウンが早い。
 ・セキュアブートが可能でネットワークも使える。

Windows UpdateもUEFI対応が主流になるようです。

それでは,学習を始めます。






  UEFIブートのためのMBRからGPTへの変換方法について

このUEFIブートでは,ディスクの記憶方式を従来のMBR(Master Boot Record)からGPT(GUIDパーティションテーブル)に変更しなくてはなりません。

パソコンがWindows 10バージョン1703またはそれ以降のバージョンの場合は、変更のためのMBR2GPTユーティリティが付属しています。MBRディスクにOSがインストールされている時は、MBR2GPTを使用してデータを失うことなくGPTに変換できます。

なお,この変換を行うには以下の点に注意が必要です。

【注意点】
①変換する前にパソコンのBIOSがUEFIブートをサポートしていること。ディスクをGPT方式に変換後はレガシーブートで起動できません。GPT変換後にBIOSの設定をレガシーブートからUEFIブートに切り替えます。

②ディスクがBitLockerで暗号化されたボリュームである場合は、ディスクを変換する前に一時停止し,変換後にBitLockerを再作成します。

③ディスク記憶方式の変更はパーティションを変更するため,回復できない障害を起こす危険性があります。そのため,どんな状態になっても元の状態に戻せるバックアップが必要です。

安全確実に行なうのであれば,パーティション管理ソフトを利用する方が良いと思われますが,今回はMBR2GPTユーティリティを使った変更方法について学習します。

次の手順を実行して、ディスク記憶方式を変換します。(ディスクのバックアップをした後,行ってください。)



  ステップ 1. 管理者用コマンドプロンプトの起動

 Windowsの検索欄に「cmd」と入力してEnterキーを押します。「コマンドプロンプト」選択欄が表示されたら,右クリックで「管理者として実行」を選択し「コマンドプロンプト」を起動します。「コマンドプロンプト」のほか「Windows PowerShell(管理者)」でも可能です。



  ステップ 2. Diskpartコマンドでディスク番号を確認

 「diskpart」コマンドで入力プロンプトを発生させます。続いてOSがインストールされているディスク番号を確認するため「list disk」と入力します。今回は「ディスク 0」になっています。確認後「exit」と入力して「diskpart」を終了します。

この「diskpart」コマンド内でも,ディスクのGPT変換は可能なのですが,データをクリアしてしまうため,今回は「mbr2gpt」ユーティリティを利用します。

実行例
C:\WINDOWS\system32>diskpart
Microsoft DiskPart バージョン 10.0.19041.3636
DISKPART> list disk
  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                             ミック
  ------------  -------------  -------  -------  ---     ---
  ディスク 0    オンライン   465 GB   0 B
DISKPART> exit




  ステップ 3. mbr2gptユーティリティの実行可否確認

 コマンドプロンプトウィンドウに「mbr2gpt /validate /disk:0 /allowFullOS」と入力します。これにより,MBRからGPTへ変換が可能かを確認できます。

変更可能であれば「Validation completed successfully」と表示されます。

実行例
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

しかし,ここでいろいろなエラーが発生します。代表的なものとしては以下の2つです。

  代表的なエラー
①「Disk layout validation failed for disk 0」エラー

これは,mbr2gptユーティリティでは,パーティション構成が4つ以上ある場合,対応できないので出力されます。

対策】不要なパーティションを削除します。削除方法は,Diskpartコマンドで対応する方法と,Windowsの「コンピュータの管理(ディスクの管理)」を管理者として利用する方法の2通りがあります。

どちらも,不要なパーティションを削除して未割り当て領域に変更すれば良いです。Diskpartを使う場合は,「Diskpart」 -> 「list disk」 -> 「select disk n」 -> 「list part 」-> 「select part n」 -> 「delete partition override」で,未割り当て領域に変更できます。

※nは,Disk番号とパーティション番号です。くれぐれも必要なパーティションを削除しないで下さい。

②「cannot find os partition(s) for disk 0」エラー

このエラーが出る場合は対応が難しいです。HDDの換装を行ったパソコンでなければおそらく大丈夫ですが,よく発生します。パーティションが見つからないという内容ですが,ブート構成データが正常でない場合に出力されるようです。

対策
かなり修復が難しいのでお勧めできませんが,以下のような修復方法があります。

解決策1
ブート構成データ内の不良エントリを修復する。Unkownファイルの削除。これについてはインターネット上にサンプル例が沢山あります。興味のある方は,ググッてみて下さい。

解決策2
BCDファイルを修復する。「bcdboot C:Windows /s C:」又は「 bcdboot c:Windows /f bios /sc: 」を管理者用コマンドプロンプトから入力する。
 
※BCDファイルとは,ブート構成データ(Boot Configuration Data)ファイルで、ブートアプリケーションやその設定を記述するためのストアです

解決策3.
WinREをアクティブ化する。「reagentc /disable」と「reagentc /enable」を管理者用コマンドプロンプトから入力する。但し,Win10にUpdateしたパソコンではモジュールがないので実行できません。「Winre.wim」を探してきて「C:Windows\System32\Recovery」配下にセットする必要があるようです。

解決策4.
sfc /scannow」を管理者用コマンドプロンプトから入力する。既存のシステムファイルエラーを修正します。

インターネット上では,主に4つの解決策があるようですが,簡単にできるとすれば,解決策2と解決策4くらいでしょうか。なお,ディスクに不具合が発生する場合がありますのでバックアップを取得するなり,十分自信のある方が対応してください。

なお,私の場合は,HDDを換装していた1台のみ,このエラーが発生しました。解決策2と4を施しましたが当エラーは解消できませんでした。しかし,運よく次のステップ4の「Convert」が成功しましたので,GPTに変換できました。

確実に行なうには,市販のパーティション管理ソフトを利用した方がいいかもしれません。




  ステップ 4. mbr2gptユーティリティによる変換実行

 変更可能であれば,管理者用コマンドプロンプトウィンドウに「mbr2gpt /convert /disk:0 /allowFullOS」と入力します(「0」は、GPTに変換する必要のあるハードディスク番号です)。

変換が成功すれば,「Conversion completed successfully」と表示されます。

【実行例】
C:\WINDOWS\system32>mbr2gpt /convert /disk:0 /allowfullos
MBR2GPT will now attempt to convert disk 0.
If conversion 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 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!

最後に失敗メッセージが出ていますが,WinREが動いていないので無視します。なお,ここで成功した場合には,MBR記憶方式には戻れません。

また,ここでもよくエラーが発生します。代表的なものは以下のとおりです。

  代表的なエラー
①「Cannot find room for the EFI system partition.」エラー

これは,EFIシステムパーティションを書き込むエリアが確保できない場合に発生します。パソコンのCドライブが90%以上利用している場合など,空き領域を10GB以上確保できない場合などに発生するようです。

対策
既存のディスクを調整して空き領域を確保するか,ディスク換装などで大容量のディスクに替えるなどを行います。




  ステップ5. ディスクの最終確認とBIOSの設定変更

最終的にディスクの変換状況を確認します。

Windowsの検索欄に「コンピューターの管理」と打ち込みます。「コンピューターの管理 システム」と出たら,それを起動します。

左側の欄にある「ディスクの管理」をクリックします。「EFIシステムパーティション」と「GPT記憶方式」に変換されていることを確認します。

あとは,パソコンを再起動して最初にBIOSを表示させ,「UEFIブート起動」に設定変更すれば完了です。



  最後に

これで,パソコンのディスクをMBRからGPT記憶方式に変換し,レガシー起動からUEFI起動に変換できたと思います。

GPTに変換後,パーティションの移動や拡張を行いたい場合は,「diskpart」による「extend」コマンドや,Windowsの「コンピュータの管理(ディスクの管理)」からでもボリュームの拡張を行うことが出来ます。

しかし,その場合は拡張したいパーティション(ボリューム)の右隣に未割り当て領域がある場合に限られます。

そのため,パーティションの移動等を自由に行いたい場合は,「EaseUS Partition Master」「AOMEI Partition Assistant」「MiniTool Partition Wizard」などのパーティション管理ソフトを利用する方が簡単です。

今回は,コマンド中心であったため,Windowsツール画面などは極力表示しませんでした。分かりにくかったらごめんなさい。

以上,参考になれば幸いです。

それでは,楽しいITリテラシーライフをお過ごしください。


(ご注意)情報の正確性を期していますが,実施される場合には自己責任でお願いします。


0 件のコメント: