Windows 7 が 起動しないときのメモ

不覚にも
ubuntuデュアルブートを構築している環境で
Windowsを起動し、パーティションごとubuntuを削除してしまうと
次回起動時に

grub Rescue>

というのが表示されて起動できなくなる

"ls"コマンドを使えるのは、確認したのだが
他のコマンドは使えない。
もしも使える方がいれば教えてほしい。

ちなみにGrub2マニュアル*1grub rescueの項目があります。

はて、どうやって復旧させようと思った時に
優しい先輩方がGrubを再構築させればいいとおっしゃったので。

別HDDにある、LinuxGrubからブートローダを読みだすことにした。
無事にWindowsが起動したのだが、Grubの再構築に苦戦した。

Grub for DOS*2というOSSを用いて
Grubを再構築し、再起動・・・。

うまくいかなかった・・。


ここのサイト*3を参考にした。

やはり、起動ディスク*4がないとだめで
そこで、修復を選んでも修復できなかったとき
キャンセルを選んで、コマンドプロンプト

bootrec /fixboot

bootrec /fixmbr

を打ち込めば問題が解決するはず。

何をやっているかといえば

ブートローダを復旧させて
マスターブートレコードを書き換えているのだ。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1330075623

MBRはハードディスク(SSDとかも含む)の最初のほうに格納されてます。
でもって、MBRブートローダーの場所が書かれているので、MBRをまず読み込んで、次にブートローダーを読み込みます。
電源ON→BIOSMBRブートローダー→OS起動
といった流れかと思われます。

らしい。

どこにあるとかは、学部の頃の授業では、習わなかったなぁ
教えてほしい内容であることは、たしかなのに。

ディスクの先頭にあるMBRを呼びに行き
アクティブなパーティションに存在する
ブートローダ(プログラム)を読み込み、実行し
ブートローダの設定ファイルを引数としてとる*5
それの情報をもとに、どのOSを読み込むのかをかえす。
"/"(ルートディレクトリ)がどこにあるのかコンピュータに教える。

こういうながれであろう。

こういう時にタネンバームの本が大変役に立つと思った。

When the computer starts , the first sector of the boot disk(Master boot record) is read into memory and executed.

OS作りたい。。

追記======================
http://www.computerworld.jp/topics/mws/164289.html
WindowsPEを使ってブートローダを復旧できそうです。