Добавить Windows 7 в меню загрузки

5
   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. Это (я думаю) добавил еще 4 экземпляра Linux + memtest в мой список меню загрузки. Однако я не видел меню загрузки 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

Позднее Edit:

Я добавил следующее в /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
}
    
задан Cumatru 21.01.2011 в 18:26
источник

2 ответа

6

Это мой загрузчик 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

    
ответ дан Micheal Harker 21.01.2011 в 18:35
0

Yo должен знать ваше разделение 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

** измените строки, отмеченные символом ** # & lt; --- измените это ** в файле grub.cfg. и затем ..

sudo grub-install /dev/sda

вот и все ..

    
ответ дан PowerOfThink 09.11.2014 в 18:57