我正在运行 Debian……而且,我不小心以 root 身份运行了“rm /*”(万岁!)——幸运的是我没有使用 -r,所以目录仍然完好无损。但是,在尝试启动时,我得到...
run-init: /sbin/init: No such file or directory
Kernel panic - not syncing: Attempted to kill init!
...但是,在检查另一台机器的驱动器后,我可以确认它/sbin/init
存在。唯一缺少的是根目录中的文件,我已经替换了符号链接(initrd.img 和 vmzlinuz)......
也许还有一些我需要替换的链接?
你真的跑了吗
或者
因为如果你运行前者,你不应该删除任何文件,因为 rm 不会删除目录,除非你添加
-r
.我建议运行:
但我认为这不会解决您的问题。您可能还想检查您的 /boot/grub/menu.lst 以确保它引用了正确的内核和 initramfs 映像。
我曾经想在一个正在运行的系统(SCO Xenix 或 SCO UNIX)上输入,
rm folder/*
但不小心输入了。rm folder /*
由于 UNIX 实际上不会删除打开的文件,直到它们关闭,系统才能继续正常运行。我知道如果我把所有丢失的文件放回去,重启就会正常成功,不会发生任何不好的事情。幸运的是,我安装了另一台安装了相同操作系统的服务器,然后我转到它,将文件系统根目录中的所有文件复制到软盘上,然后将它们放回被阉割的系统上。后来,那天晚上所有人都注销后,我重新启动了,从来没有问题。
所以你应该能够做类似的事情来解决这个问题。如果你没有匹配的运行系统,但你有一个带有 Virtualbox 或 XEN 的工作站,那么你可以安装一个虚拟机来获得匹配的系统。
当然,我不建议在这个我们有 SCP 和 FTP 来移动文件的时代使用软盘。
原来我错过了lib64 ......
...服务器现在启动!:)
冒着坏死的风险,我在尝试解决这个问题时得出了这个答案。值得注意的是,如果您在系统仍在运行时尝试从中恢复,您可能无法执行“ln”,因为您将丢失一个库 - 您需要执行以下操作: