我系统的libc 没了

今天为了运行一个开源的yuv 播放器,在运行的时候提醒

Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion `sym != NULL' failed!

然后听从AI 的建议

在这里插入图片描述
当我去执行ls 时,系统提示

在这里插入图片描述

就这样子,我把系统的libc给整没了。导致的结果就是
ls,sudo 都无法使用了

修复的办法就是:

插入一个Ubuntu 的live CD

  1. 通过fdisk 查看到你Ubuntu 安装到哪块硬盘上面了。比如我的在这里
  2. 在这里插入图片描述
    所以执行的是
    sudo mount /dev/sdXn /mnt # 挂载根分区(如 /dev/nvme0n1p2)
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot /mnt

有趣的是,因为libc 库没了,所以chroot 也无法执行,所以我干脆直接从 live CD 的
/lib/x86_64-linux-gnu/libc.a
/lib/x86_64-linux-gnu/libc.so
/lib/x86_64-linux-gnu/libc.so.6 的库全部拷贝到了 /mnt//lib/x86_64-linux-gnu/ 目录下面。
然后问题解决。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐