昨年の話ですが、備忘録的に書いておきます。

12月の初め、10月末に買ったばかりの SHINO のゼフィー君4号が故障しました。

元々、スリープ中に原因不明の再起動をしたり、何もしないのにメモ帳を開いたりと怪しい動きはしてたんです。
この日も、スリープ中に DVDドライブの駆動音がして「またか」と思いつつ開いてみると、ブルーバックのエラーが出て強制再起動 orz
メッセージを見ると何かしらのハードに問題があるらしい。

嫌な予感はしていましたが、案の定起動しない orz

[tegaki]OS が無いよ[/tegaki]

と非情なメッセージ。

SHINO は仕事中なので、何とか帰ってくるまでに復旧させるべく奮戦を開始しました。

起動できなくてもハードディスクにアクセス出来る場合があるので、まず手持ちの外付けハードディスクから起動してデータのサルベージを試みました。このハードディスクにはイメージバックアップのソフトが入っています。しかし、パソコンのハードディスクが認識されない。う、そこまで酷くやられてるのか?

次に、Windows 7 のインストールディスク から起動して「システム回復オプション」を試してみました。この中に「スタートアップ修復」というのがあったので実行して再起動。すると今まで読み込まれなかった OS が読み込まれてるじゃないですか!この時点で「意外とあっさり復旧したな」とか余裕の感想を抱いたのも束の間、

[tegaki]「ようこそ画面」から進まねぇ~(T_T)[/tegaki]

う~ん、やっぱりハードディスクからの起動は無理のようだ。この時点で DELL に電話。散々こちらの使用方法を疑われたが、システム診断でハードディスクに異常があることが確定。本体を返送しての修理か、新しいハードディスクを送付しての自前交換がどちらか、とのこと。最初は、本体の返送を依頼してましたが、それだと時間がかかり過ぎるのと交換後のディスクがそのままになってしまう(一応先方で処分との事だが個人情報満載なので不安)のとで、ハードディスクを送ってもらう方に変更しました(その場合でも交換後のハードディスクは返送しなければならないのですが、こちらでデータを消してから返送できるのでまだまし)。

さて、その間に少しでもデータをサルベージしようと「システム回復オプション」の「コマンドプロンプト」を実行。ドライブを確認するとちゃんとハードディスクにはアクセスできています。何故外付けハードディスクで起動すると見えないんだ? とりあえずドライブさえ見えれば最悪マイドキュメントだけでもサルベージできるでしょうからちょっとだけ安心。「コマンドプロンプト」から外付けハードディスクにもアクセスできたので、必要なファイルを XCOPY でパソコンから外付けハードディスクに吸い出すことにしました。

しかし、破損セクタのある箇所でコピーが止まってしまいます(後に /C オプションを付け忘れていた事に気付きました)。この時点でその日の復旧作業は終了。結局5時くらいまで起きてたので、次の日は会社を休みました(爆)。

翌日、データのサルベージが何とかならないものか、とウェブを検索していたら以下のサイトを発見しました。

   Linux ユーザのためのデータ救出

ここで紹介されている ntfsclone を使えば、マイドキュメントどころか、OS、アプリ、データの全てがサルベージできるかもしれません。

このページでは KNOPPIX が使われていましたが、折角なので流行の(?)ubuntu で試してみることにしました。

ubuntu のライブCD から起動して、コンソールを開きます。管理者権限を取得する際に SUDO を使って、あとはデバイスを確認して、デバイスの部分だけ書き換えて紹介されているコマンドをそのまま打ち込みます。

[php gutter=”false” font_size=”80%”]
ntfsclone –rescue -s -o – /dev/sda3 | gzip –fast | split -b 2023m – /media/HD-PSGU2/bkzip/broken-sda3.ntimg.gz.
[/php]

これで破損部分も無視してイメージバックアップが取れるのですが、破損部分で時間がかかるかかる。失敗してるんじゃないだろうかと思いながら、何とかイメージバックアップ終了。交換用ハードディスクの到着を待ちます。

届いた交換用ハードディスクは東芝製でした。故障したハードディスクはウエスタン・デジタル製で信頼性はともかくかなり静かなディスクでした。違うメーカーのがありなら日立製にして欲しかったところ。

パソコンのハードディスクを交換用の物に取り替えてイメージを書き戻します。

[php gutter=”false” font_size=”80%”]
cat /media/HD-PSGU2/bkzip/broken-sda3.ntimg.gz.* | zcat | ntfsclone -r -O /dev/sda3 –
[/php]

こちらはバックアップに比べるとかなり速く終わりました。

一応「システム回復オプション」の「スタートアップ修復」をしつつ再起動。しかし、起動しない(T_T)。

色々調べると Windows 7 はインストール時にシステムファイルに追加のパーティションを作成することがあるそうですね。故障したハードディスクをよく見ると確かにそういう構成になってました。これはちゃんと確認しなかった私の怠慢です。

私が SATA に対応したハードディスクケースを持っていれば、故障したディスクから他のパーティションのイメージも書き出して戻してやることも出来たのでしょうけど、生憎当時は IDE 用のハードディスクケースしかありませんでした。故障したハードディスクを再びパソコンに戻せば、イメージバックアップできたのですが、実は、このパソコンのハードディスク交換には非常に手間取っていて、もう少しでねじ山を潰してしまいそうな勢いでした。ですので、出来ればハードディスクの再交換は避けたかったので、一旦インストールディスクから Windows 7 をクリーンインストールして、OS の入ってるパーティションにバックアップしたイメージを復元する方法をとりました。

今度は、無事に起動! 破損部分にあったと思われるディズニーランドの写真が一枚壊れていましたが、後は目に見えた欠落部分は無く故障前の状態に戻せました。紆余曲折を経ましたが何とか思い通りの結果に辿り着きました。

今回は ubuntu が大活躍でした。EeePC で使っている人は多いようですが、私は初めて ubuntu に触れました。ubuntu だけでなく、Linux 全体に言えるのかもしれませんが、もはや Windows とほぼ同じ感覚で普通に使えますね。何もしなくても画面の解像度にも対応してるし、無線LANも認識してくれてました。今回はライブCD を使いましたが非常用に USB メモリに ubuntu をインストールして持っておこうかな。非常時だけでなく EeePC でも使えそうですしね。