当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux和Windows双系统Grub丢失恢复

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 Linux和Windows双系统Grub丢失恢复


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 107 ::
收藏到网摘: n/a

当我们每次要重装WIN的时候,MBR都会被重写,这样原来的GRUB或LILO就会不见了,或者由于某些原因使得原来的GRUB不见了,这个时候只要重装GRUB就行了。

GRUB的重装方法有很多,这种方法不行,换一种试下:

1.用安装光盘启动,选升级安装,再只选安装GRUB行了。

2.用安装光盘启动,到BOOT那里输入linux rescue也就是进入救援模式,到出现#命令提示符时,输入chroot /mnt/sysimage,然后再输入grub-install /dev/hda,搞定...

3.没有软驱如何修复grub/lilo引导菜单?

a.把第一张linux安装盘里的dosutils目录复制到windows盘中。如果是iso可以用winrar3提取。

b.进入纯dos,进入dosutils目录,执行loadlin autoboot/vmlinuz root=/dev/hdxx()hdxx是你的linux根分区。这样就能进入linux。

c.执行grub-install /dev/hdx(x=a,b,c,d) 或lilo即可以重写引导。

另外还可以参考:http://www.linuxfans.org/nuke/modul...iewtopic&t=5101

4.如果你用grub来引导linux和windows,当windows出毛病重新安装后,会破坏MBR中的grub,这时需要恢复grub。

a.把linux安装光盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。

b.等安装界面出来后,按[F4]键,也就是linux rescue模式。

c.一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。

d.然后会出现这样的提示符:

sh#

e.我们就可以操作GRUB了.输入grub:

sh#grub

会出现这样的提示符:

grub>

我们就可以在这样的字符后面,输入:

grub>root (hdX,Y)

grub>setup (hd0)

如果成功会有一个successful......

这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。

另外说下,有人说我没安装光盘啊?我是从硬盘安装的.呵呵,那你的ISO文件还在吧..那再来次硬盘安装进入安装界面也是一样的....

5.如何把GRUB或LILO删掉?

只要在DOS下执行FDISK /MBR就行了...

如何配置grub?

修改/boot/grub/grub.conf文件。其中

“default=n”(n是个数字)是grub引导菜单默认被选中的项,n从0开始,0表示第一项,1表示第二项,依此类推。

“timeout=x”(x是一个数)是超时时间,单位是妙。也就是引导菜单显示后,如果x秒内用户不进行选择,那么grub将启动默认项。

“splashimage =xxxxxx”,这是引导菜单的背景图,先不理他。

其它常用项我用下面的例子来说明:

title Red Hat 8.0

root (hd1,6)

kernel /boot/vmlinuz-2.4.18-14 ro root=/dev/hdb7

initrd /boot/initrd-2.4.18-14.img

其中"Red Hat 8.0"是在启动菜单列表里显示的名字

root (hdx,y)用来指定你的boot分区位置,如果你没有分boot分区(本例就没分boot分区),那就指向根分区就行了,hdx是linux所在硬盘,hd0是第一块硬盘,hd1是第二块,依此类推。y是分区位置,从0开始,也就是等于分区号减一,比如你要指向的分区是hdx7,那么y就是6,如果是hdx1,那y就是0。注意root后面要有一个空格。

kernel /boot/vmlinuz-2.4.18-14,其中"/boot/vmlinuz-2.4.18-14"是你要用的内核路径,如果你编译了心内核,把它改成你的新内核的路径就行了。

ro就不用管,写上不会有错。

root=/dev/hdxx指定根分区,本例是hdb7,所以root=/dev/hdb7

initrd xxxxxxxxxxxxx这行不要也行,目前我还不清楚它是做什么用的。

上面是linux的,下面是windows的

title windows 98

rootnoverify (hd0,0)

chainloader +1

title xxxxxxx不用解释了,上面有解释。

rootnoverify (hdx,y)用来指定windows所在分区,x,y跟上面一样,注意rootnoverify后有空格。

chainloader +1照抄就行,注意空格。