Ubuntu 18.04开机卡在grub,引导修复的2种实用方法

简介: Ubuntu 18.04开机卡在grub,引导修复的2种实用方法

解决ubuntu18.04开机卡在grub命令行界面的问题

前情概要:由于windows重装系统,导致ubunru18.04的引导出了问题。下面提供两种解决方案,本人采用第二种方式成功修复。


知识补充:grub(GrandUnified Boot Loader)是有名的引导内核程序(另外一款比较有名的是LILO,嵌入式环境使用U-boot、bootloader),它支持多种硬盘分区类型加载(FAT,ext2,ext3,minix,FFS等),支持多系统引导等。现在出的grub2是grub的升级版,提供更多的功能。更多请戳此处。


1.grub命令行界面解决


(1)找到根目录和GRUB


先进入grub命令输入界面,我是开机自动进入,如果没有键盘按e即可,一般都有提示。


使用ls命令查看当前可以访问的扇区:


grub > ls ,会显示如下内容:

(hd0), (hd0, msdos7), (hd0, msdos6), (hd0, msdos5), (hd0, msdos3), ...

继续使用ls查看每个扇区的信息,需要注意:

(hd0) ≠ hd0
(hd0,msdos5) ⇔ (hd0,5)
ls (hd0) ⇒ 查看(hd0)扇区信息(盘符、空间...)
ls (hd0)/  ⇒ 查看(hd0)扇区下内容(多了一个`/``)

通过挨个打印子目录内容,我们可能遇到以下两种情况:


A目录下有boot/,boot/下还有grub/

A目录下有boot/,B目录下有grub/


造成该不同的原因是因为最初分区时的策略原因,如果按照其他教程发现boot目录下没有grub类似问题,有可能是在另一个独立扇区。


(2)加载系统内核


使用命令如下:

grub > set root=hd0,A                               #此处不需要括号,注意A的实际值(参前)
grub > set prefix=(hd0,A)/boot/grub   #对应第一种情况
grub > set prefix=(hd0,B)/grub             #对应第二种情况
grub > linux /vmlinuz root=/dev/sdaA  #vmlinuz必须使用TAB补全(可能有后缀),注意A的值,sda或sdb需要看自己的实际情况
grub > initrd /initrd.img-xxx               #TAB补全,或者对着你ls命令他显示出来的名称敲
grub > boot

如果在boot之后进入了BusyBox,说明参数设置有问题,可以仔细看一下出错的Log(就在BusyBox上面),我操作就显示找不到/dev/sda7,所以我采用了方法二。

(3)修复引导

如果已经成功进入了系统,切记及时修复引导

$ sudo update-grub  #grub情况下命令,具体参考之前的设置
$ sudo update-grub2  #grub2命令(高版本使用grub2)

2.通过U盘+Boot-repair修复


通过U 盘修复有多种方式,我分享一下我使用的最有效的一个。


(1)拿出你的U盘启动盘,如果没有了,可以参照我的另一篇博客。进入BIOS选择U盘启动,选择use ubuntu without installing,意思一样的就行。


(2)进入ubuntu之后,使用Boot-repair工具自动修复引导,方法如下:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update              #添加源并更新
sudo apt-get install -y boot-repair && boot-repair                                                                          #安装并启动

接下来按照他推荐的方法操作就行了,期间需要你在终端输入几次命令,都有提示的。

完事后重启电脑,选择ubuntu启动即可。



/

相关文章
|
1月前
|
NoSQL Ubuntu Redis
Ubuntu开机自启redis
本文介绍了如何在Ubuntu系统中通过创建systemd服务单元文件、重新加载systemd配置、启用服务和启动服务的步骤来实现Redis的开机自启动。
58 1
|
1月前
|
Ubuntu
Ubuntu修复-boot满了导致apt坏掉的问题
Ubuntu修复-boot满了导致apt坏掉的问题
|
2月前
|
Ubuntu 应用服务中间件 网络安全
Ubuntu 22.04环境下为Odoo开启80端口的方法
通过以上步骤,你应该能够在Ubuntu 22.04环境下为Odoo开启80端口。访问你的域名时,Nginx会将请求代理到Odoo,允许你通过80端口访问Odoo应用。
82 1
|
2月前
|
监控 Ubuntu Python
代码实现Ubuntu系统参数监控的方法
通过这种方式,你可以方便地对Ubuntu系统的关键参数进行实时监控,对系统性能分析和资源管理具有重要意义。
32 0
|
3月前
|
存储 Ubuntu Go
在Ubuntu 16.04上安装Go 1.6的方法
在Ubuntu 16.04上安装Go 1.6的方法
47 1
|
3月前
|
存储 Ubuntu Go
在Ubuntu 18.04上安装Go的方法
在Ubuntu 18.04上安装Go的方法
52 1
|
3月前
|
存储 Ubuntu Linux
在Ubuntu 14.04上安装Go 1.6的方法
在Ubuntu 14.04上安装Go 1.6的方法
53 1
|
3月前
|
Ubuntu Linux 持续交付
在Ubuntu 16.04上安装Docker Compose的方法
在Ubuntu 16.04上安装Docker Compose的方法
98 1
|
3月前
|
Ubuntu
ubuntu引导修复
ubuntu引导修复
39 0
|
3月前
|
Ubuntu Linux 测试技术
下载ISO镜像的方法 Debian、Red Hat 、CentOS、Ubuntu、Kali Linux🌐
Debian、Red Hat、CentOS、Ubuntu与Kali Linux均为知名Linux发行版。下载Debian须访问官网并按计算机架构选ISO文件。Red Hat下载通常需订阅账户,可从官网登录后获取。CentOS可从官网或镜像站点下载,注意CentOS 8已停更。Ubuntu下载简便,官网直接选取版本及架构即可。Kali Linux专为安全测试设计,官网提供直接下载ISO镜像服务。
708 0