使用 GRUB 引导 Windows
由 lugir 于 星期二, 03/09/2010 - 11:03 发布
不像 Unix 和 Linux,Windows 属于不支持多启动的操作系统,要能够通过 GRUB 引导 Windows,需要使用 GRUB 的链式(chain-load)启动功能。
不像 Unix 和 Linux,Windows 属于不支持多启动的操作系统,简单的在 grub.conf 配置文件中使用 kernel 和 init 选项,无法实现对 Windows 的引导。要能够通过 GRUB 引导 Windows,需要使用 GRUB 的链式(chain-load)启动功能。
对于配置文件的备份,通过使用 cp 命令即可完成
~]# cp /boot/grub/grub.conf /boot/grub/grub.conf.bak
一般情况
要使用 GRUB 的链式启动功能引导 Windows,一般情况下,只需要向 grub.conf 配置文件中添加以下内容即可。
title Windows 7
rootnoverify hd(0,0)
makeactive
chainloader +1
rootnoverify hd(0,0)
makeactive
chainloader +1
多硬盘的情况
如果你的机器上有两块以上的硬盘,并且 Windows 操作系统安装在第二块硬盘上,则还需要在配置中加入 map 命令,它们的作用是更改两块硬盘的映射关系
title Windows 7
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
chainloader (hd1,0)+1
makeactive
boot
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
chainloader (hd1,0)+1
makeactive
boot
多主分区的情况
使用 GRUB 引导 Windows 可能出现的另一个问题,是同一块磁盘上安装了多个 Windows 操作系统,这样一来硬盘上就会有多个主分区。要让 GRUB 正确的引导某个 Windows 操作系统,你需要对 GRUB 隐藏不必要的主分区。假设在第一个分区 hd(0,0) 上安装了 Windows XP,在第二个分区 hd(0,1) 上安装了 Windows 7,而你希望引导 Windows 7,则应该使用以下配置
title Windows 7
unhide hd(0,1)
hide hd(0,0)
root hd(0,1)
chainloader (hd1,0)+1
makeactive
boot
unhide hd(0,1)
hide hd(0,0)
root hd(0,1)
chainloader (hd1,0)+1
makeactive
boot
一般而言,大多数用户都属于第一种情况,只需要简单的几行配置就能够实现 Windows 的引导了。
更多 GRUB 的配置和用法,可以参考 GNU 官方的 GRUB 使用手册(英文)