Windows 7 が 起動しないときのメモ
不覚にも
ubuntuのデュアルブートを構築している環境で
Windowsを起動し、パーティションごとubuntuを削除してしまうと
次回起動時に
grub Rescue>
というのが表示されて起動できなくなる
"ls"コマンドを使えるのは、確認したのだが
他のコマンドは使えない。
もしも使える方がいれば教えてほしい。
ちなみにGrub2マニュアル*1にgrub rescueの項目があります。
はて、どうやって復旧させようと思った時に
優しい先輩方がGrubを再構築させればいいとおっしゃったので。
別HDDにある、LinuxのGrubからブートローダを読みだすことにした。
無事に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→BIOS→MBR→ブートローダー→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を使ってブートローダを復旧できそうです。