/sbin/init existiert nicht

/sbin/init existiert nicht

/sbin/init existiert nicht

Nach der Installation von Arch Linux habe ich neu gestartet, aber jetzt kann ich den Startvorgang nicht abschließen. Ich lande auf dem obigen Bildschirm mit dieser Meldung

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

sh: can't access tty; job control turned off.

und eine [rootfs ]# Eingabeaufforderung.

Ich habe überprüft und über eine Live-Disk bestätigt, dasssbinexistiert alssymbolisch VerknüpfungZu/usr/bin. Ich habe jedoch nicht diedrinDatei/Ordner in meinem/usr/binVerzeichnis. Wo bekomme ich diedrinDatei/Ordner? Habe ich während der Installation einen Schritt übersehen? Kann ich das irgendwie korrigieren? Danke.

Antwort1

Im Anschluss an meinen Kommentar empfehle ich Ihnen zur Korrektur, Ihr System mit der Live-CD (oder mit welcher Methode auch immer Sie die Installationsumgebung gestartet haben) neu zu starten und die folgenden Schritte des Installationsvorgangs zu wiederholen:

Wenn es danach immer noch nicht funktioniert, würde ich vorschlagen zu prüfen, welches Dateisystem tatsächlich vom Bootloader gemountet wird. Vielleicht eine Liste der DateienSindWenn Sie im /usr/binVerzeichnis vorhanden sind, können wir Ihnen weiterhelfen.

Antwort2

Ich habe einen halben Tag mit diesem Problem verbracht und schließlich festgestellt, dass die Ursache in meinem Fall darin lag, dass ich /usr auf einer separaten Partition eingerichtet hatte und nur die Root-Partition an dem Punkt gemountet war, an dem der Grub-Boot versucht, auf /usr/bin/init zuzugreifen.

Ich habe das Problem gelöst, indem ich die /usr-Dateihierarchie auf die Stammpartition verschoben habe.

richard

Antwort3

Bei einer separaten /usr-Partition müssen Sie ein initramfs/ mkinitcpio verwenden und den usr-Hook hinzufügen. Es gibt einen Kommentar in /etc/mkinitcpio.confder genau das erklärt. Eventuell sind auch zusätzliche Hooks erforderlich, die in den Kommentaren der Datei beschrieben sind. Generieren Sie initramfs anschließend neu, z. B. mkinitcpio -P.

Hintergrund: Derzeit sind alle großen Distributionen /usraufgrund inkonsistenter Speicherung von Binärdateien und Bibliotheken mehr oder weniger mit einer separaten -Partition ausgestattet. Laut Linux Standard Base sollten sie /bin, /sbin und/oder /lib verwenden. Stattdessen erstellen die meisten ihre eigenen Distributionen und füllen /usr/bin, um mit /usr/sbin zu tricksen und dies mit verschiedenen Bibliothekspfaden zu mischen. Dies dient zum Teil dazu, Benutzer davon abzuhalten, Dinge kaputt zu machen und es bequemer zu machen, und zum Teil, weil es kein Forum gibt, das vor allem Standards setzt.

Zumindest Arch Linux und Gentoo Linux bieten in ihren Wikis aktuelle Anleitungen für anspruchsvollere Setups an. Ich empfehle die Lektüre von GentoosFrühes Userspace-Mountum eine Vorstellung davon zu bekommen, was zum Erstellen eines benutzerdefinierten Initramfs erforderlich ist. Arch Linux ist diesbezüglich etwas fortgeschrittener.

Ich empfehle unbedingt, bei gängigen Desktop-Systemen auf Nummer sicher zu gehen und mit sehr geringer Partitionierung zu arbeiten. Wenn Sie sich täglich anmelden, werden Sie schnell feststellen, dass das Dateisystem voll ist. Es ist sicher, /homeauf eine separate Partition (und Festplatte) aufzuteilen und alle anderen Verzeichnisse auf einer einzigen Partition/Betriebssystemfestplatte zu halten.

Nicht-Desktop-/Server-Systeme sollten Partitionen unbedingt aufteilen, um zu vermeiden, dass das Füllen von Partitionen das gesamte System blockiert. Sie laufen monate- oder jahrelang unbeaufsichtigt. Sie schreiben Protokolle, Daten und aktualisieren Pakete möglicherweise automatisch. Sie können sich nicht mehr bei einem Computer anmelden, der keinen Platz mehr hat /tmp, /runoder /var(je nach Distribution) aufgrund gesammelter Protokolle oder heruntergeladener Paketarchive. Es ist auch sehr wahrscheinlich, dass einige Partitionen RAID-Geräte und/oder anspruchsvolle Dateisysteme haben. Das erfordert noch mehr Hooks und manuelle Konfiguration des Bootloaders und alles darunter /sbin/init.

verwandte Informationen