内核崩溃 - 未同步;加载共享库时出错:lib.so.6;无法找到持久主介质

内核崩溃 - 未同步;加载共享库时出错:lib.so.6;无法找到持久主介质

我一直在尝试寻找与我存在相同问题的帖子,但还没有找到,因此我发布了这个帖子。

我在 Rufus 持久实时 USB 的帮助下将 Ubuntu 20.04 (ubuntu-20.04.1-desktop-amd64.iso) 安装在 64GB USB 驱动器上。我已经使用它很长时间了。

昨天屏幕一片空白。我插上电源,但无济于事,然后就关机了。所有重新启动的尝试都让我看到了以下屏幕截图。

截屏

Grub 屏幕没有其他帖子中推荐的任何恢复/高级选项。我能够将此驱动器插入 Ubuntu 18.04 实时 USB,并查看文件夹结构,如 Ubuntu 和可写屏幕截图中所示。

乌布图

可写

我不知道这是否是内核问题或者其他文件是否损坏/卡住导致其无法启动。

更新:按照 mcendu 推荐的步骤操作。取得了一些进展。libc.so.6 错误不再出现。这是从实时 USB 21.04 替换持久 21.04 的 libc.so.6 后的最新屏幕截图。 屏幕截图 2

答案1

核心操作系统库(此处为 libc)已损坏,因此您被迫从外部修复该问题。

您应该首先从另一个正常运行的操作系统创建一个新的 Ubuntu 20.04 实时驱动器/磁盘,启动它,然后 fsck 安装的根分区。

# umount /dev/sdb2
# fsck /dev/sdb2
# mount /dev/sdb2 /mnt

在 fsck 之后检查 libc.so.6,因为 fsck 可能已将其删除。您可以使用file,也可以从命令行运行它。如果您得到类似以下内容,则 libc 已修复,您可以立即进行重启测试:

$ file /mnt/lib/x86_64-linux-gnu/libc.so.6
/mnt/lib/x86_64-linux-gnu/libc-2.31.so: ELF 64-bit LSB shared object,
  x86-64, version 1 (GNU/Linux), dynamically linked, interpreter
  /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=..., for GNU/Linux 3.2.0,
  stripped

如果出现以下情况,那么你就倒霉了:

$ file /mnt/lib/x86_64-linux-gnu/libc.so.6
/mnt/lib/x86_64-linux-gnu/libc.so.6: cannot open
  `/mnt/lib/x86_64-linux-gnu/libc.so.6' (No such file or directory)

在这种情况下,将 libc 从安装介质复制到 Ubuntu 安装作为临时措施,然后在安装成功启动后通过 APT 重新安装 libc。

# install -m 755 -o root -g root -T /lib/x86_64-linux-gnu/libc.so.6 \
    /mnt/lib/x86_64-linux-gnu/libc.so.6
# reboot

附注:大多数 U 盘使用的 NAND 芯片比 SSD 更差。小心数据损坏。

相关内容