怎样修复grub开机引导
2015-12-13 18:53
274 查看
很多时候,特别是在linux调整分区后,开机重启时会出现
error : unknow filesystem
grub rescue>
的字样,系统就是进不去。这表示你的grub2的配置文件坏了
由于分区调整或分区UUID改变造成grub2不能正常启动,从而进入修复模式了(grub rescue),也称救援模式。
在救援模式下只有很少的命令可以用:set , ls , insmod , root , prefix
(1)
set 查看环境变量,这里可以查看启动路径和分区。
(2)
ls 查看设备
(3)
insmod 加载模块
(4)
root 指定用于启动系统的分区,在救援模式下设置grub启动分区
(5)
prefix 设定grub启动路径
具体修复步骤如下:
1、查看分区:grub rescue> ls
回车
会出现如下字样:
(hd0) (hd0,msdos10)
(hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)
注:上面是我的分区设备,每个人可能不一样,但原理都是一样的。
2、寻找ubuntu所在分区:(就是寻找你的Linux系统是装在以上哪个分区里)
grub rescue>
ls (hd0,msdos1)/
若出现unknown filesystem字样,则尝试下一个
……
若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。
3、修改启动分区:
(假如你找到的启动分区是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
之后你就会看到熟悉的启动菜单栏了
4、进入命令行启动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
这样就可以进入了
5、进入ubuntu修复grub
在终端里运行 sudo
update-grub
sudo grub-install /dev/sda
6、重启,搞定!!
注:我当时只是修改了1~3步骤,然后在菜单栏就可以进入系统了,且一切正常。
error : unknow filesystem
grub rescue>
的字样,系统就是进不去。这表示你的grub2的配置文件坏了
由于分区调整或分区UUID改变造成grub2不能正常启动,从而进入修复模式了(grub rescue),也称救援模式。
在救援模式下只有很少的命令可以用:set , ls , insmod , root , prefix
(1)
set 查看环境变量,这里可以查看启动路径和分区。
(2)
ls 查看设备
(3)
insmod 加载模块
(4)
root 指定用于启动系统的分区,在救援模式下设置grub启动分区
(5)
prefix 设定grub启动路径
具体修复步骤如下:
1、查看分区:grub rescue> ls
回车
会出现如下字样:
(hd0) (hd0,msdos10)
(hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)
注:上面是我的分区设备,每个人可能不一样,但原理都是一样的。
2、寻找ubuntu所在分区:(就是寻找你的Linux系统是装在以上哪个分区里)
grub rescue>
ls (hd0,msdos1)/
若出现unknown filesystem字样,则尝试下一个
……
若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。
3、修改启动分区:
(假如你找到的启动分区是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
之后你就会看到熟悉的启动菜单栏了
4、进入命令行启动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
这样就可以进入了
5、进入ubuntu修复grub
在终端里运行 sudo
update-grub
sudo grub-install /dev/sda
6、重启,搞定!!
注:我当时只是修改了1~3步骤,然后在菜单栏就可以进入系统了,且一切正常。
相关文章推荐
- Java编码问题
- commons之迭代器(Map、过滤、循环)_双向Map_包JAVA141
- c/c++ 宏函数的应用
- uva 242——Stamps and Envelope Size
- MySQL PreparedStatement执行时传入的中文是乱码
- 父与子的编程之旅——与小卡特一起学Python
- JAVA面试常见问题总结(一)
- 简单逆向分析使用案例(1)--CrackMe_00.exe 找出密码
- 设计模式-工厂模式
- PHP 7 已经发布,你会选择PHP 7吗?
- PHP 7 已经发布,你会选择PHP 7吗?
- Vector
- spring支持JCP的JSR330规范,使用javax.inject
- wamp集成环境下的配置问题 ----显示字符集的问题
- 糯米团—重制“iPhone团购信息客户端”(零)源代码与跳的那些坑和思考
- 【树】二叉树的各种操作
- 决策树
- viewDidAppear什么时候调用?
- 多个Flume合并一个channel上传文件到Hdfs
- C语言