欢迎访问生活随笔!

生活随笔

您现在的位置是:首页 > 形式科学 > 操作系统 > Linux

Linux

Ubuntu Grub Rescue几种修复方法

发布时间:2022-06-04Linux 系统管理员
我昨天安装的Ubuntu9.10,安装完后在windows下我发现多出来一个小的未知分区,还有个大的我知道是linux的没动,我删了小的那个未知分区突然我后面的盘符都消失了,只剩C,D两个盘了

重启电脑直接进入grub rescue模式重启后的显示是
GRUB loading
error: no such partition
grub rescue>
连XP都进不了了,知道怎么办吗!
下面一起来看看grub2几种修复方法

1.Ubuntu Grub Rescue 双系统重装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?
Ubuntu Grub Rescue方法二 进入Livecd 后修复
引用:
sudo -i
mount 你的根分区 /mnt
mount 你的/boot 分区 /mnt/boot #如果有的话
#挂载你其他的分区,如果有的话
# 重建grub到sda的mbr
grub-install --root-directory=/mnt /dev/sda

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

  1. grub rescue>set  
  2. grub rescue>prefix=(hd?,?)/grub  
  3. grub rescue>root=hd?,?  
  4. grub rescue>set root=hd?,?  
  5. grub rescue>set prefix=(hd?,?)/boot/grub  
  6. grub rescue>set  
  7. grub rescue>root=hd?,?  
  8. grub rescue>prefix=(hd?,?)/boot/grub  
  9. grub rescue>insmod /boot/grub/normal.mod  
  10. grub rescue>normal  

 

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

  1. grub>insmod /boot/grub/linux.mod  
  2. grub>set root=hd?,?  
  3. grub>linux /boot/vmlinuz-*** root=/dev/sd??  
  4. 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
 

  1. mount --bind /proc /mnt/proc  
  2. mount --bind /dev /mnt/dev  
  3. mount --bind /sys /mnt/sys  
  4. chroot /mnt update-grub  
  5. umount /mnt/sys  
  6. umount /mnt/dev  
  7. umount /mnt/proc   

 

【编辑推荐】

  1. Ubuntu GRUB非常优秀的系统引导器
  2. Ubuntu GRUB開機選項修改
  3. Ubuntu grub利用安装光盘硬盘安装ISO文件
  4. Linux rescuev修复模式跨越控制台登录
  5. Linux rescue单用户模式修复模式