仕事で使っているWindows PCで、突然Windowsが起動しなくなるトラブルがありました。
電源を入れても正常にWindowsが立ち上がらず、黒い画面に「デバイスで問題が発生したため、修復できませんでした」といった内容のエラーが表示される状態。
何度再起動しても状況は変わりません。
Windowsが起動しないとなると困るのが、PCの中に保存されているデータです。
今回はWindowsの修復をいくつか試しても改善しなかったため、PCの復旧よりも先に必要なデータを救出することにしました。
そのときに使ったのが、コマンドプロンプトから実行できる「Robocopy」です。
この記事ではRobocopyの細かな使い方というより、
「Windowsが起動しない → 修復できない → データだけでも救出する」
という、実際に対応したときの流れを中心に紹介します。
注意
この記事は実際に対応したときの一例です。
Robocopyなどのコマンドは、コピー元・コピー先やオプションの指定を間違えると意図しない結果になる可能性があります。
また、ストレージ自体が故障している場合など、同じ方法が使えないケースもあります。
実行する場合は内容を確認したうえで、慎重に操作してください。
Windowsが起動しなくなった
今回のPCは、電源自体は入るもののWindowsが正常に起動しない状態でした。
再起動してもWindowsのデスクトップまでは進まず、修復できなかった旨の画面が表示されます。
そこで「その他のオプション」から回復用のメニューを表示し、コマンドプロンプトを起動しました。
Windows自体は起動しなくても、ここからコマンドプロンプトを使える状態だったため、まずはWindowsを修復できないか試してみます。
PCを仕事で使っていると、こうした想定外のトラブルに遭遇することがあります。
自分がこれまでPCの入替作業で実際に遭遇したトラブルについては、こちらの記事にもまとめています。
→ PC入替でよくあるトラブルと対策|約200台の入替対応で実際に困ったこと
SFCやCHKDSKなどを試してみた
最初からデータ救出を考えていたわけではありません。
できればそのままWindowsが起動する状態に戻したかったので、コマンドプロンプトからSFCやCHKDSKなどを使った確認・修復を試しました。
ただ、今回のケースでは改善せず。
再起動してみても、再び同じ黒い画面に戻ってしまいました。
「これは簡単には直らなそうだな……」
ということで、ここでWindowsそのものの復旧を続けるよりも、まず必要なデータを確保することを優先することにしました。
ディスクが認識されているならデータを取り出せるかもしれない
ここで重要だったのが、Windowsは起動しないものの、保存しているディスクやボリューム自体は認識できていたことです。
Windowsが起動しないからといって、必ずしも中のデータまで読み出せなくなっているとは限りません。
今回のPCでは、コマンドプロンプトから確認すると保存領域を認識できていました。
そこで、
「これなら必要なデータだけ別の媒体にコピーできるのでは?」
と考えました。
ただし、ここで注意したいのがBitLockerです。
ドライブがBitLockerで暗号化されていて解除できない場合は、今回のように単純にデータをコピーできないことがあります。
以前、仕事でBitLockerの解除が必要になったものの、回復キーが分からず困ったことがありました。
そのときの確認方法はこちらの記事にまとめています。
→ BitLockerの回復キーが分からないときの確認方法|実際に仕事で困ったケース
今回の方法は、あくまで保存しているディスクやボリュームが認識され、必要なデータへアクセスできる状態であることが前提です。
ディスク自体が認識されていない場合や、ストレージそのものに故障が疑われる場合は、同じ方法が使えるとは限りません。
USBや外付けHDDを接続して保存先を用意
データを取り出せそうだったので、次にコピー先となるUSBメモリや外付けHDDなどをPCに接続します。
ここでも重要なのが、コピー元とコピー先の両方がきちんと認識されていることを確認することです。
普段Windowsを使っていると「Windowsが入っているのはCドライブ」という感覚がありますが、回復環境では普段と同じドライブ文字になっているとは限りません。
そのため、
- どこに元データがあるのか
- どこが接続したUSBや外付けHDDなのか
を確認してから作業します。
特に今回の方法では、この確認が非常に重要です。
Robocopyを使って必要なデータを退避
コピー元とコピー先を確認できたら、Robocopyを使って必要なデータを外部媒体へコピーしました。
RobocopyはWindowsで利用できるファイルコピー用のコマンドです。
今回のように通常のWindows画面を操作できない状態でも、コマンドプロンプトが利用できればデータをコピーできる場合があります。
基本的な形としては、
robocopy "コピー元" "コピー先" オプション
のように指定します。
ただし、この記事では自分が使った環境のコマンドを「これをそのまま入力すればOK」という形では掲載しません。
PCによってドライブの構成やフォルダーの場所が違うためです。
他の環境で使われているコマンドを、そのままコピーして実行するのは危険です。
Robocopyはコピー元・コピー先を必ず確認
今回の作業で一番注意したのがここです。
コピー元とコピー先を間違えないこと。
コマンドは便利ですが、普段のエクスプローラーのように画面を見ながらファイルをドラッグ&ドロップするわけではありません。
指定した内容に従って処理されます。
さらにRobocopyにはさまざまなオプションがあり、指定する内容によって動作も変わります。
そのため、ネット上で見つけたコマンドをよく分からないままコピーするのではなく、
「どこにあるデータを、どこへコピーしようとしているのか」
を確認してから実行することが重要です。
特にデータ救出が目的なら、余計なことをするよりも必要なデータを安全に別の場所へ確保することを優先した方がいいと思います。
Windowsの修復より先にデータを確保する選択肢もある
Windowsが起動しなくなると、どうしても
「どうやったらWindowsを直せるか?」
ばかりを考えてしまいます。
自分も最初はそうでした。
SFCやCHKDSKなどを試して、何とか起動できないかと作業していました。
ただ、何をやっても改善しない場合、PCの中に大切なデータが残っているのであれば、いったん修復作業を止めてデータの確保を優先するという考え方もあります。
今回の場合は、
Windowsが起動しない
↓
修復を試す
↓
改善しない
↓
保存領域が認識されていることを確認
↓
外付けの保存媒体を接続
↓
Robocopyで必要なデータを退避
↓
データを確保してからPCの復旧を考える
という流れで対応しました。
結果として、Windowsが正常に起動しない状態でも必要なデータを取り出すことができました。
まとめ|Windowsが起動しなくてもデータを救出できる場合がある
Windowsが起動しなくなると、「中のデータも全部ダメになったのでは?」と思ってしまいます。
ですが、今回のようにWindows自体は起動しなくても、ストレージや保存領域を認識できている場合は、コマンドプロンプトからデータを取り出せる可能性があります。
自分の場合は、Windowsの修復を試しても改善しなかったため、Robocopyを使って必要なデータを別の保存媒体へ退避しました。
ただし、Robocopyはコピー元・コピー先やオプションを正しく確認して使うことが重要です。
また、BitLockerでドライブがロックされている、そもそもストレージを認識していない、といった場合は今回とは状況が異なります。
Windowsが起動しないからと焦って色々な操作をするのではなく、大切なデータが入っている場合は、
「Windowsを直す前に、まずデータを確保できないか?」
と考えるのも一つの方法だと思います。
同じように「Windowsが起動しない。でもデータだけは何とか取り出したい」と困っている方の参考になれば幸いです。


コメント