Windows11 パソコン関連

DtoDでWindowsのCドライブ移行したら winload.efi / 0xc0000225 で起動しなくなった話と復旧手順

Clonezilla を使って Windows マシンのディスク移行を行ったところ、移行後に Windows が起動しなくなりました。
最終的には UEFI ブートエントリの再作成を行って無事に起動が出来ました。
併せて、パーティション整理 によって無事復旧できたので、今回はその手順を記録しておきます。


⚠ 注意事項

設定内容やプログラムの内容は、用途・環境に応じて適切なものが変わります。

各種設定値や環境情報についてよく理解を深め、壊れてもよい環境で十分に検証してください。

なるべく正確に書くよう心掛けていますが、本投稿内容を実施される際には自己責任の下でお願いいたします。

環境

  • 元環境: Windows 11
  • 移行方法: Clonezilla によるディスク移行
  • PC: HP製デスクトップ
  • ブート方式: UEFI
  • パーティション形式: GPT

発生した事象

ディスク移行後、Windows の起動時に以下のエラーが表示されました。

Recovery
Your PC/Device needs to be repaired

The application or operating system couldn't be loaded because a required file is missing or contains errors.

File: \WINDOWS\system32\winload.efi
Error code: 0xc0000225

まず疑ったこと

エラーの雰囲気的に、UEFI の起動情報(Windows Boot Manager / BCD / EFIパーティション)が壊れている、または参照できなくなっている パターンかなと。。。
特に今回は Clonezilla でディスク移行していたため、次のような可能性を考えました。

  • EFI System Partition の情報不整合
  • BCD(Boot Configuration Data)の破損
  • BIOS 上の UEFI ブートエントリが失われた
  • Windows Boot Manager の登録消失

Windows回復環境から確認

Windows 11 のインストール USB で起動し、
以下のメニューからコマンドプロンプトを開きました。

  • コンピューターを修復する
    →トラブルシューティング
     →詳細オプション
      →コマンド プロンプト

そのうえで diskpart でディスク構成を確認します。

diskpart
list disk
list volume

EFIパーティションにドライブ文字を割り当てる

今回の構成では、100MB の FAT32 パーティションが EFI パーティションっぽい雰囲気があるので空いているドライブレーター S: を割り当てました。

select volume 3
assign letter=S
exit

ただしその後、C:\WindowsD:\Windows を見ても Windows フォルダが見つからず、容量的にもVolume1がWindows 本体のパーティションっぽいのでWindowsがインストールされたパーティションにドライブ文字が付いていないことが分かりました。

Windows本体のパーティションにドライブ文字を付与

237GB の NTFS パーティションが Windows 本体と判断できたので、
一時的に W: を割り当てました。

diskpart
select volume 1
assign letter=W
exit

その後、以下で確認すると Windows フォルダが見つかりました。

dir W:\Windows

bcdboot で Windows Boot Manager を再作成

EFI パーティションが S:、Windows 本体が W: と分かったので、
以下のコマンドで UEFI ブートファイルを再作成しました。

bcdboot W:\Windows /s S: /f UEFI

成功すると以下のようなメッセージが表示されます。

Boot files successfully created.

その後、再起動します。

wpeutil reboot

これで無事に Windows が起動するようになりました。

今回の学び

今回のトラブルで、特に重要だと感じたポイントは以下の通りです。

1. winload.efi のエラーはブート構成を疑う

0xc0000225 が出たとき、winload.efi 自体のファイル破損を疑いたくなりますが、実際には UEFI / EFI / BCD の不整合 が原因のことが多いっぽい雰囲気です。

2. BIOS で Windows Boot Manager が無いのは大きなヒント

ディスク自体が見えていても、Windows Boot Manager が無ければWindows の起動エントリが壊れている / 消えている可能性が高いので、BIOSを確認するのも良さそう。

3. WindowsのインストールUSB作っとくのとbcdbootの使い方を事前に把握しとく

Windowsのインストールメモリを事前に作ってあったので、起動しない状態でもインストールUSBメモリから回復環境を起動して bcdboot はで復旧出来たのは良かったです。

今回は、

  • EFI パーティションにドライブ文字を付ける
  • Windows 本体のパーティションを特定する
  • bcdboot <Windowsパス> /s <EFIドライブ> /f UEFI

という流れでかなり素直に復旧できました。
同じような症状で困っている方の参考になれば幸いです。

-Windows11, パソコン関連
-,