/ sbin / init non esiste - Salvi, sei da solo. In bocca al lupo


8

Sto cercando di installare Arch Linux. Quando avvio, mi dà il messaggio che trovi di seguito.

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 dovrebbe trovarsi in / usr / bin / init e non / sbin / init
Jeight,

2
Hai usato una vecchia immagine di installazione e non -Syu?
Jasonwryan,

3
@Jeight /sbine /binsono collegamenti simbolici /usr/binsu Arch Linux.
strugee,

1
@strugee La domanda ora è: Arch Linux / sbin e / bin dell'OP che usano i collegamenti sym che dovrebbe avere di default. Ciò causerebbe il problema.
Jeight

4
@ChanceLeachman Consiglierei davvero di non usare cose del genere. se non vuoi configurare Arch nel modo raccomandato dal wiki o non capisci cosa stai facendo, allora Arch non è probabilmente la distribuzione giusta per te (forse prova Mint o Debian). inoltre, il tuo link 404s. @Jeight FWIW, sospetto che possa semplicemente installare il systemdpacchetto. forse il suo script non è stato aggiornato per il passaggio a systemd come init.
strugee,

Risposte:


8

Dovresti aver bisogno di systemd-sysvcompat se vuoi usare init. Il /sbin/initè un semplice link simbolico a /lib/systemd/systemd(vedi PKGBUILD ) fornito da systemd-sysvcompat.

Quindi se vuoi avviare il tuo sistema dovresti aggiungere grub kernel line(se usi grub):

init=/lib/systemd/systemd

Se non si desidera utilizzare, systemd-sysvcompatè necessario aggiungere la riga sopra nel proprioGRUB's configuration


3

Ho riscontrato questo problema e risolto reinstallando il sistema di base ad arco e prestando maggiore attenzione alle istruzioni fornite. In particolare sotto Syslinux - Installazione su BIOS .

Ho scelto di installare syslinux e di leggere le istruzioni troppo velocemente e di averlo dimenticato

Configurare syslinux.cfg in modo che punti alla partizione di root giusta. Questo passaggio è vitale .

La mia partizione di root che era su / dev / sda2 nel mio caso, e come puoi vedere sotto, non punta ad essa.

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

Indicava la mia partizione home, / dev / sda3


2

Scarica l'ultima installazione ISO (2013.10.1 attualmente) dalla pagina di download di Arch . Metti quell'ISO su un CD o altro e reinstallalo.

O hai usato una ISO di installazione obsoleta o qualcosa è andato storto durante l'installazione. Sul mio server Arch relativamente aggiornato /sbin/initè presente un collegamento simbolico a /lib/systemd/systemd.

È possibile verificare che /sbin/initesista e che sia un file reale o un collegamento simbolico. Se quest'ultimo, controlla per vedere se ciò che dice il link simbolico esiste, è eseguibile, è un file, ecc. Ecc. La mia ipotesi è che qualcosa in quel processo mostrerà dove l'installazione è andata male, ma che probabilmente dovresti ripetere l'installazione da un nuovo download dell'immagine ISO.


2
Arch usa init, nel senso che il kernel vuole un programma chiamato /sbin/init(a meno che il bootloader non passi un valore diverso tramite l' initopzione), e che il programma con PID 1 sia convenzionalmente chiamato init. Non importa al kernel se questo initproviene da Systemd o da SysVinit o da Upstart o da BusyBox.
Gilles 'SO- smetti di essere malvagio' il

1

Questo può accadere se hai utilizzato la partizione errata per root. Cerca la voce del tuo caricatore (in /boot/loader/entries/arch.conf se stai usando systemd-boot su Arch Linux come me) e assicurati che l'UUID 'root' sia la tua partizione root.


1

So che questo post è vecchio, ma ho appena riscontrato questo problema e non ho trovato una buona risposta altrove, quindi ecco la mia risposta, sperando che questo aiuti qualcuno in futuro.

Nel mio caso, quando ero sul palco

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

In realtà c'era un /sbin/init, che non era altro che un collegamento simbolico a busybox!

Ecco cosa è successo. In Archlinux, la directory /sbinè un collegamento simbolico a / usr / sbin. E, come dire altre persone, /usr/sbin/initlink simbolici a /lib/systemd/systemd. Ma, nel mio caso, ho scoperto che la /usrdirectory non era montata.

Fondamentalmente è necessario montare la partizione /usrcome spiegato in questa pagina ArchWiki. Potresti anche voler verificare /etc/fstab, specialmente se ne usi uno generato da genfstab.


Una risposta correlata è unix.stackexchange.com/a/392223/5132 e una domanda correlata è unix.stackexchange.com/questions/247532 .
JdeBP
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.