用Windows引导器启动Grub
出自Linux Wiki
一般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,本站提供了镜像文件,解压后,把grldr、grldr.mbr、menu.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}