我可以从“rm /*”中恢复吗?

Nic*_*ton 3 debian rm

我正在运行 Debian... 而且,我不小心以 root 身份运行了“rm /*”(万岁!) - 幸运的是我没有使用 -r,所以目录仍然完好无损。但是,在尝试启动时,我得到...

run-init: /sbin/init: No such file or directory
Kernel panic - not syncing: Attempted to kill init!
Run Code Online (Sandbox Code Playgroud)

...但是,在检查另一台机器的驱动器后,我可以确认它/sbin/init 存在。唯一缺少的是根目录中的文件,我已经替换了符号链接(initrd.img 和 vmzlinuz)...

也许我需要替换更多链接?

Dav*_*ley 5

你真的跑了吗

# rm /
Run Code Online (Sandbox Code Playgroud)

或者

# rm /*
Run Code Online (Sandbox Code Playgroud)

因为如果你运行前者,你不应该删除任何文件,因为 rm 不会删除目录,除非你添加-r.

我建议运行:

# update-initramfs -c -k all
# update-grub
Run Code Online (Sandbox Code Playgroud)

但我认为这不会解决您的问题。您可能还想检查您的 /boot/grub/menu.lst 以确保它指的是正确的内核和 initramfs 映像。

  • 啊,这就解释了。始终使用“set -u”运行脚本,因为这将防止出现此问题。 (6认同)