なんかPCの買い換え時がいつ来るかわからん情勢になってきたので、思い切って新調したんです。CPUは第4世代のi7から現行のi7となるので、どれだけ違うのか楽しみすぎる。
Windows10は優秀で、旧PCから新PCにCドライブをそのまま持ってきても難なく起動して普通に使える(事が多い)ので、今回もその作戦。昔はOSの再セットアップが当たり前だったし嫌いな作業じゃなかったけど、もう面倒くさい年頃になってしまった。Windows XPの統合インストールCDを作ったりしていたなあ
Cドライブのクローンがブートしない
旧PCのCドライブから新PCをブートして、ドライバのインストールなど環境を整えWindowsのライセンスを通し、何も問題がないことを確認してからSATA SSD(旧)からM.2 NVMe SSD(新)へとクローニング、M.2からブートする事を確認して完了!
ところが旧ドライブを取り外すと0xc000000eエラーで起動できないではありませんか。
困ったことに旧ドライブはもうフォーマットしちまった。
いつもはHDDやSSDをぶっ差してコピーできる機械でやっていたんだが、SATA → NVMeということでやむを得ずソフトウェアツール(Acronis® True Image™ WD Edition)を使用した。あんまり信用していないんだよね。
きちんと旧ドライブを取り外して確認をするべきだったのはわかっていたが後の祭りだ
復旧作業
なにはともあれブートしてDISKPARTというツールを使う必要がある。
お手軽にWindows10のインストール用USBメディアから起動して、とにかくコマンドプロンプトにたどり着く。
- DISKPARTを起動する
diskpart
- 現在の状況を確認、C:が割り当てられているべきボリュームに別のドライブレターが割り当てられていることがよくある。
list volume
おかしくなっていなかったら7へ - 誤ってC:が割り当てられているボリュームへ移動
select volume=番号
- 誤って割り当てられたドライブレターC:を仮のドライブレターYに変更
assign letter=Y
- C:であるべきボリュームへ移動
select volume=番号
- C:であるべきボリュームのドライブレターをC:に変更
assign letter=C
- ドライブレターが割り当てられていないFAT32の小さなボリュームへ移動
select volume=番号
- 仮のドライブレターZを割り当てる
assign letter=Z - DISKPARTから出る
exit
- Z:\efi\microsoft\bootへ移動
cd /d Z:\efi\microsoft\boot - コマンド
bcdboot c:\Windows /s z: /f uefi /l ja-jp
※UEFI環境
手順11でのja-jpを省略しても動くけどチェックディスクが入ったときなど文字化けすること有り
2~6の手順を省略して、11の手順でたとえばbcdboot f:\Windows /s z: /f uefi /l ja-jp
などととにかくWindowsが入ってるフォルダを指定すれば良い説あり(試してない)
この手順では0xc000000eや0xc0000225などBCD関係のエラーを修復・再構成するので、クローン作成時に限らず何かと役に立つはず。
Windows11でも同様にやれます。
コメント
本日、本記事のおかげで問題を解決することができました。
ありがとうございます。
差し出がましいようですが、復旧作業手順のコマンドを以下のように修正して頂けると
私と同じところでつまずいてしまう方が減ると思います。
1. 綴り: assing -> assign
2. ドライブを跨ぐ場合: Z:\efi\microsoft\boot -> cd /d Z:\efi\microsoft\boot
本記事を書いて頂き、ありがとうございました。
雑な記事で恐縮ですが、解決の手がかりとなりましたようで良かったです。
ご指摘の通り記事の修正をいたしました。
ありがとうございました。