と、最初にいっておきますが、Winの起動CDやらもっている人はそちらを試してみたほうがいいですwハイw
ここからはLinuxのブートCDもっている人は運よく治るかもしれない講座ですw
今回使ったのはKNOPPIX 5.1というLinuxのOSです。
もっていない人はダウンロードしてISOファイルを焼き、ブートCDを作るか、
Linux系の雑誌に付録でブートCDがついています。さて、ブートCDからKNOPPIX 5.1以上を立ち上げます。
そして、端末エミュレートを起動して下さい。
そしていくら壊れているとはいえ、MBRのバックアップを作りましょう。
まず、立ち上げたエミュに ddコマンドを打ち込みます。
ddコマンドの引数は以下のとおりです。
dd if=<入力ファイル> of=<出力ファイル> bs=<一度に読み込むバイト数(ブロック)> count=<読み込むブロック数>
<入力ファイル>はHDDのデバイスファイルです。
<出力ふぁいる>は好きなファイル名でおkです。
<一度に読み込むバイト数(ブロック)>はセクタのサイズなので「512」
<読み込むブロック数>は「1」になります。
なので実際のコマンドは
dd if=/dev/hda of=~/mbr-xp bs=512 count=1
というような感じになります。
実際の画面ではsudoコマンドと組み合わせて実行するので、
(太字のところが打ち込むコマンド)
$ sudo dd if=/dev/hda of=~/mbr-xp bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00450715 seconds, 114 KB/s $
ってな感じで太字を打ち込むと処理されて表示されます。
ちなみにこのMBRの中身が見たい人は以下を打ち込むと見れます。
$ hexdmp -C mbr-backup
です。多分みても数字だらけでわからないと思います。
そしてこのバックアップしたMBRを復元させたい、なんて人は
$ sudo dd if=./mbr-backupn of=/dev/hda bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00751447 seconds, 68.1 kB/s $
なんて感じで表示されると思います。もち太字のところを打ち込んでください。
気がついた人もいると思いますがさっきと逆なだけですw
ちなみに、bsの値を512じゃなく、446にすれば、MBRじゃなくブートストラップ・ローダーだけ書き戻せますw
さて、バックアップがとれたら今回の話題、MBRを初期化しましょうw
まず最初にMBRある場所を調べましょう。以下のコマンドです。
$ cat /proc/partitions
major minor #blocks name
3 0 10485760
3 1 10474348
240 0 5885376 cloop0
240 2 4908800 cloop2
こんな感じで表示されます。何度もいうけど打ち込むのは太字の部分ですw
もうひとつの確認方法はHHDアイコンにマウスポインタを合わせるとポップアップ表示されるのでそれで確認できますw
んで、hda1が表示されていたら「1」をとって「hda」に/devを加えた
/dev/hdaがMBRの場所になります。おk?
MBRが/dev/hdaだとしたら
$ sudo install-mbr /dev/hda
と打ち込むとMBRが初期化されますw
あとは再起動してみましょうw運がよければ、Winが起動するはずです。
起動しなくてもリカバリーくらいはできるようになっているはずです。
これでメーカーに何日もあずけることなく治せますw