用Windows引导器启动Grub

出自Linux Wiki

在2012年11月27日 (二) 09:50由LinuxCook (讨论 | 贡献)所做的修订版本

一般Linux、Windows双系统用户习惯用Linux的启动管理器Grub引导Windows,但由于以下原因,有时还需要用Windows的引导器引导Grub:

  • 需要保留电脑的一键恢复功能。将Grub写至MBR一般会损坏这一功能。
  • 重新安装Windows系统后,MBR中的Grub被Windows覆盖。此时要想启动Linux而又没有Linux修复盘,可采用此文的方法。

现主要有两种方案,EasyBCD的NeoGrub和GRUB4DOS。其中NeoGrub是私有软件,随EasyBCD提供;而后者GRUB4DOS则是开源的。(事实上NeoGrub是GRUB4DOS的衍生软件 [1]

目录

NeoGrub

安装EasyBCD,在里面找一下就行了……适用于依靠BCD(Boot Configuration Data)启动的Windows系统(如Windows 7, Windows Vista等)

Grub4DOS

不同时代Windows的配置方式不同:

Windows XP/2000

下载必要文件

网上一般要求下载grub for dos,但实际上只要有grldr一个文件就可以了,可以从这里直接下载(2009年2月15日更新),解压、并把这个文件放在C盘根目录下。

来源:Grub 资料下载

编辑boot.ini

在Windows中,"我的电脑"上点右键->属性->高级->启动和故障恢复右边的"设置"->上半部分的"编辑"出现用记事本打开的boot.ini文件。

在文件的末尾,加上一行

c:\grldr="GRUB"

保存文件,退出,重新启动。

如果不出意外的话,重启后就可以进入Grub,可以用它启动Linux。

Windows 7/Vista

依靠BCD(Boot Configuration Data)启动的Windows系统(如Windows 7, Windows Vista等),可以使用bcdedit配置[2]

首先下载完整的grub4dos,本站提供了镜像文件,解压后,把grldrgrldr.mbrmenu.lst(可选)都放到C盘根目录。

用管理员身份运行“命令行提示符”(在相应菜单项上按右键,选管理员身份运行),先建立一个菜单项

bcdedit /create /d "Grub4Dos" /application bootsector

此时会得到一个字符串,下面用id代替上一命令得到的字符串

bcdedit /set {id} device partition=C:
bcdedit /set {id} path \grldr.mbr
bcdedit /displayorder {id} /addlast

如果要设Grub4Dos为默认,则

bcdedit /default {id}

来源:Grub 解决方案

参考资料

  1. Wikipedia: EasyBCD
  2. http://hi.baidu.com/%BF%B5%BD%A1/blog/item/c906c3fd8b67c740d7887d55.html
个人工具
简体繁体转换