web-dev-qa-db-ja.com

Windows 7をブートメニューに追加する

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS   - system restore
/dev/sda2              13        4674    37436416    7  HPFS/NTFS  - Windows 7
/dev/sda3            4674       58843   435116032    7  HPFS/NTFS -  data storage
/dev/sda4           58843       60802    15728640   83  Linux - Ubuntu 10.10

最初にStartUpManagerをインストールしました。これ(と思う)は、Linux + memtestの4つのインスタンスをブートメニューリストに追加しました。ただし、GRUBブートメニューは表示されませんでした。コンピューターは数秒後にUbuntuで起動します。

Windows 7を追加しようとしましたが、成功しませんでした。

これは、menu.lstファイルの一部です。

title        Ubuntu 10.10, kernel 2.6.35-24-generic
uuid        1c9748e2-2f11-4a6c-91c0-7310d48c4a7a
kernel        /boot/vmlinuz-2.6.35-24-generic root=UUID=1c9748e2-2f11-4a6c-91c0-7310d48c4a7a ro quiet splash
initrd        /boot/initrd.img-2.6.35-24-generic


title        Chainload into GRUB 2
root        1c9748e2-2f11-4a6c-91c0-7310d48c4a7a
kernel        /boot/grub/core.img

title        Ubuntu 10.10, memtest86+
uuid        1c9748e2-2f11-4a6c-91c0-7310d48c4a7a
kernel        /boot/memtest86+.bin


menuentry “Windows 7″ {
set root=(hd0,2)
chainloader +1
}

そして、これはupgrade-grubの後です

Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.35-24-generic
Found kernel: /boot/vmlinuz-2.6.35-22-generic
Found GRUB 2: /boot/grub/core.img
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done

後の編集:

以下を/etc/grub.d/40_customに追加し、menu.lstから非表示のメニュー行のコメントを外しましたが、ブートメニューが表示されません。また、ESCとSHIFTを押してみました。

menuentry "Windows 7 (loader) (on /dev/sda1)" {
  insmod part_msdos
  insmod ntfs
  set root='(hd0,msdos1)'
  chainloader +1
}

menuentry "Windows 7 (loader) (on /dev/sda1)" {
  insmod part_msdos
  insmod ntfs
  set root='(hd0,msdos0)'
  chainloader +1    
}

menuentry "Windows 7 (loader) (on /dev/sda1)" {
  set root= hd(0,0)
  chainloader +1
}

menuentry "!Windows 7 (loader) (on /dev/sda1)" {
  set root= hd(0,1)
  chainloader +1
}

menuentry "!!Windows 7 (loader) (on /dev/sda1)" {    
  set root= hd(0,2)
  chainloader +1
}
6
Cumatru

これは私のwindows 7ローダーです。

menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
chainloader +1
}

これをコピーして貼り付けると機能するはずですが、menu.lstファイルに配置する必要はないと思います。 / etc/grub.d/40_customに移動する必要があります

8
Micheal Harker

あなたはあなたのWindows 7のパーティションを知る必要があります。 (私にとっては「hd0、msdos2」)..使用できます。

menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os
$menuentry_id_option 'osprober-chain-9A4600EC4600CB49' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2  9A4600EC4600CB49
      else
      search --no-floppy --fs-uuid --set=root 9A4600EC4600CB49
      fi
      ntldr ($root)/bootmgr # <--- change this
}

または使用できます。

menuentry 'Windows 7 (loader1) (on /dev/sda2)' --class windows --class os
$menuentry_id_option 'osprober-chain-9A4600EC4600CB49' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2  9A4600EC4600CB49
      else
      search --no-floppy --fs-uuid --set=root 9A4600EC4600CB49
      fi
      ntldr /bootmgr  # <--- change this
}

または、bashを開く必要があります。

Sudo update-grub2

vi grub.cfg

** grub.cfgで**#<--- this this **でマークした行を変更します。その後..

Sudo grub-install /dev/sda

それでおしまい..

0
PowerOfThink