
古いパソコンのSSDのデータをM.2 SSDに移して、Windows11にアップグレードしようとしたのですが、MBRからGPTに変換するところで詰まってしまいました。
「mbr2gpt /validate /disk:0 /allowFullOS」を実行したときに「Cannot find OS partition(s) for disk 0」と出てきてしまいます。
これが上手くいかないと、インストールしたソフトが動かせず、新しくWindows11をインストールするしかありません。
調べてもやり方が出てこず断念したのですが、もう一度調べてみると何故か出てきて上手くいったのでやり方をまとめておきます。
インストールメディアを作成
8GB以上のUSBを準備して、Windows10のインストールメディアを作成しておきましょう。

リンク先にWindows10のインストールメディアがあるので「Windows 10 のインストール メディアを作成する」のところにある「今すぐダウンロード」からダウンロードしましょう。
ダウンロードした「MediaCreationTool_22H2.exe」を開いて、準備したUSBにインストールしましょう。
こちらに詳しく記載しています。
Winre.wimを準備
あったら問題なし
「C:Windows\System32\Recovery」に「WinRE.wim」があれば以下の手間がないです。
無いと手間です。
install.esdからinstall.wimを取り出す

作成したインストールメディアを普通のUSBと同様に開いていき「sources」フォルダの中に「install.esd」があるのでこれをコピーしてきます。
コピー先は、Cドライブの中に「install」というフォルダを新規作成し、その中に入れておきましょう。
その後、コマンドプロンプトを管理者で実行して次のコードを打ち込みましょう。(コピーしてもいいです。)
cd C:\install
Dism /Get-WimInfo /WimFile:install.esd

こんな感じで表示されるので、インデックスの番号を覚えておきます。Proは「3」ですね。
次に以下のコードを実行します。
Dism /Export-Image /SourceImageFile:install.esd /SourceIndex:3 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity

エクスポートするのを待つと「install.wim」が手に入ります。
Winre.wimを入手
これを展開して「Winre.wim」を入手するのですが、展開せずに「install.wim」の名前を「Winre.wim」に変更しても上手くいきました。(その場合、容量が5GBぐらいあるので回復パーティションのサイズを6GBぐらいにする必要があります。)

展開は「CubeICE」などの解凍ソフトを使用すれば解凍できます。
展開したフォルダを開いて「Windows」→「System32」→「Recovery」と開いていくと「Winre.wim」ファイルが出てきます。解凍ソフトの設定のときに「wimファイル」にチェックを入れてしまうと拡張子が省略されてしまうようなので、わざわざチェックを入れないほうがいいと思います。
あと、「Winre.wim」を入手したついでに「C:Windows\System32\Recovery」の中に入れておきましょう。
回復パーティションを作成しよう
コマンドプロンプトを管理者で実行します。
パーティションを作って入れよう
以下を順番に実行して回復パーティション用のパーティションを作成します。
diskpart
list disk
sel disk 0 ← システムディスクを選択
create partition primary size=600
format quick fs=ntfs label="Recovery"
assign letter=R ← 名前をつける「R」
パーティションに名前をつけると、マイコンピュータから直接操作できるので、一旦コマンドプロンプトはこのまま置いておいておきます。

「Recovery」フォルダを作成し、その中にさらに「WindowsRE」フォルダを作成します。そして「WindowsRE」の中に、先程の「Winre.wim」をコピーして入れておきます。
回復パーティションを作ろう
作成したパーティションを回復パーティションにします。
set id=27 ← 回復パーティションとしてマーク(MBRの場合)
exit
その後、以下のコードを順番に実行していきます。
reagentc /disable /target C:\Windows
reagentc /setreimage /path R:\Recovery\WindowsRE
reagentc /enable /target C:\Windows
reagentc /info /target C:\Windows

エラーが出なければ完了です。
mbr2gptを実行
「mbr2gpt /validate /disk:0 /allowFullOS」を実行
「mbr2gpt /validate /disk:0 /allowFullOS」を実行しましょう。
上手く行けば、「mbr2gpt /convert /disk:0 /allowFullOS」を実行しましょう。
エラーが出たらインストールメディアからコマンドプロンプト
EFIフォルダが無いんだけどみたいなエラーが出た場合は、インストールメディアからコマンドプロンプトを開いてそこで実行すると上手くいきます。

参考記事
あとがき
これでなんとかなりました。
いや~、やってみるものですね。
コメント