如何用dos工具修复grub

2025-04-29 20:39:09
推荐回答(1个)
回答1:

其实Grub4Dos的用处真是很大啊!

很多人会问,重装了xp,Linux起不来了怎么办,其实很简单,Windows重装的时候,重写了mbr。
其实我感觉grub从loading到进入菜单的时间比较长,我一直都是下载maxdos,进入dos以后fdisk /mbr。
这样主引导里面就没有grub的踪影了。Linux这时候怎么引导?
主角出场:用grub4dos。如果你用过各种各样的dos工具箱(给Windows安装一个硬盘引导的dos启动盘),那你肯定熟悉grub4dos。grub4dos的核心是一个grldr的文件。

废话少说:

用迅雷下载grud4dos,地址在ftp://ftp5.linuxeden.com/system/grub4dos-0.4.3.zip,解开压缩包,把grldr和menu.lst放到C盘根目录,然后修改boot.ini(什么?看不到c盘根目录boot.ini,那么请点击资源管理器菜单栏的工具->文件夹选项,再点查看,高级设置下面有一个选项:隐藏受保护的

操作系统文件(推荐),把前面的勾去掉,就可以了),在boot.ini最后添加一行:
C:\grldr=linux boot

grldr会搜索C盘根目录寻找menu.lst文件。

又到了menu.lst了,用记事本打开menu.lst,设置好vmlinuz和initrd路径,一般看起来是这样的:
title Red Flag Linux
root (hd0,n) #[此处的hd0是假设你放linux在第一块硬盘上,n是放linux的第几个分区]
kernel /boot/vmlinuz ro root=LABEL=/
initrd /boot/initrd.img
Boot

可能不爽的地方:更新内核以后,需要手动同步Windows的C盘的menu.lst的内容。否则无法用新内核启动。
解决方法很简单,grub很强大,支持一条configfile的命令:
把你的C盘根目录的menu.lst改成
timeout 5
configfile (hd0,6)/grub/menu.lst
这样,grldr就会重新加载(hd0,6)/grub目录下的menu.lst,显示这个menu.lst的启动菜单。
爽吧!更新了内核也不用修改Windows下面的任何东西了。重装系统也不怕了。仅仅需要两个文件(grldr和menu.lst),修改一个文件(boot.ini),一切就都OK。
不想选择两次才进入linux,可以修改C盘根目录menu.lst的timeout为00.