https://blog.csdn.net/gatieme/article/details/59127020
1 Grub丢失Ubuntu引导项修复
GRUB是大多数Linux系统默认使用的引导程序, 可以通过启动菜单的方式选择进入不同的操作系统(如果有的话).
当 “/boot/grub/grub.conf” 配置文件丢失, 或者关键配置出现错误, 或者MBR记录中的引导程序遭到破坏时, Linux主机启动后可能只会出现“grub>”的提示符,无法完成进一步的系统启动过程.
error : unknow filesystem
grub rescue>
1
2
的字样, 系统就是进不去.
这表示你的grub2的配置文件损坏, Grub找不到Ubuntu系统的引导项. 从而进入修复模式了(grub rescue), 也称救援模式.
在救援模式下只有很少的命令可以用: set, ls, insmod, root, prefix
命令 描述
set 查看环境变量,这里可以查看启动路径和分区
ls 查看设备
insmod 加载模块
root 指定用于启动系统的分区,在救援模式下设置grub启动分区
prefix 设定grub启动路径
具体修复步骤如下:
1.1 查看分区
grub rescue> ls
列出磁盘分区
(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
1
2
3
4
5
注 : 上面是我的分区设备, 每个人可能不一样, 但原理都是一样的.
1.2 寻找ubuntu所在分区
就是寻找你的Linux系统是装在以上哪个分区里
grub rescue> ls (hd0,msdos1)/
1
若出现unknown filesystem字样,则尝试下一个
若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。
1.3 安装MBR
1.3.1 简易安装
grub> root (hd0,msdos8)
指定Ubuntu系统根分区所在第一块硬盘中的位置, 具体的分区数字根据你的实际情况来决定.
grub> setup (hd0)
#安装GRUB到硬盘Ubuntu所在磁盘的FBR区中
#退出GRUB安装模式。
grub> cd
#重新引导系统
reboot
1
2
3
4
5
6
7
8
9
10
11
12
13
1.3.2 安装MBR的详细设置
参见
Linux系统中修复GRUB引导故障手动引导进入操作系统
修改启动分区
假如你找到的启动分区是 (hd0,msdos8)
grub rescue>root=(hd0,msdos8)
grub rescue>prefix=/boot/grub //grub路径设置
grub rescue>set root=(hd0,msdos8)
grub rescue>set prefix=(hd0,msdos8)/boot/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
1
2
3
4
5
6
之后你就会看到熟悉的启动菜单栏了
进入命令行启动ubuntu
进入系统启动选项界面后还是进不去, 因为你还没有真正的修改grub, 这个要到ubuntu里修改
进入系统启动项界面后,按C进入命令行模式
grub >set root=hd0,msdos8
grub >set prefix=(hd0,msdos8)/boot/grub
grub >linux /vmlinuz-xxx-xxx root=/dev/sda8 //里边的xxxx可以按Tab键,如果有acpi问题,在最后加一句acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot
1
2
3
4
5
这样就可以进入了
1.4 进入ubuntu修复grub
其实前面的操作, 已经恢复了MBR了, 我们进入Ubuntu后, 可以更新下GRUB引导项, 在终端里运行
sudo update-grub
sudo grub-install /dev/sda
1
2
2 使用LiveCD通过急救模式恢复或重新安装GRUB
前一种方法的前提是Grub引导依旧可以使用, 只是丢失了Ubuntu的引导项, 而如果我们的Grub都已经损毁或者丢失, 则需要使用光盘镜像进入一个可以使用或者修复的Linux系统来完成GRUB的重新安装.
把系统光盘放入光驱, 重启 Linux 系统. 系统启动时按”F2”键, 在”boot:” 提示符下输入 “linuxrescue” 后”回车”, 进入”急救模式”引导光盘中的Linux系统.
之后依次按回车键接收默认的语言、键盘格式,提示是否配置网卡是一般选择“NO”,然后系统会自动查找硬盘中的Linux分区并尝试将其挂载到”/mnt/sysimage”目录(选择”Continue”确认并继续).
接下来需要特别注意 : 当出现是否初始化磁盘的警告窗口时,一定要选择”NO”, 以免对硬盘数据造成进一步损坏. 最后选择”OK”确认后将进入到带”sh-x.x#”提示符的Bash Shell环境。
注意, 不进入恢复模式, 也可以选择镜像中的”使用Ubuntu”选项, 也会进入光盘中的Linux, 但是不会尝试挂载磁盘, 这个时候我们可以选择手动挂载.
如果MBR扇区引导程序没有被损坏, 确认待修复的Linux系统分区的挂载情况, 并重修 grub.conf文件.
如果MBR扇区引导程序被损坏,即使重建grub.conf配置文件后仍然无法启动系统。这时可以在急救模式的shell环境中使用grub-install重新安装grub
下面我们着重讲讲第二种情况, 第一种情况下如果不会修改grub.conf文件, 可以使用第二种情况的方法处理
选择Ubuntu安装磁盘, 如果不确定具体在哪个磁盘, 可以用命令查看一下
sudo fdisk -l
1
挂载Ubuntu系统安装磁盘(我的是在第0磁盘,故为sda0)
sudo mount /dev/sda0 /mnt
1
开始恢复grub2系统引导
sudo grub-install --root-directory=/mnt/dev/sda
1
执行命令之后, 如果没有报错, 则恢复成功, 重启即可.
恢复之后是之前的系统引导界面,如果新安装的系统没有在界面上显示,那么可以进入Ubuntu系统,进行grub/grub2更新
打开终端,输入
sudo update-grub2
1
grub2请使用
sudo update-grub2
---------------------
作者:JeanCheng
来源:CSDN
原文:https://blog.csdn.net/gatieme/article/details/59127020
版权声明:本文为博主原创文章,转载请附上博文链接!
阅读(1008) | 评论(0) | 转发(0) |