日期:2014-05-17  浏览次数:20827 次

为Grub启动菜单添加Windows选项

安装Debian 6.0.5后,Grub启动菜单中没有把原来的Windows系统加到启动选项中,无法启动Windows。启动Windows有两种方法:

?

  • 在Grub命令行下,手工启动Windows
  • 修改Grub的配置文件grub.cfg,为Windows添加启动菜单

Grub版本:GNU GRUB Version 1.98+20100804-14+squeeze1

?

手工启动Windows

进入Grub启动菜单后,键入c,进入Grub命令行

1. 用ls命令,查看硬盘和分区信息,找到Windows系统的启动分区

?

grub> ls -l
?

2. root命令确定要启动的分区,?

?

grub>root (hd0,msdos1)
?

3. chainloader命令将控制权将给Windows的boot loader,自己不用管理加载内核等工作

?

grub>chainloader +1
?

注意:chainloader要知道的是如何找到Super Block,因而需要设定启动的root分区和所在扇区。命令使用chainloader (hd0,msdos1)+1。如何执行过root (hd0, msdos1),则可简化为chainloader +1。命令参数中的+1,是指定分区上的第一个扇区。

另,chainloader并不负责加载工作,主要用于设置启动Windows等非Linux系统的参数,交给这些系统的boot loader自已启动。因而,如果要启动linux,则不使用chainloader。

?

4. 启动Windows

?

grub>boot
?

为Grub菜单添加Windows 启动项

在grub的配置文件\boot\grub\grub.cfg中添加Windows启动菜单。

1. 设置默认启动的操作系统

?

set default="2"
?

default的值设置,0表示第一次Grub启动菜单项,余下以此类推

?

2. 设置Grub启动菜单的Timeout时间

?

set timeout=30
?

3. 添加Windows启动菜单

?

### BEGIN /etc/grub.d/30_os_prober ###
menuentry 'Windows 7 Ultimate' {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos1)'
	chainloader +1
}
### END /etc/grub.d/30_os_prober ###
?

在grub命令行下,也可以查看grub.cfg配置文件

?

grub>cat (hd0,msdos10)/boot/grub/grub.conf