色々パターンがあるみたいけど、今回僕がハマったパターンは、
ubuntuのアップデート後に再起動して、OS選択画面で「Ubuntu」を選択したら
Unknown command (loadfont)
と一瞬表示されてから自動的にまた再起動されてしまう、というもの。
色々試してみた結果、下記のページに掲載されている、
LiveCDで一旦起動してgrub.cfgを書き換える方法で起動できるようになった。
http://ubuntuforums.org/showthread.php?p=10170093
実際やったのは、
LiveCD(Ubuntu 10.04)を作成してCDからUbuntuを起動する。
LiveCDは下記のURLでUbuntuのisoイメージをダウンロードしてCD-Rに焼けば作れる。
http://www.ubuntu.com/desktop/get-ubuntu/download
起動したらターミナルを開き、下記のコマンドを実行。
sudo mkdir /media/win sudo mount /dev/sda2 /media/win sudo mount -o loop /media/win/ubuntu/disks/root.disk /mnt sudo cp /mnt/boot/grub/grub.cfg /mnt/boot/grub/grub.cfg.copy sudo chmod +w /mnt/boot/grub/grub.cfg gksu gedit /mnt/boot/grub/grub.cfg
2つ目のコマンドにある、/dev/sda2 はWindowsのCドライブが入ってるパーティションを指定する。
分からなかったらとりあえず /dev/sda1 なり /dev/sda2 なり存在するものをマウントしてみて、
/media/win にCドライブの内容がマウントされてたらそれでオッケー。
ちがうっぽかったら
sudo umount /media/win
すればアンマウントしてやりなおせる。
で、最後のgeditコマンドでgrub.cfgを編集する画面が起動するので、
そこで if loadfont してる部分をごっそりコメントアウトする。
こんな感じ。
#if loadfont /usr/share/grub/unicode.pf2 ; then # set gfxmode=640x480 # insmod gfxterm # insmod vbe # if terminal_output gfxterm ; then true ; else # For backward compatibility with versions of terminal.mod that don't # understand terminal_output # terminal gfxterm # fi #fi
あとは保存して再起動したらちゃんと起動してくれた。
LiveCDは終了時に排出してくれる。
「これで正しいか分からないよ!自己責任でやってね!」って書いてあるので、
実際正しい方法かどうかは分からない。