在没有安装根文件系统的情况下重新启动 linux 服务器

Joh*_*ohn 3 linux

我最近被问到以下问题:

如果您的根文件系统没有挂载并且您无法挂载它(它丢失了)并且您没有任何二进制文件 - 您只有 root shell,那么您如何重新启动 linux 服务器。

我认为它与 /proc 有关,但也许根本不可能。任何人都可以就我在这种情况下应该做什么提供一些指导吗?

Emi*_*aos 6

您可以使用魔术 sysrq 键重新启动:

echo b > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请阅读wiki内核文档

echo也是一个 shell 内置命令(对我来说在 bash 和 dash 中已知)并且在/bin/echo不可用时使用。

  • 关于你的最后一句话,我相信 `echo`(至少在 `bash` 和 `dash`,至少在我遇到的所有 GNU/Linux 系统上)在 `/bin/echo` 上使用,即使后者存在. 您必须提供显式路径才能使用外部二进制文件。(这对于 `dash` 尤其重要,因为它内置的 `echo` 不支持许多参数 - 但这在这里无关紧要)。 (2认同)