首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Ubuntu 修复 grub 开机引导

Ubuntu 修复 grub 开机引导

作者头像
若海
发布2022-12-06 12:08:37
发布2022-12-06 12:08:37
9.5K0
举报
文章被收录于专栏:云原生拾遗云原生拾遗

安装完Ubuntu忘记写入引导文件,或者使用工具调整分区后,很容易出现grub损坏无法进入系统的情况。 也可能是由于分区调整或分区UUID改变造成grub2不能正常启动,从而进入修复模式了(grub rescue),也称救援模式。

代码语言:javascript
复制
error : unknow filesystem
grub rescue >

在救援模式下只有很少的命令可以用:

代码语言:javascript
复制
(1)set     查看环境变量,这里可以查看启动路径和分区。
(2)ls      查看设备
(3)insmod  加载模块
(4)root    指定用于启动系统的分区,在救援模式下设置grub启动分区
(5)prefix  设定grub启动路径

具体修复步骤如下:

1、查看分区:

代码语言:javascript
复制
grub rescue> ls   //回车,会出现如下字样:
(hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)

2、寻找ubuntu分区:

若包含/bin以及/sbin等目录,表示为主分区。 若包含/boot/grub或者/grub,即为启动分区。

代码语言:javascript
复制
grub rescue> ls (hd0,msdos1)/

3、修改启动分区:

假如你找到的主分区为(hd0,msdos6),grub所在路径是(hd0,msdos1)/grub

代码语言:javascript
复制
grub rescue > root=hd0,msdos1
grub rescue > prefix=/grub    //grub路径设置
grub rescue > set root=hd0,msdos1
grub rescue > set prefix=(hd0,msdos1)/grub
grub rescue > insmod normal   //启动normal启动
grub rescue > normal

之后你就会看到熟悉的启动菜单栏了

4、进入命令行启动ubuntu

进入系统启动选项界面后还是进不去,按C进入命令行模式

代码语言:javascript
复制
grub > set root=hd0,msdos1
grub > set prefix=(hd0,msdos1)/grub
grub > linux /vmlinuz-xxx-xxx root=/dev/sda6 //按Tab键自动补全,若acpi有问题,在最后添加acpi=off
grub > initrd /initrd.img-xxx-xxx
grub > boot

这样就可以进入了

5、进入ubuntu修复grub

代码语言:javascript
复制
sudo update-grub
sudo grub-install /dev/sda

6、重启,搞定!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年05月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档