Ubuntu18.04重启无法进入系统,重开后如图
一直在加载系统内核4.15.0-213-generic,无法加载
错误原因
原本的系统是Ubuntu16.04,使用命令升级到Ubuntu18.04版本,升级重启后,远程无法连接!
错误解决
第一步:进入GRUB
(不是远程,直接屏幕接服务器)重启后长按Shift,进入GRUB
既然无法加载系统内核4.15.0-213-generic,那么说明系统默认内核为4.15.0.142-generic,选择4.15.0.142-generic恢复模式
加载后进入 恢复模式
电脑启动,进入ubuntu登录界面,输入账号和密码登入。
确保加载系统内核4.15.0-142-generic,使用命令
sudo apt-mark hold 自己的系统内核头/模型/镜像
进入后网络无法连接~
第二步:网络相关信息设置
查到网络设备但无法联网,可能有几个原因:
- **IP配置问题:** 确保你的网络接口有正确的IP地址、子网掩码和默认网关。你可以使用`ifconfig`或`ip addr`来检查网络接口的IP配置信息。
- **DNS设置问题:** 确认你的DNS设置是否正确。你可以编辑`/etc/resolv.conf`文件或者通过网络管理工具来配置正确的DNS服务器。
- **网络连接问题:** 有时候,即使网络设备显示正常,但连接可能受到物理或配置问题的影响。检查你的网络电缆或Wi-Fi连接是否正常工作。
- **防火墙或路由器设置:** 确保你的防火墙或路由器没有阻止你的系统访问互联网。有时候,安全设置可能会限制网络连接。
刚开始我以为是系统更新后,没有网络驱动,所以查看了驱动相关设置,命令如下
vim /etc/resolv.conf
显示nameserver就没问题。
查看网络状态命令
ifconfig
显示
- 一个本地环回 :lo
- 一根网线 :enp5s0
- 一个docker的网络:docker0
此时在设置里,网络是显示
修改IP地址和DNS地址(根据管理员分配的地址填写)~
修改好后,还是无法ping通外网,此时
enp5s0后提示<NO-Carrier,>等,且未显示RUNNING
"no carrier"表示网络接口当前没有检测到物理连接。这通常指的是网线未连接到网卡或者网线连接的另一端未插入到活动网络端口。这种状态下,网络接口不能正常工作或进行通信,因为它没有检测到可用的网络信号。
因为我和之前换了网线端口,再插回原来的端口就可以啦~
解决后,正常的网络显示
此时网络问题解决~ 在起用更新软件时,却出现内核相关问题,以及apt install无法安装~
第三步:解决更新错误和安装出错问题
先查看系统自动更新了多少内核:
sudo dpkg --get-selections|grep linux-image
可以看到此时内核有俩个,一个是我们在第一步固定(hold)内核的142,一个是213
虽然第一步有写,但还是再确认下
更新时问题如下
E: Sub-process /usr/bin/dpkg returned an error code (1)
在这里默认加载linux-image-4.15.0-213-generic (4.15.0-213.224) ...
Setting up linux-headers-4.15.0-213-generic (4.15.0-213.224)
Ubuntu取消sudo apt-mark hold的内核,后来感觉不是内核问题~
sudo apt-mark unhold linux-image-4.15.0-142-generic
解决方法
# 现将info文件夹更名
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old
# 再新建一个新的info文件夹
sudo mkdir /var/lib/dpkg/info
# 更新升级
sudo apt-get update && sudo apt-get -f install
# 执行完上一步操作后会在新的info文件夹下生成
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old
# 把自己新建的info文件夹删掉
sudo rm -rf /var/lib/dpkg/info
# 把以前的info文件夹重新改回名字
sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info
截取部分实现图
第四步:解决W: APT had planned for dpkg to do more than it reported back (0 vs 3).
Affected packages: linux-headers-4.15.0-142-generic:amd64
# 自动修复,安装package依赖的package
sudo apt install -f
# 重新配置 软件包 《自己的软件包名称》
sudo dpkg --configure linux-headers-4.15.0-142-generic
# 配置
sudo dpkg -C
# 更新
sudo apt update && sudo apt upgrade
# 移除自动安装的不需要的软件包
sudo apt autoremove
✨相关知识点
GRUB
当你启动计算机时,计算机会首先加载 BIOS 或 UEFI,然后在硬盘中查找引导加载程序。在安装了Ubuntu操作系统的计算机上,通常会使用一个称为GRUB(GRand Unified Bootloader)的引导加载程序。
GRUB的作用是在计算机启动时加载操作系统。它能够识别硬盘上安装的不同操作系统,并允许用户选择要启动的操作系统。GRUB通过读取配置文件来确定可以启动的操作系统,然后将控制权交给选定的操作系统。
在Ubuntu中,GRUB还可以用于修复启动问题。如果系统启动时出现问题,你可以使用GRUB的命令行界面进行修复或临时更改启动参数,以便启动进入系统或修复系统错误。
总的来说,GRUB是一个功能强大的引导加载程序,负责在计算机启动时加载操作系统,并提供了管理启动选项和解决启动问题的能力。
网络设置
DEVICE_NAME:接口的名称。
dhcp4:是或否取决于动态或静态 IP 寻址
如果dhcp设置为no,则需要设置ip地址和网关
- addresses:设备的 IP 地址以前缀表示法。不要使用网络掩码。
- gateway:连接到外部网络的网关 IP 地址
- nameservers : DNS 名称服务器的地址
查看网卡相关信息:ip a
参考文献
【1】ubuntu18.04手动安装网卡驱动,重启系统后,驱动消失的解决方案_ubuntu重启网卡不见了-CSDN博客
【2】 成功解决:ubuntu下ifconfig不显示网卡信息_ubuntu ifconfig看不到网卡-CSDN博客
【3】Ubuntu使用apt-get upgrade升级时出错 - 深度学习1 - 博客园 (cnblogs.com)