Windows のブートローダを壊してしまって復旧できなかった話
概要
かれこれ 8 年弱に亘って録画サーバとして用いていた Windows マシンがあった.このマシンは元々は HDD 内蔵していたのだが,Paragon Backup & Recovery でバックアップを取ったうえで,EaseUS Todo Backup により HDD の内容を SSD にクローンし,これに換装して使用していた.
2019年の夏頃から,ハングアップしたり BSOD に陥ることが多くなった.9月に入る頃には,録画用 SW の GUI を立ち上げようものなら,たちまち ハングアップ,再起動を余儀なくされる始末であった.
この現象の原因はぼんやりとは認識していた.PLEX 社製のドライバの不出来により,数日から数週間に1度は BSOD に陥るという状態のままの運用が強いられてきたため,OS の機関部には徐々にダメージが蓄積されていた.
幸いなことにディスクイメージごと取ったバックアップがあるので,リストアしよう,と相成ったのだが,このバックアップは換装前の HDD から取ったものであることを,すっかり失念していた.
その結果, HDD から取ったバックアップを SSD にリストアしてしまった.ブートローダを破壊してしまったのである.
(なお,問題解決のための試行錯誤を行ってから2ヶ月以上を経て,このメモを作成している.そのため,記憶がかなり曖昧な部分が多い.)
症状
ほぼ下記ページと同様である.エラーコード 0xc000000e あるいは 0xc0000225 のエラーが発生し,起動できない.
試したこと① ブートローダの修復
リストアした結果,ブートレコードは不正なものになってしまったが,データ部分は正しくリストアできていた.となれば,ブートローダ部分がちゃんと動くように修復できれば手っ取り早い.
コマンドプロンプトをどうにか立ち上げて,bootrec, bootsect, あるいは bcdedit を起動できればよさそう.
- インストールメディアからの起動
- → OS プリインストールのメーカー製 PC のため,インストールメディアは付属せず.
- 回復用ディスクからの起動
- → 回復用メディアは作成していたため,これを用いた起動を試みる.読み込み中の画面(ユーティリティ側で用意されたプログレスバー的な画面)が表示された後,数十時間待っても読み込みが終わらず.ディスクアクセスが行われている様子もなかったため,何かしらのエラーで止まっていたと考えられる.
- 自作レスキューディスクからの起動
- いざというときのために,大昔に WinPE でレスキューディスクを作ってあった.これで起動し,WinPE 側のコマンドプロンプトは起動できた.
- また,EaseUS Todo Backup により作成した起動用 USB メディアからも,WinPE 側のコマンドプロンプトは起動できた.
- しかし,上述のコマンド類を用いた問題の解決はできなかった(この部分の詳細な記憶がないため,この程度の記述でご勘弁を)
- EaseUS Todo Backup 自体に付随する MBR 修復機能
- 問題の解決には至らず(詳細な記憶がないため以下略)
試したこと② HDD からの再クローン
換装前の HDD の中身はそのまま生き残っているので,これをもう一度 SSD にクローンできればよさそうである.しかし,こちらの HDD がそもそもイカれているという大問題があった.
- HDD を再び装着し,HDD 内の Windows を起動し,EaseUS Todo Backup による再クローンを試みるも,ディスクの I/O エラーですぐさま BSOD に陥る有様.
- 「Kmode Exception Not Handled」
- セーフモードもダメ,そもそも EaseUS Todo Backup の起動ができなかったような(詳細な記憶がないため以下略)
- HDAT2 による不良セクタの修復を行うものの改善せず.
- 念のためメモリもテストをかけたが,こちらは問題なしとの判定.
- さらに念のため
chkdskもかけたが,症状は改善せず. - EaseUS Todo Backup の起動ディスク WinPE 版・Linux 版,両方とも試したが,いずれも途中でコケる.
- 「セクタバイセクタクローン」を試そうかとも思ったが,コピー先に十分な容量がないため実行できず.
以上