首页 > LAMP > grub2几种修复方法

grub2几种修复方法

ubuntu 9.04以后的版本都是使用grub2了…grub要被ubuntu抛弃了~ 不太清楚其他linux发行版使用哪个,还是熟悉一下吧。。。

1. 双系统重装windows造成grub2被改写的修复

方法一 grub4dos0.4.4
在Windows启动项上加上grub4dos启动(不多说了,看置顶贴),重启选择进入grub,在命令行下输入(/boot单独分区的去掉 /boot)

代码:
grub>find –set-root /boot/grub/core.img
grub>kernel /boot/grub/core.img
grub>boot

进入grub2菜单,进入系统后再执行

代码:
sudo grub-install /dev/sd?

方法二 进入Livecd 后修复(感谢billbear)


sudo -i
mount 你的根分区 /mnt
mount 你的/boot 分区 /mnt/boot #如果有的话
#挂载你其他的分区,如果有的话
# 重建grub到sda的mbr
grub-install –root-directory=/mnt /dev/sda

2. 由于root分区uuid改变造成的不能正常启动,只能进入grub rescue模式的修复


grub rescue>set
grub rescue>prefix=(hd?,?)/grub
grub rescue>root=hd?,?
grub rescue>set root=hd?,?
grub rescue>set prefix=(hd?,?)/boot/grub
grub rescue>set
grub rescue>root=hd?,?
grub rescue>prefix=(hd?,?)/boot/grub
grub rescue>insmod /boot/grub/normal.mod
grub rescue>normal

这时就可以调出 /boot/grub/grub.cfg,修改相应uuid,
改到命令行下

grub>insmod /boot/grub/linux.mod
grub>set root=hd?,?
grub>linux /boot/vmlinuz-*** root=/dev/sd??
grub>initrd /boot/initrg.img-****
进入系统
hd?,? 是grub文件所在分区 sda? 是/分区。

3. grub模块和配置文件grub.cfg受损无法启动时修复

Livcd启动进入试用


sudo -i
mount 你的根分区 /mnt
mount 你的/boot 分区 /mnt/boot #如果有的话
# 挂载你其他的分区,如果有的话

# 重建grub到sda的mbr
grub-install –root-directory=/mnt /dev/sda

# 重建grub.cfg
mount –bind /proc /mnt/proc
mount –bind /dev /mnt/dev
mount –bind /sys /mnt/sys
chroot /mnt update-grub
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc

原文地址:http://goo.gl/1viZ

grub2基础教程:http://goo.gl/EAgr

分享到:人人网开心网QQ微博新浪微博豆瓣腾讯空间百度

分类: LAMP 标签: ,
  1. 2010年8月20日07:55 | #1 CHINA Google Chrome Windows
      

    显卡、网卡驱动没解决= =启动什么的都是浮云

  2. 2010年8月20日08:51 | #2 CHINA Mozilla Firefox Windows
      

    不了解,学习一下吧!

  3. 2010年9月2日15:20 | #3 CHINA Google Chrome Windows
      

    先用分区工具讲各个系统所需要的分区类型设置好,然后安装,这样避免了各种的启动错误,然后对于经验不足的用户,一点点的修改进行还是挺复杂的。