GRUBの復元

EeePCWindows 7 RCを入れたら、ブートローダが上書きされて、Ubuntuを起動できなくなってしまった。当たり前だが。
EasyBCDとかで復活できるかなー、と思ってやってみたんだがうまくいかないので、ここらへんを見ながら、GRUBを復元してみた。以下、メモ。

Live CD(と言っても、USBメモリ)でUbuntuを起動。オレはよりによって/bootをext4で作ってしまったので、9.04を起動しないとだめだった。

  1. grubを起動。
    $ sudo grub
  2. grubがインストールされているパーティションを探す。/bootを別パーティションにしていたので、検索パスは/grubから始まる・・・てのに気づくのに10分くらい悩んだ。
    grub> find /grub/stage1
    (hd0,4)
  3. 見つかったgrubから起動するように設定して終了。
    grub> root (hd0,4)
    grub> setup (hd0)
    Checking if "/boot/grub/stage1" exists... no
    Checking if "/grub/stage1" exists... yes
    Checking if "/grub/stage2" exists... yes
    Checking if "/grub/e2fs_stage1_5" exists... yes
    Running "embed /grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
    succeeded
    Running "install /grub/stage1 (hd0) (hd0)1+17 p (hd0,4)/grub/stage2 /grub/menu.lst"... succeeded
    Done.
    grub> quit

リブートしたら、無事GRUBが起動して、Ubuntuを選択できるようになった。
めでたしめでたし。