/ sbin / init existiert nicht - Aussteigen, du bist auf dich allein gestellt. Viel Glück


8

Ich versuche, Arch Linux zu installieren. Wenn ich hochfahre, wird die folgende Meldung angezeigt.

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 sollte sich in / usr / bin / init befinden und nicht in / sbin / init
Jeight

1
Haben Sie ein altes Installationsimage verwendet und nicht -Syu?
Jasonwryan

3
@Jeight /sbinund /binsind Symlinks zu /usr/binArch Linux.
strugee

1
@strugee Die Frage ist nun, ob die Arch Linux / sbin und / bin des OP die Sym-Links verwenden, die es standardmäßig haben sollte. Das würde das Problem verursachen.
Jeight

4
@ChanceLeachman Ich würde wirklich empfehlen, solche Dinge nicht zu verwenden. Wenn Sie Arch nicht so konfigurieren möchten, wie es das Wiki empfiehlt, oder nicht verstehen, was Sie tun, ist Arch wahrscheinlich nicht die richtige Distribution für Sie (versuchen Sie es vielleicht mit Mint oder Debian). auch dein Link 404s. @Jeight FWIW, ich vermute, dass er das systemdPaket einfach installieren kann . Vielleicht wurde sein Skript für den Übergang zu systemd als init nicht aktualisiert.
strugee

Antworten:


8

Sie sollten systemd-sysvcompat benötigen, wenn Sie verwenden möchten init. Das /sbin/initist eine einfache symbolische Verbindung zu /lib/systemd/systemd(siehe PKGBUILD ) zur Verfügung gestellt von systemd-sysvcompat.

Wenn Sie also Ihr System starten möchten, sollten Sie Folgendes hinzufügen grub kernel line(wenn Sie grub verwenden):

init=/lib/systemd/systemd

Wenn Sie nicht verwenden möchten, systemd-sysvcompatsollten Sie die obige Zeile in Ihre hinzufügenGRUB's configuration


3

Ich bin auf dieses Problem gestoßen und habe es gelöst, indem ich das Arch-Basissystem neu installiert und die gegebenen Anweisungen genauer beachtet habe . Speziell unter Syslinux - Installation im BIOS .

Ich habe mich für die Installation von syslinux entschieden und die Anweisungen zu schnell gelesen und vergessen

Konfigurieren Sie syslinux.cfg so, dass es auf die richtige Root-Partition verweist. Dieser Schritt ist wichtig .

Meine Root-Partition, die in meinem Fall auf / dev / sda2 war, und wie Sie unten sehen können, zeigt nicht darauf.

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

Es zeigte auf meine Home-Partition / dev / sda3


2

Laden Sie die neueste Installations-ISO (derzeit 2013.10.1) von der Arch Download-Seite herunter . Legen Sie diese ISO auf eine CD oder was auch immer und installieren Sie sie erneut.

Entweder haben Sie eine ältere ISO-Installation verwendet oder während der Installation ist ein Fehler aufgetreten. Auf meinem relativ aktuellen Arch-Server /sbin/initbefindet sich ein symbolischer Link zu /lib/systemd/systemd.

Sie können überprüfen, ob dies /sbin/initvorhanden ist und ob es sich entweder um eine echte Datei oder um einen symbolischen Link handelt. Wenn letzteres der Fall ist, überprüfen Sie, ob das, was der symbolische Link sagt, vorhanden, ausführbar, eine Datei usw. ist. Ich vermute, dass in diesem Prozess angezeigt wird, wo die Installation fehlgeschlagen ist, aber dass Sie die Installation wahrscheinlich erneut durchführen sollten von einem neuen Download des ISO-Images.


2
Arch verwendet initin dem Sinne, dass der Kernel ein Programm aufrufen möchte /sbin/init(es sei denn, der Bootloader übergibt einen anderen Wert über die initOption) und dass das Programm mit PID 1 herkömmlicherweise aufgerufen wird init. Für den Kernel spielt es keine Rolle, ob dies initvon Systemd oder von SysVinit oder von Upstart oder von BusyBox stammt.
Gilles 'SO - hör auf böse zu sein'

1

Dies kann passieren, wenn Sie die falsche Partition für root verwendet haben. Suchen Sie Ihren Loader-Eintrag (in /boot/loader/entries/arch.conf, wenn Sie systemd-boot unter Arch Linux wie ich verwenden) und stellen Sie sicher, dass die UUID 'root' Ihre Root-Partition ist.


1

Ich weiß, dass dieser Beitrag alt ist, aber ich bin gerade auf dieses Problem gestoßen, und ich habe anderswo keine gute Antwort gefunden. Hier ist meine Antwort, in der Hoffnung, dass dies jemandem in Zukunft hilft.

In meinem Fall, als ich auf der Bühne war

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

Es gab tatsächlich eine /sbin/init, die nichts als eine symbolische Verbindung zu war busybox!

Hier ist was passiert ist. In Archlinux ist das Verzeichnis /sbinein symbolischer Link zu / usr / sbin. Und, wie andere Leute sagen, /usr/sbin/initSymlinks zu /lib/systemd/systemd. In meinem Fall stellte ich jedoch fest, dass das /usrVerzeichnis nicht bereitgestellt war.

Grundsätzlich müssen Sie die Partition /usrwie auf dieser ArchWiki-Seite beschrieben bereitstellen. Möglicherweise möchten Sie auch überprüfen /etc/fstab, insbesondere wenn Sie eine verwenden, die von generiert wurde genfstab.


Eine verwandte Antwort lautet unix.stackexchange.com/a/392223/5132 und eine verwandte Frage lautet unix.stackexchange.com/questions/247532 .
JdeBP
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.