頭の中は異空間

ものづくり中心

mbr2gptコマンドでDisk layout validation failed for disk 0が出たときの解決策について

mbr2gpt /validate /disk:0 /allowfullOS

これの結果が表題の通り。
Windows11への乗り換え前にディスクが要件を満たしていないので変えようとしたら出た


C:\Windowsにエラーログ(setuperr.log)があるので、これの中身をチェック
→ValidateLayout: Last partition too close to the end of the disk. Should end at offset 500107845120 or below, found at 500107862016とかあった

ググってみると同じ症状に出くわしてた人がいた
日報 2021.10.12 | ド

↑に倣ってパーティションサイズ縮小

diskpart

list disk
select disk 0

list partition

この時点で自分の状態が

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    プライマリ              500 MB  1024 KB
  Partition 2    プライマリ              465 GB   501 MB

こうなっていたので、partition 2に対してパーティションサイズ縮小をかける
※これは見ての通り回復パーティションが最初からない場合の話

list partition

shrink desired=100

ボリュームは、次の方法で正常に縮小されました:  100 MB

exit

※100は適当

この状態で再度mbr2gptのvalidateをかけると通った

C:\Users\07k11>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

※エラーログファイルを開きっぱなしにしてると、Cannot initialize logs. Error: 0x00000000とエラーが出るため、先に閉じておこう

そしてGPTへ変換をかける

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: 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!

こっちも通ったZOY

一応diskpartでGPTにチェックがついたかを確認

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン           465 GB    99 MB        *

問題なさそう

UEFIに切り替えが出来そうなのでやってみる

BIOSから起動→CSMをDisabledにし、セキュアブートがUEFIになっていることを確認して保存、終了
再度起動した時にDiskが見つからないなど出ず、無事にWindowsを起動出来た。
この時点でまだエラーが出る場合はTPMが有効になっていないなど他に原因があるので、それは適宜調査すること