将 Windows 7 添加到启动菜单

Cum*_*tru 6 boot grub2 dual-boot 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
Run Code Online (Sandbox Code Playgroud)

最初我安装了 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
}
Run Code Online (Sandbox Code Playgroud)

这是之后 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
Run Code Online (Sandbox Code Playgroud)

后来编辑:

我已经添加了以下内容, /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
}
Run Code Online (Sandbox Code Playgroud)

小智 8

这是我的 Windows 7 加载器:

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

如果您复制并粘贴它,这应该可以工作,但我认为您不应该将它放在 menu.lst 文件中。它应该进入 /etc/grub.d/40_custom