死にかけHDDからWindowsが何とか起動した

とある人からある日ノートパソコン(SVT13119FJS)が持ち込まれた。

Windowsの光る旗マークから一向にすすまないから使ってなかったんだけど、Office使いたいんだよね。なんとかならない?」

「(復旧かけるか、最悪リカバリかけたらなんとかなるやろ)」

と高をくくっていたものの電源を入れて状況を確認すると

旗→エラー(any keyで再起動)→以下略

起動前のF8とかのメニューからセーフモードその他も同上

どないせえっちゅうんじゃい

この時点でよくわからんかったので伝家の宝刀SystemRecsueCDさんにお世話になる。

いろいろあった*1*2がうちの環境では以下の手順でやることで元のWindowsを立ち上げることができた。

材料:

元のHDDと同程度もしくはそれ以上の容量のHDD(3.5inchでも可、以下Disk1)

2.5inchのDisk1がない場合は元の環境の本体領域が収まる程度の2.5inchHDD(以下Disk2)

USB-SATA変換

結局はHDDが物理的に逝ってるようなので、Disk1(今回は3.5inchを利用)にバックアップを取る。

dd if=/dev/sdx of=/dev/sdy bs=512 count=1

dd if=/dev/sdx1 of=/dev/sdy1 bs=512 conv=noerror,sync

dd if=/dev/sdx2 of=/dev/sdy2 bs=512 conv=noerror,sync

dd if=/dev/sdx3 of=/dev/sdy3 bs=512 conv=noerror,sync

conv=noerror,syncはエラーが起きた時に止まらずそのまま続けるためのものです。各ワードの意味はめんどくさいので調べてみてください。

本体領域*3以外はDisk2にも取っておくが、元のHDDから取るとエラーが起こってクソ遅いのでDisk1からコピーしたほうが無難。

その際Disk2を利用の方はMBRコピーした後第3パーティションの調整をしてください。

取れたら、一度別のWindowsマシン(以下作業Win)にDisk1をつないで第3パーティションの領域をchkdskかける。/F /Rオプションで。

そうすると本体領域のファイルシステムが健全になる(起動できるとは言っていない)。

そのあと作業Win上でParagonとかEASEUSとかの無料ツールを使い、Disk1の第3パーティションをDisk2の第3パーティションにコピー。

このままDisk2を本体に挿して動く場合もあるかもしれないけど今回の場合は動かなかった*4ので以下を行った。

今回の場合入ってるOSがWin7だったのでインストールディスクまたはISOから作ったUSBメモリを用意し、起動させて、修復を試みる。

うまくいけば起動に必要な部分が修復されて本体から起動できる。

それでもできない場合は、実は今回先にDisk2を使ってリカバリ領域*5を戻して*6正規の手順でリカバリを試みていた。

その際に第2パーティションに何らかの影響を与えていたとも言えなくもないのでダメ元で試してほしい。

という感じで今回はたまたま起動してくれたからよかったものの、少しでも逝ってる場所が違えば起動しなかった可能性も十分に考えられる。

というわけで以下ほんと重要(本業並感)

  1. 日々のバックアップ
  2. リカバリ領域のバックアップ
  3. OfficeのCDとかプロダクトキーは置いておく


結局このマシンのHDDが壊れたまんまなのは変わらないのでmSATAのSDDでも引っ張り出してOSインストールでもしようかと思う。

*1:この時点でリカバリ領域が不完全だが他に書き出してリカバリすれば起動はするもののOfficeが入っていないことが判明

*2:OfficeのCD、プロダクトキーは捨てたため見当たらないという状況だったため何が何でも元の環境を立ち上げてOfficeのプロダクトIDを確認する必要があった

*3:今回の場合第3パーティション

*4:\Boot\BCD的なエラーが出て起動できなかった

*5:今回の場合第1パーティション

*6:厳密にいうと第2パーティション