首页 > 代码库 > 修复grub

修复grub

 进入命令行模式,
#chroot /mnt/sysimage ;切换根目录
#grub2-install /dev/sda ;安装grub2到第一硬盘
#grub2-mkconfig -o /boot/grub2/grub.cfg ;更新配置文件
#exit ;退出chroot
#reboot

在做双系统时,如果先安装centos,再安装win,启动时不会有任何问题,但是如果顺序反过来或者双系统做好后又重装了win,MBR都会被重写,这样原来的GRUB或LILO就会不见了,或者由于某些原因使得原来的GRUB不见了,这个时候只要重装GRUB就行了,不需要重新linux系统。


  GRUB的重装方法有很多,这里记录一个在我电脑上安装成功的方法,我的系统是fedora14: 

  用安装光盘(或者刻好系统的u盘)启动, 进入安装界面后,选择rescue模式(求援模式),一直点ok,直到出现#命令提示符时,按顺序输入下面命令,

  1.chroot /mnt/sysimage

      2.grub-install /dev/sda---到底输入sda还是hda跟硬盘类型有关,如果分区全部为sda1,sda2……,那硬盘类型就是sda,否则就是hda

       出现“install finished ” "no error"等提示,就说明安装成功,再重启电脑,能进入grub的系统选择界面就好了。

 

 

CentOS在开机的时候,突然出现了GRUB引导错误,导致系统进入不了,遇到这种情况很多人就束手无策了,其实这类的问题不难解决,下面小编就给大家介绍下CentOS开机出现GRUB引导错误的解决方法,希望对你有所帮助。

技术分享

  解决办法:使用CentOS安装光盘进行开机GRUB引导修复

  具体操作:

  使用CentOS系统光盘引导计算机(系统盘要与原来安装的系统版本相同)

  如下图所示

技术分享

  按F5进入系统修复模式,出现下面的界面

技术分享

  输入:linux rescue 回车

技术分享 

  默认OK

  选择Continue出现下面的界面

技术分享

  输入:chroot /mnt/sysimage ,回车 #将当前目录切换到原来系统的根目录

技术分享

  继续输入:grub 回车,出现下面的界面

技术分享

  输入:root (hd0,0) 回车 #注意root与(hd0,0) 之间必须要有空格

  继续输入:setup (hd0) 回车 #注意root与(hd0) 之间必须要有空格

  再次输入:quit 回车 #退出grub模式

  最后输入:reboot #重启系统

  拿出光盘,grub修复完毕,可以正常进入系统

  备注:如果通过上面的操作还是无法正常进入系统

  可以在

  输入:chroot /mnt/sysimage 之后继续输入

  vi /boot/grub/grub.conf #编辑,添加以下内容(CentOS 5.9为例)

  # grub.conf generated by anaconda

  #

  # Note that you do not have to rerun grub after making changes to this file

  # NOTICE: You have a /boot partition. This means that

  # all kernel and initrd paths are relative to /boot/, eg.

  # root (hd0,0)

  # kernel /vmlinuz-version ro root=/dev/sda3

  # initrd /initrd-version.img

  #boot=/dev/sda1

  default=0

  timeout=5

  splashimage=(hd0,0)/grub/splash.xpm.gz

  hiddenmenu

  title CentOS (2.6.18-348.el5)

  root (hd0,0)

  kernel /vmlinuz-2.6.18-348.el5 ro root=LABEL=/

  initrd /initrd-2.6.18-348.el5.img

  :wq! #保存退出

  输入:quit 回车 #退出grub模式

  输入:reboot #重启系统

  一般都可修复成功,正常进入系统。

技术分享

  如果系统是通过U盘安装的,拔了U盘之后就进不了系统,插上U盘又可以正常启动

  可以采用如下方法修复

  插上U盘,正常进入系统

  输入:grub-install /dev/sda #安装grub到sda

  vi /boot/grub/device.map #编辑修改为       7.0为 /boot/grub2/device.map 

  (hd0) /dev/sda

  之前可能为:

  (hd1) /dev/sda

  (hd0) /dev/sdb

  vi /boot/grub/grub.conf #编辑修改里面的(hd1,0)为(hd0,0)

  title CentOS (2.6.18-348.el5)

  root (hd0,0

  kernel /vmlinuz-2.6.18-348.el5 ro root=LABEL=/

  initrd /initrd-2.6.18-348.el5.img

  后面的全部删除

  保存后重启,拿掉U盘,即可正常进入系统。

  上面就是CentOS出现GRUB引导错误的解决方法介绍了,遇到这个问题需要使用CentOS光盘进行grub引导修复,按照文章的步骤,问题轻松解决。

修复grub