• ベストアンサー

windows7とlinux dual boot

windows7とlinuxのdual bootにしていてデフォルトをwin7にしていましたが、何故か突然 os選択画面でlinuxが選択されるようになりました。 startup managerで設定しなおしても戻りません。 easyBCDというソフトでみてもデフォルトはwin7になっています。 何とか元に戻す方法はないでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • 486HA
  • ベストアンサー率45% (1013/2247)
回答No.6

 WindowsとUbuntuのマルチ・ブートで、Grub2をBoot Loaderとしている時、EasyBCDではDefault Bootを規定出来ません。 Grub2について熟知していない限り「/boot/grub/grub.cfg」 を直接編集すべきではありません。 :>startup managerで設定しなおしても戻りません。 補足された内容から判断するとUbuntu 11.04であると思われますが、Grub2起動メニューからマニュアル選択で Windows7は起動できているのでしょうか?  一度、Ubuntuの端末で「sudo update-grub」を実行して、再起動してから「startup manage」を試してみてください。 Grub2のWindows7起動情報が記載されていませんでしたが(敢えて補足しなくても可もいませんが)。  Grub2起動メニューの該当する行の上で上で「E」を押すことで、以下のように表示されていますか? Windows 7 (loader) (on /dev/sda2) ; dev/sda2 一台目のハード・ディスクの2番目のパーティション insmod part_msdos2 ; part_msdos2 二番目の insmod ntfs ; パーティションのフォーマット情報 set root = '(hdo,msdos2)' ; アクティブ・パーティション 以下省略

davidbatt
質問者

お礼

回答有難う御座いました。

その他の回答 (6)

  • 486HA
  • ベストアンサー率45% (1013/2247)
回答No.7

回答に対する補足を再検討してみました。 Ubuntuのパーティションは「msdos6」ということは拡張パーティション上の論理ドライブであることになります。 このようなケースでは、WindowsOSをDefault起動として「startup manager」で正常に設定できないことがあります。  例えば、「Windows 7 (loader) (on /dev/sda2)をDefaul起動にに設定しても、 再起動すると「Windows Recovery Env」がDefault起動に変化します。  従って、「startup manager」で期待した結果になるかどうかは、 設定してから再度「startup manager」を立ち上げて確認する必要があるということになります。

davidbatt
質問者

お礼

回答有難う御座いました。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

回答No.1のお礼にgrub.cfgの全文らしい投稿がありますね。 画像から判断する範囲ではパラメータが違っているようです。 set default="7" → set default="6" 画像ではエントリーが7項目なので "0"から"6"の範囲で指定すべきです。

davidbatt
質問者

お礼

回答有難う御座いました。

  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.4

No.1 の補足です。 質問とは関係ありませんが添付画像では GNU GRUB Version 1.99~rc1 となっていますね。 すでに現在では rc ではなくて 正式に GNU GRUB Version 1.99 です。 余裕があれば最新のgrubにアップグレードしてみてはどうでしょうか。 参考までに下記サイト参照。 事例はFedoraですが Ubuntuでも同様にインストール可能です。 ---grub2 http://ftlabo.sakura.ne.jp/linux/grub2/grub2.html

davidbatt
質問者

お礼

回答有難う御座いました。

  • yakan9
  • ベストアンサー率54% (2245/4126)
回答No.3

> 何故か突然 > os選択画面でlinuxが選択されるようになりました。 Linuxは、Ubuntuのようですね。 Ubuntuは、Kernel更新時、/boot/grub/grub.cfgでUbuntuを起動順位を変更してしまうと思います。 grub.cfgは、Writeパーミッションがついていないため、属性変更して、更新しないといけないと思います。 当方も、このBUGのような仕様が嫌なので、grubブートは、他のLINUXを利用するようにしていました。 いろいろ不具合が多くて、Ubuntuは使用しておりません。 Fedoraや、Vineのgrubブートを使用して、Ubuntuをコールするのが楽だと思います。 以前、Ubuntuの日本語フォラムでこの質問をした折、非常に面倒な回避策を試してみましたがだめなようでした。 Ubuntuでは、たくさんの不具合を経験して、現在は使用を中止しています。 不具合の大きな項目は、パーティションをたくさん作って、Linuxごとに、/,/boot,swapの3パーティションを作っていましたが、 他のLinux(当方の場合、Vineのパーティションを削除されるといった不具合)のパーティションやその下に作っていたパーティションを削除され、testdiskで復旧させないといけないといった現象です。 その他、kernelの世代管理の不具合とかありますね。 人気の方が先になって、こうした不具合は、多いようです。 現在は、Windows XP,Fedora15,Vine5.2,Debian5.0.7を入れ遊んでいます。 乗り換えをお勧めします。

davidbatt
質問者

お礼

回答有難う御座いました。

  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.2

No.1の続きです。 肝心のWindows7のメニュー情報(menuentryという部分)がオーバーフローで欠けていますが、次のような手順で作業してみてください。 startup manager や easyBCD だけに頼ると対応できていない場合もあります。 1. /etc/default/grub ファイルの設定記述を編集する。 GRUB_DEFAULT=0 のような記述部分があれば下記のように記述(2行になる)してください。 なお、"Windows 7 (loader) (on /dev/sda2)" の部分はNo.1の添付画像を見て作成したものです。 やっていることはDEFAULTを「数字ではなくて名前で」設定していることです。 文字列がメニューと一致していることが重要なので、途中のスペースも大切ですので正しく入力してください。(名前を確認するには /boot/grub/grub.cfg ファイルの中の名前を確認すればOKです) #GRUB_DEFAULT=0 GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda2)" 2. 設定を反映させる。 update-grub2 と入力して設定をメニューに反映させる。 ---PC再起動してデフォルトに変化があるかどうか確認してください。 デフォルトに変化があれば startup manager での設定は効かない、ということになります。

davidbatt
質問者

お礼

回答有難うございました。 やってみます。

  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.1

> デフォルトをwin7にしていましたが、・・・。 「PC起動すると添付画面のgrubメニューの7番目(win7)が選択状態(デフォルト)になっていたが、現在は1番目のUbuntuが選択状態になってしまった」という意味であれば、 /boot/grub/grub.cfg ファイルの set default=0 を set default=6 に変更すればwin7がデフォルトで起動します。 grub.cfg ファイルの内容をそのままコピーして貼り付けて公開してください。 > startup managerで設定しなおしても戻りません。 何をどのように設定しなおしたのか、誰が読んでもわかるように具体的に書いてください。 > easyBCDというソフトでみてもデフォルトはwin7になっています。 その状況を誰が読んでもわかるように具体的に書いてください。

davidbatt
質問者

お礼

回答有難うございます # # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then set have_grubenv=true load_env fi set default="7" if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function recordfail { set recordfail=1 if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi } function load_video { insmod vbe insmod vga insmod video_bochs insmod video_cirrus } insmod part_msdos insmod ext2 set root='(/dev/sda,msdos6)' search --no-floppy --fs-uuid --set=root e159fa83-40b5-4039-aae8-248d9c10c3dc if loadfont /usr/share/grub/unicode.pf2 ; then set gfxmode=auto load_video insmod gfxterm fi terminal_output gfxterm insmod part_msdos insmod ext2 set root='(/dev/sda,msdos6)' search --no-floppy --fs-uuid --set=root e159fa83-40b5-4039-aae8-248d9c10c3dc set locale_dir=($root)/boot/grub/locale set lang=ja_JP insmod gettext if [ "${recordfail}" = 1 ]; then set timeout=-1 else set timeout=10 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=white/black set menu_color_highlight=black/light-gray if background_color 44,0,30; then clear fi ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_linux ### if [ ${recordfail} != 1 ]; then if [ -e ${prefix}/gfxblacklist.txt ]; then if hwmatch ${prefix}/gfxblacklist.txt 3; then if [ ${match} = 0 ]; then set linux_gfx_mode=keep else set linux_gfx_mode=text fi else set linux_gfx_mode=text fi else set linux_gfx_mode=keep fi else set linux_gfx_mode=text fi export linux_gfx_mode if [ "$linux_gfx_mode" != "text" ]; then load_video; fi menuentry 'Ubuntu, with Linux 2.6.38-10-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail set gfxpayload=$linux_gfx_mode insmod part_msdos insmod ext2 set root='(/dev/sda,msdos6)' search --no-floppy --fs-uuid --set=root e159fa83-40b5-4039-aae8-248d9c10c3dc linux /boot/vmlinuz-2.6.38-10-generic root=UUID=e159fa83-40b5-4039-aae8-248d9c10c3dc ro quiet splash vt.handoff=7 initrd /boot/initrd.img-2.6.38-10-generic } menuentry 'Ubuntu, with Linux 2.6.38-10-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os { recordfail set gfxpayload=$linux_gfx_mode insmod part_msdos insmod ext2 set root='(/dev/sda,msdos6)' search --no-floppy --fs-uuid --set=root e159fa83-40b5-4039-aae8-248d9c10c3dc echo 'Loading Linux 2.6.38-10-generic ...' linux /boot/vmlinuz-2.6.38-10-generic root=UUID=e159fa83-40b5-4039-aae8-248d9c10c3dc ro single echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-2.6.38-10-generic } submenu "Previous Linux versions" { menuentry 'Ubuntu, with Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail set gfxpayload=$linux_gfx_mode insmod part_msdos insmod ext2 set root='(/dev/sda,msdos6)' search --no-floppy --fs-uuid --set=root e159fa83-40b5-4039-aae8-248d9c10c3dc linux /boot/vmlinuz-2.6.38-8-generic root=UUID=e159fa83-40b5-4039-aae8-248d9c10c3dc ro quiet splash vt.handoff=7 initrd /boot/initrd.img-2.6.38-8-generic } menuentry 'Ubuntu, with Linux 2.6.38-8-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os { recordfail set gfxpayload=$linux_gfx_mode insmod part_msdos insmod ext2 set root='(/dev/sda,msdos6)' search --no-floppy --fs-uuid --set=root e159fa83-40b5-4039-aae8-248d9c10c3dc echo 'Loading Linux 2.6.38-8-generic ...' linux /boot/vmlinuz-2.6.38-8-generic root=UUID=e159fa83-40b5-4039-aae8-248d9c10c3dc ro single echo 'Loading initi

davidbatt
質問者

補足

文字数オーバーなのでこちらに失礼します。 以前同じ事が起こった時にこちらのサイトでlinuxのstart-up managerで デフォルトのosを設定すれば簡単に変更出来ると教わったのでそのstart-up manager でデフォルトをwin7に設定しました。 しかし起動時os選択画面で自動的に選択されているのは画像の様に一番上の linuxです。

関連するQ&A