/ sbin / init不存在-摆脱困境,您是一个人。祝好运


8

我正在尝试安装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 /]# _

init应该位于/ usr / bin / init中,而不是/ sbin / init中
高度,

2
您是否使用了旧的安装映像-Syu
jasonwryan

3
@Jeight /sbin/bin/usr/binArch Linux上的符号链接。
13年

1
@strugee现在的问题是OP的Arch Linux / sbin和/ bin使用默认情况下应具有的符号链接。那会引起问题。
13年

4
我真的建议不要使用@ChanceLeachman。如果您不想按照Wiki推荐的方式配置Arch,或者不了解自己在做什么,那么Arch可能不是您的正确发行版(可以尝试使用Mint或Debian)。另外,您的链接404s。@Jeight FWIW,我怀疑他可以安装systemd软件包。也许他的脚本没有针对将systemd转换为init进行更新。
13年

Answers:


8

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

因此,如果要引导系统,则应添加到其中grub kernel line(如果使用grub):

init=/lib/systemd/systemd

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


3

我遇到了这个问题,并通过重新安装arch base系统并仔细关注给出的说明来解决了这个问题。特别是在Syslinux-在BIOS上安装

我选择安装syslinux并过快地阅读说明,忘记了

配置syslinux.cfg指向正确的根分区。这一步至关重要

在我的情况下,我的根分区位于/ dev / sda2上,并且您可以在下面看到它没有指向它。

...
LABEL arch
    ...
    APPEND root=/dev/sda3 rw
    ...

它指向我的主分区/ dev / sda3


2

Arch下载页面下载最新安装的ISO(当前为2013.10.1)。将那个ISO放在CD或其他任何东西上,然后重新安装。

您使用的是较旧的安装ISO或安装过程中出现了问题。在我相对较新的Arch服务器上,/sbin/init是的符号链接/lib/systemd/systemd

您可以检查是否/sbin/init存在,并且它是真实文件还是符号链接。如果是后者,请检查符号链接所说的内容是否存在,是否可执行,是否是文件等。我的猜测是,该过程中的某些内容将显示安装失败的地方,但是您可能应该重新安装从全新下载的ISO映像中。


2
init从内核要调用一个程序的意义上讲,Arch确实使用了该程序/sbin/init(除非引导加载程序通过该init选项传递了一个不同的值),而PID为1的程序通常被称为init。对内核而言,这是init来自Systemd还是来自SysVinit,还是来自Upstart还是来自BusyBox ,都没有关系。
吉尔(Gilles)'所以

1

如果您为根使用了错误的分区,则会发生这种情况。查找您的加载程序条目(如果您像我一样在Arch Linux上使用systemd-boot,则在/boot/loader/entries/arch.conf中),并确保“ root” UUID是您的根分区。


1

我知道这篇文章很旧,但是我刚刚遇到了这个问题,并且在其他地方找不到很好的答案,所以这是我的答案,希望这对以后的人有所帮助。

就我而言,当我在舞台上时

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 /]# _

实际上有一个/sbin/init,它不过是与之的符号链接 busybox

这是发生了什么事。在Archlinux中,该目录/sbin是/ usr / sbin的符号链接。而且,正如其他人所说,/usr/sbin/init链接到/lib/systemd/systemd。但是,就我而言,我发现该/usr目录未挂载。

基本上,您需要/usr按照此ArchWiki页面上的说明安装分区您可能还需要验证/etc/fstab,特别是如果使用生成的genfstab


一个相关的答案是unix.stackexchange.com/a/392223/5132,一个相关的问题是unix.stackexchange.com/questions/247532
JdeBP '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.