不像 Unix 和 Linux,Windows 属于不支持多启动的操作系统,要能够通过 GRUB 引导 Windows,需要使用 GRUB 的链式(chain-load)启动功能。
不像 Unix 和 Linux,Windows 属于不支持多启动的操作系统,简单的在 grub.conf 配置文件中使用 kernel 和 init 选项,无法实现对 Windows 的引导。要能够通过 GRUB 引导 Windows,需要使用 GRUB 的链式(chain-load)启动功能。
对于配置文件的备份,通过使用 cp 命令即可完成
一般情况
要使用 GRUB 的链式启动功能引导 Windows,一般情况下,只需要向 grub.conf 配置文件中添加以下内容即可。
rootnoverify hd(0,0)
makeactive
chainloader +1
多硬盘的情况
如果你的机器上有两块以上的硬盘,并且 Windows 操作系统安装在第二块硬盘上,则还需要在配置中加入 map 命令,它们的作用是更改两块硬盘的映射关系
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,则应该使用以下配置
unhide hd(0,1)
hide hd(0,0)
root hd(0,1)
chainloader (hd1,0)+1
makeactive
boot
一般而言,大多数用户都属于第一种情况,只需要简单的几行配置就能够实现 Windows 的引导了。
更多 GRUB 的配置和用法,可以参考 GNU 官方的 GRUB 使用手册(英文)