質問: ubuntu 8.04 amd64 でのデュアルブートについて ubuntu 8.04 amd64 と windows xp とのデュアルブートについて質問させてください。 ntldr から grub を起動し、ubuntu を起動したいのですが、grub が起動したところで "grub _" という表示で止まってしまいます。 (/dev/sda mbr にもインストールしてみましたが、error 17 で停止しました) windows xp がインストールされている pc に ubuntu をインストールしました。 今回 ubuntu 用に hdd を新たに用意し、その hdd にインストールしました。 $fdisk -l で確認すると次の様になっています。 デバイス boot start end blocks id system /dev/sda1 * 1 14945 120045681 7 hpfs/ntfs /dev/sdb1 * 1 18212 146287858+ 83 linux /dev/sdb2 18213 19457 10000462+ 82 linux swap / solaris sda1 に windows xp, sdb1 に ubuntu を入れました。 grub はインストール時の advanced? で sdb1 にインストールするように指定し、 インストール後に下記を実行し、ubuntu.pbr を c:/ にコピーしました。 #sudo dd if=/dev/sdb1 of=ubuntu.pbr bs=512 count=1 c:/boot.ini を開き、下記一行を追加しました。 c:/ubuntu.pbr="ubuntu 8.04" この状態で再起動を行うと、ntldr で os の選択ができるようになりました。 ただ、ubuntu を選択しても "grub _" で止まってしまいます。 私なりに色々調べ、/boot/grub/menu.lst, /etc/fstab の設定が 間違っていると思っているのですが、それが分かりません。 /boot/grub/menu.lst(抜粋) title ubuntu 8.04, kernel 2.6.24-16-generic root (hd1,0) kernel /boot/vmlinuz-2.6.24-16-generic root=uuid=f45dc388-eb3f-4ab7-ada0-26b0aaafa63c ro quiet initrd /boot/initrd.img-2.6.24-16-generic quiet uuid 指定を /dev/sdb1 とかにしてみても変わりませんでした。 /etc/fstab # proc /proc proc defaults 0 0 # /dev/sdb1 uuid=f45dc388-eb3f-4ab7-ada0-26b0aaafa63c / ext3 relatime,errors=remount-ro 0 1 # /dev/sdb2 uuid=27ba0857-3dbe-47ff-b7ab-d78e0b211ced none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 livecd を起動し言語を指定した後に f6 でオプションが指定できるのですが、 boot=casper というのを root=/dev/sdb1 に指定することで hdd を起動することができています。 長くなってしまいましたが、よろしくお願いします。
回答: ブートストラップローダをwindowsxp側に設定する 意図が分からないのですか。 grubのブートストラップローダの動きの方が、柔軟性があり、 どちらかというと、windowsよりも高度だと思っているのですが。 まず基本となるのは、mbrは、システムで一つであり、 そこからリンクしたもので動くと思います。 しかも、マスターとスレーブがあれば、必ずマスター側の mbrを読み込むことになっていると思うのですが。 よって、スレーブ側に、mbrを書き込んだとしても何の 意味もないのではないかと。 boot.iniには、 > c:/boot.ini を開き、下記一行を追加しました。 > c:/ubuntu.pbr="ubuntu 8.04" この一行だけでは、ubuntuの標識だけで、中身がないため、 だめだと思われます。 かといって、下記のようにフル指定やってみたとしても、 windows側のブートストラップ動作が分からないので、 正しく起動するとは思えないです。 title ubuntu 8.04, kernel 2.6.24-16-generic root (hd1,0) kernel /boot/vmlinuz-2.6.24-16-generic root=uuid=f45dc388-eb3f-4ab7-ada0-26b0aaafa63c ro quiet initrd /boot/initrd.img-2.6.24-16-generic quiet 柔軟性のある、grubを利用しないのかは それなりの理由があるとは思います。 しかし、/bootパーティションだけを、マスター側に持たせておけば、 linuxを使わない場合は、スレーブ/dev/sdbの電源は切って置けるし、 windows xpのmbrのことが気になるようなら、 ddコマンドでフロッピーやhddにセーブしておけばよいと思いますけど。