·天新网首页·加入收藏·设为首页
首页|笔记本|手机|数码相机|摄像机|MP3/MP4|主板|内存|显示器|办公|打印机|下载|开发|汽车|学院|业界
硬件|台式机|数码|数字家庭|投影仪|GPS/CPU|显卡|硬盘|服务器|网络|一体机|驱动|源码|游戏|考试|报价
您现在的位置:天新网 > 网络学院 > 工具软件 > 磁盘工具
Linux和Windows双操作系统Grub丢失恢复
http://school.21tx.com 2008年03月28日 赛迪网

  作者:korn

  当我们每次要重装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即可以重写引导。

  另外还可以参考: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照抄就行,注意空格。

  (责任编辑:云子)

上一篇: Linux操作系统启动流程与Grub的配置方法
下一篇: 新手学堂:Linux文件系统中的几个小常识

Google
 
学院频道推荐
学院热点文章
关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
晨新科技 版权所有 Created by TXSite.net