/sbin/init 不存在 - 救助,你是靠自己的。祝你好运

Cha*_*man 9 arch-linux system-installation

我正在尝试安装arch linux。当我启动时,它给了我下面的消息。

ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own now. Good luck.

sh: can't access tty: job control turned off
[rootfs /]# _
Run Code Online (Sandbox Code Playgroud)

uzs*_*olt 8

如果你需要systemd-sysvcompat如果你想使用init。本/sbin/init是一个简单的符号链接/lib/systemd/systemd(见PKGBUILD)提供systemd-sysvcompat

所以如果你想引导你的系统,你应该添加到grub kernel line(如果你使用 grub):

init=/lib/systemd/systemd
Run Code Online (Sandbox Code Playgroud)

如果您不想使用systemd-sysvcompat,则应将上面的行添加到您的GRUB's configuration


小智 2

从Arch 下载页面下载最新的安装 ISO(当前为 2013.10.1)。将该 ISO 放入 CD 或其他介质上,然后重新安装。

您可能使用了较旧的安装 ISO,或者安装过程中出现了问题。在我相对最新的 Arch 服务器上,/sbin/init有一个指向/lib/systemd/systemd.

您可以检查它/sbin/init是否存在,以及它是真实文件还是符号链接。如果是后者,请检查符号链接是否存在、是否可执行、是否是一个文件等。我的猜测是该过程中的某些内容会显示安装出错的地方,但您可能应该重新安装来自新下载的 ISO 映像。

  • Arch 确实使用了 `init`,因为内核需要一个名为 `/sbin/init` 的程序(除非引导加载程序通过 `init` 选项传递不同的值),并且 PID 为 1 的程序通常称为 `初始化`。对于内核来说,这是来自 Systemd、SysVinit、Upstart 还是 BusyBox 的“init”并不重要。 (2认同)