我正在尝试安装 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 /]# _
答案1
你应该需要systemd-sysvcompat如果你想使用init
.这/sbin/init
是一个简单的符号链接/lib/systemd/systemd
(参见PKG构建) 由...提供systemd-sysvcompat
。
因此,如果你想启动你的系统,你应该添加grub kernel line
(如果你使用 grub):
init=/lib/systemd/systemd
如果您不想使用,systemd-sysvcompat
您应该将上面的行添加到您的GRUB's configuration
答案2
我遇到了这个问题并通过重新安装arch base系统解决了它更加注意说明给予。具体在Syslinux - BIOS 上的安装。
我选择安装系统Linux阅读说明太快而忘记
配置 syslinux.cfg 以指向正确的根分区。这一步是必不可少的。
在我的例子中,我的根分区位于 /dev/sda2 上,正如您在下面看到的那样,它没有指向它。
...
LABEL arch
...
APPEND root=/dev/sda3 rw
...
它指向我的主分区 /dev/sda3
答案3
从以下位置下载最新的安装 ISO(当前为 2013.10.1)拱门下载页面。将该 ISO 放入 CD 或其他介质上,然后重新安装。
您可能使用了较旧的安装 ISO,或者安装过程中出现了问题。在我相对最新的 Arch 服务器上,/sbin/init
有一个指向/lib/systemd/systemd
.
您可以检查它/sbin/init
是否存在,以及它是真实文件还是符号链接。如果是后者,请检查符号链接是否存在、是否可执行、是否是一个文件等。我的猜测是该过程中的某些内容会显示安装出错的地方,但您可能应该重新安装来自新下载的 ISO 映像。
答案4
如果您为 root 使用了错误的分区,则可能会发生这种情况。查找您的加载器条目(如果您像我一样在 Arch Linux 上使用 systemd-boot,则在 /boot/loader/entries/arch.conf 中),并确保“root”UUID 是您的根分区。