GRUB2でブートできない。¶
家でジッとしているだけなのも何なので、空き領域にSidをインストールしたのだが、ブートローダをGRUB2にしたら、Windows xpが起動できなくなった。インストール時にはWindowsを自動検出したのだが、いざブート時には”Unknown Device”となり、ブートできない。で、ちょこちょこ遊んで見たところ、デフォルトのパーティションの指定が間違っているためだった。
パーティションは下記のようにしているのだが、
/dev/hda1 HPFS/NTFS
/dev/hda2 Linux(/boot)
/dev/hda3 Linux(/)
/dev/hda4 Extended
/dev/hda5 Linux swap
/dev/hda6 Linux(/home)
/boot/grub/grub.cfgのWindowsの指定が、
menuentry "Microsoft Windows XP Professional" {
set root=(hd0,0)
chainloader +1
}
となっているのだが、これが間違いで、
set root=(hd0,1)
としてやらなアカン。ただ、GRUB2からは設定ファイルのgrub.cfgを直にいじるわけではなく、テンプレートを変更してやるようなので、/etc/grub.d/30_otherosを編集してやった。
(修正前)
menuentry "Microsoft Windows XP Professional" {
set root=(hd0,0)
chainloader +1
}
(修正後)
menuentry "Microsoft Windows XP Professional" {
set root=(hd0,1)
chainloader +1
}
この後、update-grubコマンドを実行してやればOK。
$ sudo update-grub