试图解决启动问题kernel panic not syncing attemped to kill init exitcode=0x00000100并试图从活cd和kernel panic not syncing attemped to kill init exitcode=0x00000100得到这个错误chroot:
/bin/bash: error while loading shared libraries: __vdso__time: invalid mode for dlopen(): Invalid argument
似乎我搞砸了一些图书馆。 有人知道怎么修这个东西吗? 谢谢
看起来你用'glibc'搞砸了一些东西,它通常会给出这样的错误。 我现在唯一能想到的解决scheme是尝试重命名你当前的'lib'dirs(在你想要chroot的环境中)并拷贝(即从live cd)'clean'。 确保你保留旧的“库”,以便以后可以重新使用它们。
为了将来,我build议编译和安装额外的库(特别是那些默认的不同版本的库)来分离目录,然后在执行二进制文件时使用LD_LIBRARY_PATH显式指向库path。
所以现在我个人尝试只replace/ lib64(但它取决于分配)。 我可以看到,在Centos 6框中,/ bin / bash取决于:
ldd /bin/bash linux-vdso.so.1 => (0x00007ffd4db63000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f9f34f54000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f9f34d50000) libc.so.6 => /lib64/libc.so.6 (0x00007f9f349bb000) /lib64/ld-linux-x86-64.so.2 (0x00007f9f3517f000
也许尝试重命名/ lib64到/ lib64_messed并复制新鲜/ lib64 – 它应该足以执行/ bin / bash。 我正在写关于您试图chroot的LiveCD操作系统的大部分类似版本。 当然,在尝试执行diffirent命令时,可能会出现新的库依赖性错误,但这样你应该做的伎俩,并修复你的操作系统'有点'的可用状态。
我假设你正在使用x64 live cd,并试图chroot到x64 env。
现在,我已经检查了Ubuntu 16的盒子,path有点不同:
ldd /bin/bash linux-vdso.so.1 => (0x00007fffe3567000) libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f7611065000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7610e61000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7610a96000) /lib64/ld-linux-x86-64.so.2 (0x000055f0e5734000)
所以你可能需要replace/ lib和/ lib64目录,或只有那些特定的库。