Kubuntu 20.04.1 在 dist-upgrade 后无法启动

Kubuntu 20.04.1 在 dist-upgrade 后无法启动

我决定从这里。安装过程中我检查了:

  • “最小安装”;
  • “安装 Kubuntu 时下载更新”;
  • “安装用于图形和 Wi-Fi 硬件以及其他媒体格式的第三方软件”。

安装过程非常顺利,系统给人的第一印象非常好。但是,我执行 dist-upgrade 时遇到了一个非常奇怪的错误。运行

apt-get update && apt-get dist-upgrade --yes

(以 root 身份)然后重新启动会导致系统损坏。更准确地说,系统无法加载,我收到 ash/busybox 和以下错误:

/lib/systemd/systemd-udevd: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory


Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules: ls /dev)
ALERT! UUID=ee274d63-783d-4ebf-a1b6-d499643bd924 does not exist.  Dropping to a shell!

在 dist-upgrade 期间,安装了较新的内核版本 - 它从 5.4.0-52 更新到 5.4.0-58(并且 ISO 本身包含 5.4.0-42 内核)。然而,在 dist-upgrade 和重启之后,使用 GRUB 切换这些内核会导致上述相同的错误。

通过从头开始重新安装 Kubuntu 并执行命令,我可以在 VirtualBox 客户机和真正的 Dell Latitude 5490 上一致地复制此行为。

我是不是误解了什么?我应该在 Kubuntu 的 bugtracker 上打开一个新问题吗?任何建议/解释都将不胜感激,因为这是一个非常令人沮丧的情况,因为即使是 Arch 也没有脆弱的。

答案1

我设法通过手动执行来避开这个问题

update-initramfs -u

dist-grade 之后。

更新:

好的,我找到了隐藏变量。每次update-initramfs在安装新内核后自动调用时,我都会在某处安装一个外部文件系统(出于无关紧要的原因)。这个文件系统恰好包含liblzma.so.5它自己的。使用lsinitramfs | grep lzma我设法发现自动生成的 initrd 实际上包含缺少的库,但它被复制到镜像库安装路径的路径。即/usr/lib/x86_64-linux-gnu/liblzma.so.5initrd 包含而不是/mnt/test/liblzma.so.5。我尝试将外部文件系统安装到其他位置(例如/root/mnt),/media/root/mnt但尚未找到不会中断 initrd 生成的位置。

目前我只是在手动重新生成 initrd 之前卸载外部文件系统。我不知道为什么update-initramfs会出现这种情况,也不知道这是否是预期行为,因此仍然非常欢迎任何澄清。

相关内容