在我的 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*