意外重命名了 ld-linux-aarch64.so.1

意外重命名了 ld-linux-aarch64.so.1

在我的 Ubuntu 命令行系统上,我不小心重命名了/lib/ld-linux-aarch64.so.1文件。这导致我无法使用任何 bash/dash/sh 命令,也无法mv再使用任何命令来恢复文件名。我可以执行的命令并不多,传递/bin/bash/bin/dash作为命令也不起作用,并一直显示:-bash: /bin/dash: No such file or directory-bash: /bin/ls: No such file or directory

有什么办法可以摆脱这种状态并恢复吗?

答案1

这是在 20.04.2 LTS (Focal Fossa) 上完成的。在 grub 菜单上,按“c”可调出提示grub>

grub> linux /boot/vmlinuz
grub> initrd /boot/initrd.img
grub> boot

这将启动到 initramfs (busybox) shell:

(initramfs) mkdir /mnt
(initramfs) mount /dev/sda1 /mnt
(initramfs) cd /mnt/lib/x86_64-linux-gnu
(initramfs) ls ld-*
ld-renamed.so*
(initramfs) # Your ld.so version may differ
(initramfs) # (bionic 18.04 is ld-2.27.so)
(initramfs) cp -i -a ld-renamed.so ld-2.31.so
(initramfs) ln -s ld-2.31.so ld-linux-x86-64.so.2
(initramfs) ls -F ld-*
ld-linux-x86-64.so.2@  ld-2.31.so*

相关内容