替Grub启动菜单添加Windows选项

为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