Ubuntu 22.04 LTS升级至24.04 LTS中断后系统故障求助
Ubuntu 22.04 LTS升级至24.04 LTS中断后系统故障求助
太懂这种升级到一半断网搞崩系统的崩溃感了,咱们一步步来试着把系统救回来:
1. 先解决sudo无法使用的问题(提示“unable to resolve host”)
这个报错是因为系统没法解析自己的主机名,直接导致sudo权限验证失败。咱们先手动修复hosts文件:
- 先尝试切换到root用户(如果你记得root密码的话):
su - - 用
nano编辑/etc/hosts文件:nano /etc/hosts - 在文件里添加一行内容,格式是
127.0.1.1 你的主机名,主机名可以直接在TTY里输入hostname查看。比如你的主机名是eirik-laptop,就加:127.0.1.1 eirik-laptop - 按
Ctrl+O保存,Ctrl+X退出。这时候再试sudo应该就能正常用了。
2. 修复损坏的软件包和依赖关系
升级中断后系统残留损坏包是常态,用下面的命令依次执行来修复:
# 清理本地缓存的安装包 sudo apt clean # 修复更新源并刷新列表 sudo apt update --fix-missing # 强制安装缺失的依赖组件 sudo apt -f install # 配置所有未完成安装的软件包 sudo dpkg --configure -a
每一步都等它执行完再走下一步,不要中途中断。如果某一步报错,先记下来报错信息,继续试后续命令,大部分情况下这些操作能把依赖问题理顺。
3. 恢复网络工具与WiFi连接
现在你没有nmcli这类工具,等依赖修复后,先把它们装回来:
sudo apt install network-manager net-tools nmcli
装好后,用下面的命令连接WiFi:
- 先扫描附近的WiFi信号:
nmcli device wifi list - 连接指定WiFi(把
你的WiFi名称和你的WiFi密码换成实际内容):nmcli device wifi connect "你的WiFi名称" password "你的WiFi密码"
如果nmcli还是有问题,也可以用更基础的命令临时连接:
- 查看无线网卡名称(一般是
wlan0或者wlp2s0):iwconfig - 连接WiFi:
iwconfig 你的网卡名 essid "你的WiFi名称" key s:"你的WiFi密码" - 自动获取IP地址:
dhclient 你的网卡名
4. 选择继续升级或回滚到22.04稳定状态
等网络和系统依赖都正常后,你有两个可选方向:
选项A:继续完成升级到24.04 LTS
用命令行模式的升级工具,比图形化的update-manager更稳定,适合当前TTY环境:
sudo do-release-upgrade
运行后跟着提示操作即可,这次一定要确保网络稳定,别再中途断网了。
选项B:回滚到22.04 LTS的稳定状态
如果不想继续升级了,就把系统切回22.04的源,恢复到升级前的状态:
# 安装ppa-purge工具,用来清理非当前版本的软件源 sudo apt install ppa-purge # 清理所有指向24.04(noble)的源,切回22.04(jammy)的官方源 sudo ppa-purge -d jammy $(ls /etc/apt/sources.list.d/*.list | grep -v jammy) # 最后把系统更新到22.04的最新稳定版本 sudo apt update && sudo apt dist-upgrade
兜底方案:用安装U盘离线修复
如果上面的步骤都没法执行,比如系统根本没法正常运行,那你需要准备一个Ubuntu 22.04或24.04的安装U盘:
- 用U盘启动电脑,选择“试用Ubuntu”(不要点正式安装)。
- 打开终端,用
lsblk命令找到你的系统分区(一般是/dev/sda2或者/dev/nvme0n1p2这类)。 - 挂载系统分区:
sudo mount /dev/你的系统分区 /mnt - 挂载必要的系统目录,让我们能在挂载的系统环境里操作:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - 切换到你的系统环境:
sudo chroot /mnt - 这时候就可以重复步骤2的修复命令,把损坏的包和依赖修好,完成后输入
exit退出,重启电脑即可。
备注:内容来源于stack exchange,提问作者Eirik
相关产品推荐
相关产品推荐

