HDDからSSDへのクローンが終わり、SSDへ交換した直後はWindowsが正常に起動しました。
ところが翌日、電源を入れるとWindowsが起動しません。
代わりに表示されたのは、PXEによるネットワーク起動の画面でした。
BIOSの起動順を変更してもダメ。
Windowsのスタートアップ修復でもダメ。
bcdbootを実行すると、
「ブート ファイルは正常に作成されました。」
と表示されるのに、それでもWindows Boot Managerが現れません。
最終的に復旧できたのは、
EFIパーティションのFAT32ファイルシステムを作り直し、bcdbootでもう一度起動ファイルを作成する
という方法でした。
この記事では、Lenovo ThinkCentre M720e(MT-M 11BD-0014JP)をHDDからSSDへ換装したあと、
「交換直後は起動したのに、翌日Windowsが起動しなくなった」
というトラブルを、実際にどのように復旧したのかまとめます。
同じように、
- SSDはBIOSで認識されている
- SSD換装直後はWindowsが起動した
- 翌日などにPXE起動へ進んでしまう
- Windows Boot Managerが表示されない
- スタートアップ修復で直らない
- bcdbootは成功するのに起動しない
という状態になった方には、一つの事例として参考になると思います。
ただし、EFIパーティションのフォーマットは、対象を間違えるとWindowsやデータを失う危険があります。この記事は私の環境で復旧できた記録であり、すべてのパソコンに当てはまる手順ではありません。重要なデータをバックアップし、自分の環境のディスク・ボリューム・ドライブ文字を必ず確認してから作業してください。
この記事はSSD換装の連載(全4話)の1話です。準備・クローン・交換・起動トラブルまでの全体像は、会社のパソコン11台をSSD換装した全記録(まとめ)にまとめています。
今回起きた症状
前日に行った作業は、
HDDをSSDへクローン → HDDを取り外す → SSDを取り付ける → Windows起動確認 → Excelなどの動作確認
です。
ここまでは正常でした。
それまで起動に4〜5分かかっていたパソコンが、SSDへ交換すると驚くほど速くなりました。
ところが翌日、もう一度電源を入れるとWindowsが起動しません。
しばらくすると、PXEに関する英語の画面が表示されました。
PXE画面が出た理由
PXEは、ネットワーク経由でパソコンを起動する仕組みです。
今回PXE自体に問題があったわけではありません。
本来ならSSD上のWindows Boot Managerから起動するはずなのに、それができなかったため、BIOSが次の起動候補であるPXEへ進んでいました。
つまり、
PXE画面は原因ではなく、「SSDから正常に起動できなかった結果」
でした。
ここを理解しておくと、PXEそのものを直そうとして遠回りせずに済みます。
最初に確認したのはBIOSの起動順
最初に疑ったのは、BIOSのBoot設定でした。
ThinkCentre M720eではBIOSを開き、起動順を確認しました。
確認したポイントは、
- SSDがBIOS上で認識されているか
- UEFIで起動する設定になっているか
- SSDが起動順位の上位にあるか
- PXE(ネットワーク起動)がSSDより上になっていないか
です。
SSDを起動順位の上へ移し、PXEは下へ移しました。
設定を保存して再起動します。
しかし、
Windowsは起動しませんでした。
ここで重要だったのは、SSDそのものは認識されていたことです。
つまり、
「SSDが壊れていてパソコンから見えていない」
という単純な問題ではなさそうでした。
スタートアップ修復でも直らなかった
次に、Windowsの回復環境からスタートアップ修復を試しました。
Windowsが起動しないときの代表的な修復方法なので、まず試す価値はあると思います。
しかし、今回のケースでは改善しませんでした。
そこで、さらに起動ファイルを確認することになりました。
diskpartでWindowsとEFIパーティションを確認する
ここからコマンドプロンプトを使いました。
まず、
diskpart
を実行し、続いて、
list volume
でボリュームを確認しました。
ここで確認したかったのは、
Windowsが入っているパーティション
と、
EFIシステムパーティション
です。
EFIシステムパーティションは、WindowsをUEFIで起動するために必要なファイルが保存されている小さな領域です。
回復環境ではCドライブとは限らない
ここは特に注意が必要です。
Windowsを通常起動しているときはWindowsがCドライブに見えていても、回復環境ではドライブ文字が変わっている場合があります。
そのため、
「Windowsは必ずC:にある」
と思い込んでコマンドを実行しない方が安全です。
私は画面を一つずつ確認しながら、Windowsが実際にどのドライブにあるのかを確認して進めました。
bcdbootで起動ファイルを作り直す
EFIパーティションを確認したあと、起動ファイルの再作成を試しました。
EFIパーティションに一時的なドライブ文字を割り当てたうえで、bcdbootを実行します。
私の作業ではEFIパーティションにS:を割り当て、WindowsがC:\Windowsとして確認できた状態で、
bcdboot C:\Windows /s S: /f UEFI
を実行しました。
すると、
「ブート ファイルは正常に作成されました。」
と表示されました。
普通なら、
「これで直った」
と思います。
私もそう思いました。
ところが再起動すると、
またPXE画面へ進みました。
Windows Boot Managerも正常に認識されません。
ここが今回のトラブルで一番重要なところです。
bcdbootが「成功」と表示されても、Windowsが起動するとは限りませんでした。
bcdboot成功でもWindows Boot Managerが認識されなかった
何度かBIOS設定やスタートアップ修復、bcdbootを試しました。
しかし結果は同じです。
SSDは認識されています。
Windows本体もSSDにあります。
EFIパーティションも存在しています。
bcdbootも成功します。
それでも、
UEFIがWindows Boot Managerを正常に認識してくれません。
そこで次に試すことになったのが、EFIパーティションのFAT32ファイルシステムを作り直す方法でした。
最終的にEFIパーティションのFAT32を作り直した
ここから先は、今回行った中でも特に慎重さが必要な作業です。
EFIパーティションを選択し、そのパーティションだけをFAT32でクイックフォーマットしました。
その後、bcdbootでもう一度起動ファイルを作成しました。
概念的には、
EFIパーティションを特定 → EFIだけをFAT32でクイックフォーマット → ドライブ文字を割り当てる → bcdbootでWindowsの起動ファイルを再作成
という流れです。
実際に使用する場合は、まずdiskpartで対象を確認します。
diskpart
list disk
list volume
必要に応じて対象のディスクやボリュームを確認します。
そして、EFIシステムパーティションであることを確実に確認したうえで対象を選択します。
たとえば、
select volume <EFIのボリューム番号>
です。
ここで、
format quick fs=fat32
を実行すると、選択しているボリュームがフォーマットされます。
そのため、
<EFIのボリューム番号>をこの記事の例のまま入力してはいけません。
自分のパソコンでEFIシステムパーティションが何番なのかを必ず確認する必要があります。
私はEFIパーティションにS:を割り当て、
assign letter=S
その後、
exit
でdiskpartを終了し、
bcdboot C:\Windows /s S: /f UEFI
を実行しました。
※C:\Windowsについても、私の作業時の例です。回復環境ではWindowsのドライブ文字が変わる場合があるため、必ず自分の環境で確認してください。
EFIパーティションを作り直したらWindowsが起動した
bcdbootを実行すると、
「ブート ファイルは正常に作成されました。」
と表示されました。
この表示自体は、すでに何度も見ています。
そのため、
「本当にこれで直ったのか」
という気持ちでした。
USBメモリを抜き、再起動します。
すると、
Windowsのロゴが表示されました。
無事にWindowsが起動しました。
さらに、念のため何度もシャットダウンと起動を繰り返しました。
今度は問題ありません。
Windows Boot Managerから正常に起動するようになりました。
最初のSSD換装を始めてから2か月以上。
ようやく本当に復旧しました。
最終的に何をしたら復旧したのか
今回、Windowsが起動しなくなった原因を、私自身が正確に特定できたわけではありません。
実際に確認できたのは、
- EFIパーティションは存在していた
- bcdbootを実行すると「ブート ファイルは正常に作成されました。」と表示された
- それでもWindows Boot Managerが認識されず、Windowsは起動しなかった
- EFIパーティションをFAT32で作り直し、もう一度bcdbootを実行するとWindowsが起動した
ということです。
そのため、私の環境では、EFIパーティションをFAT32で作り直したことが復旧につながりました。
ただし、これだけで「Windowsが起動しなかった原因はEFIパーティションのFAT32ファイルシステムだった」と断定することはできません。
あくまで、私のパソコンで実際に起きた症状と、最終的に復旧できた方法として記録しておきます。
SSD換装後にPXE画面が出たときの確認順序
今回の経験から、同じような症状なら、私は次の順番で確認します。
- BIOSでSSDが認識されているか
- UEFIの起動設定を確認する
- Windows Boot Managerがあるか確認する
- PXEがSSDより上位になっていないか確認する
- Windowsのスタートアップ修復を試す
- 回復環境でWindowsとEFIパーティションを確認する
- bcdbootで起動ファイルを再作成する
- それでもBoot Managerが認識されない場合、EFIパーティションの状態を確認する
EFIパーティションのフォーマットは、最初に試す方法ではありません。
通常の修復方法で直らない場合に検討する方法
だと思います。
対象を間違えるとデータを消してしまう可能性があるため、特に慎重な確認が必要です。
SSD換装後にやっておけばよかったこと
第3話では、SSD交換直後にWindowsが起動したため、
「成功した」
と思って作業を終えました。
今回の経験後は、
SSDへ交換 → Windows起動 → 普段使うアプリを確認 → シャットダウン → 再度起動 → BIOSの起動状態も確認
というところまで確認した方がいいと考えています。
仕事で使うパソコンなら、可能であれば翌日など時間を置いてもう一度起動確認してから使用者へ戻した方が安心です。
最初の1台から、最終的に11台をSSDへ換装した
最初の1台は、本当に遠回りしました。
DVDドライブを外せず約1か月。
AIに勧められたM.2 NVMe SSDを購入したものの取り付けられない。
2.5インチSATA SSDを買い直す。
初めてクローンする。
約2時間30分待つ。
ようやく起動したと思ったら、翌日にPXE画面。
bcdbootでも直らない。
最後はEFIパーティションのFAT32を作り直す。
最初の1台だけで、2か月以上かかりました。
それでも、一度仕組みが分かると、次からは違いました。
パソコンの開け方が分かる。
どのSSDを使えばいいか分かる。
クローンの流れも分かる。
起動しないときに、どこを確認すればいいかも少しずつ分かるようになりました。
そして最終的に、
会社のパソコン11台をHDDからSSDへ換装しました。
「SSDって何?」
というところから始めたことを考えると、自分でも不思議です。
第4話で分かったこと
今回、一番重要だったのは、
「bcdbootが成功した=起動問題が解決した」とは限らない
ということでした。
私のケースでは、
SSDは認識される → Windows本体も残っている → EFIパーティションもある → bcdbootも成功する → それでもWindows Boot Managerが認識されない
という状態でした。
そこでEFIパーティションのFAT32ファイルシステムを作り直し、bcdbootを再実行したことで復旧しました。
また、AIとの付き合い方についても学びました。
AIは非常に便利ですが、同じ方法を繰り返したり、自信を持って間違った答えを出したりすることもあります。
だから、
- 何を試したか
- 結果がどうだったか
- どこまで確認できているか
を自分でも整理しておくことが重要でした。
そして、最後に判断するのは自分です。
詳しい手順を残しておくのも、そのためです。
同じようにSSD換装後、
「昨日まで起動したのに、突然PXE画面になった」
という人に、この記録が一つの参考になればと思います。
このシリーズのnote版では、詳しい復旧手順よりも、「SSDって何?」から始めた50代の初心者が、AIと失敗を繰り返しながら11台をSSD換装するまでの体験を中心に書いています。
