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

Unix/Linux
Linux crontab定时执行任务 命令格式与详细例子
linux 查看用户及用户组的方法
让Linux系统有效防御ARP攻击的实用技巧
Linux 常用软件列表
linux wget 一个强大的下载命令
linux 常用脚本、命令
linux 磁盘配额 简单介绍
Linux服务器架设笔记 Squid服务器配置
ubuntu intel 集成显卡安装
ubuntu 9.04 X3100 显卡开启3D特效
Ubuntu 8.10 Server Ruby 的安装方法
Ubuntu root帐户密码修改
ubuntu下apt-get 命令参数
Ubuntu Linux下实现QQ的三种方式
Ubuntu 8.04中建立PHP+MySQL环境
Ubuntu常用软件大全
Ubuntu系统下安装Aircrack-ng
Ubuntu实现FTP功能
ubuntu 字体美化实现方法
ubuntu下netbeans汉字显示残缺问题

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 108 ::
收藏到网摘: 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照抄就行,注意空格。