用Windows引导器启动Grub

此页由Linux Wiki用户Chenxing于2012年12月18日 (星期二) 08:09的最后更改。 在linuxCooklzh的工作基础上。

出自Linux Wiki

提示:此文已超过 11 年(4108 天)未更新,如发现内容过时或有误,欢迎改进:)

一般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盘根目录下。


编辑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}

参考资料

  1. Wikipedia: EasyBCD
  2. http://hi.baidu.com/%BF%B5%BD%A1/blog/item/c906c3fd8b67c740d7887d55.html

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
个人工具
简体繁体转换