Come riparare l'errore di avvio a causa di fstab errato?


26

Sembra che abbia aggiunto record errati a /etc/fstab:

//servername/share    /mnt/share    cifs     defaults,username=myuser     0 0

Quando l'ho fatto mount -a, ha chiesto la password dell'utente per montare la condivisione di rete. Sembra che non possa procedere senza password all'avvio, quindi è solo bloccato.

Come posso risolvere fstab per evitare errori di avvio?

Risposte:


38

Sembra che ho trovato una soluzione:

  • al prompt di grub, premi aper aggiungere opzioni
  • aggiungere init=/bin/bashalla fine della riga di comando del kernel e premere invio

Il sistema si avvierà ad un prompt come 'bash-3.2 #' inserire i seguenti comandi al prompt

  • mount -o remount,rw /
  • vim /etc/fstab

modifica il file fstab commentando gli errori aggiungendo un # all'inizio di ogni riga problematica, salva il file

  • riavviare premendo CTRL + ALT + CANC

4
Ho dovuto usare mount -o remount,rw / --target /per rimontare con successo in modalità rw. Elsecase mount stava selezionando i valori errati da /etc/fstab, vedi i man mountdettagli.
laconbass,

1
@laconbass hai dannatamente ragione, --target /è la chiave!
sempasha,

Questo è ancora vero oggi - oltre sei anni dopo. Comunque su CentOS7 la chiave per cambiare una voce all'avvio è ora una scheda, e una volta su bash devi montare il tuo filesystem (che è ancora smontato in questa fase) con un semplice mount /dev/sda(X) /mnt(ovviamente cambiando la partizione di root con quella giusta)
nnsense

Mi ha salvato la vita ..
TheEyesHaveIt il

Buona risposta. Grazie.
Mohamed Bana,

2

Che ne dici di rimuovere la voce, creare uno snapshot e poi provare a cambiare il tuo / etc / fstab in modo da avere uno snapshot funzionante su cui puoi tornare indietro?

Secondo la pagina man mount.cifs è anche possibile specificare una password tramite password=arg. Inoltre, secondo quella manpage non ci sono argomenti username=arg ma invece user=arg. Ma potrebbe essere diverso sul tuo sistema, controlla meglio la tua manpage per i nomi degli argomenti corretti.


manper la vittoria.
Tim

Stavo per creare un'istantanea, ma mentre stavo sperimentando fstab, l'istanza VM è andata in fumo per qualche motivo. Apparentemente, non vorrei porre la domanda se potrei risolverlo da solo.
altern

2
La descrizione del problema non è chiara. Non riesci ad avviare in modalità utente singolo / recupero? Dovrebbe solo provare a montare il root fs e lasciare solo il fstab.
scai,

1

L'altro modo semplice è l'avvio in modalità cd live e montare la partizione giusta. Quindi puoi sistemare tutto quello che vuoi!


1

Ho trovato una soluzione al kernel di errore del sistema che non si carica Usa cd live per accedere all'installazione esistente. Una volta reinstallato il kernel Linux:

pacman -S Linux

Quindi eliminare il file fstab da etc / fstab:

rm /etc/fstab

Ora reinstallare systemd:

pacman -S systemd

Quando si reinstalla systemd, verrà generato automaticamente un nuovo file fstab

Ora reinstallare il bootloader in questo caso uso grub:

pacman -S grub os-prober

(os probe è utile se sul tuo hdd / ssd sono installati più di 1 os) Quindi

grub-install --target=i386-pc /dev/sda

Una volta terminato, crea i file di configurazione:

grub-mkconfig -o /boot/grub/grub.cfg

Quindi smontare le partizioni in uso e riavviare

umount /dev/sdX 
reboot

Questo dovrebbe risolvere il problema, ha funzionato per me.


0

Forse sono troppo tardi. Ma questo è FYI. In questa situazione puoi usare nano per caricare fstab e puoi riavviare dopo aver modificato fstab.

sudo nano /etc/fstab
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.