Jak naprawić błąd uruchamiania z powodu niepoprawnego pliku fstab?


26

Wygląda na to, że dodałem niepoprawny zapis do /etc/fstab:

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

Kiedy to zrobiłem mount -a, poprosiłem o hasło użytkownika, aby zamontować udział sieciowy. Wygląda na to, że nie można kontynuować bez hasła przy rozruchu, więc po prostu się zawiesił.

Jak mogę naprawić FSTAB, aby zapobiec awarii?

Odpowiedzi:


38

Wygląda na to, że znalazłem rozwiązanie:

  • po poleceniu grub, naciśnij, aaby dodać opcje
  • dodaj init=/bin/bashna końcu wiersza poleceń jądra i naciśnij enter

System uruchomi się z pytaniem, takim jak „bash-3.2 #”, wprowadź następujące polecenia w wierszu polecenia

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

edytuj plik fstab, komentując błędy, dodając # na początku każdej problematycznej linii, zapisz plik

  • uruchom ponownie, naciskając CTRL + ALT + DEL

4
Musiałem użyć, mount -o remount,rw / --target /aby z powodzeniem ponownie zamontować w trybie RW. Kolejny montaż wybrał złe wartości /etc/fstab, zobacz man mountszczegóły.
laconbass 18.10.16

1
@laconbass masz cholerną rację, --target /jest kluczem!
sempasha

Tak jest do dzisiaj - ponad sześć lat później. W każdym razie na CentOS7 kluczem do zmiany wpisu podczas rozruchu jest teraz tab, a raz na bash musisz zamontować swój system plików (który jest jeszcze odmontowany na tym etapie) za pomocą prostej mount /dev/sda(X) /mnt(oczywiście zmieniającej partycję root za pomocą właściwej)
nnsense

Uratowałem moje życie ..
TheEyesHaveIt

Dobra odpowiedź. Dzięki.
Mohamed Bana,

2

Co powiesz na usunięcie wpisu, utworzenie migawki, a następnie próbę zmiany pliku / etc / fstab, aby uzyskać działającą migawkę, do której można przywrócić?

Według strony mount.cifs można również podać hasło za pomocą password=arg. Ponadto, zgodnie z tą stroną, nie ma argumentów, username=arg ale zamiast tego user=arg. Ale może być inaczej w twoim systemie, lepiej sprawdź stronę podręcznika dla poprawnych nazw argumentów.


mandla zwycięstwa.
Tim

Właśnie miałem stworzyć migawkę, ale podczas eksperymentowania fstabwystąpił błąd z jakiegoś powodu. Najwyraźniej nie zadałbym pytania, czy bym mógł to naprawić samodzielnie.
alternatywnie

2
Twój opis problemu jest trochę niejasny. Nie możesz uruchomić systemu w trybie pojedynczego użytkownika / odzyskiwania? Powinien tylko próbować zamontować root fs i zostawić fstab w spokoju.
scai

1

Innym łatwym sposobem jest uruchomienie w trybie live-cd i zamontowanie odpowiedniej partycji. Następnie możesz naprawić wszystko, co chcesz!


1

Znalazłem rozwiązanie systemowego błędu ładowania jądra systemu. Użyj Live CD, aby uzyskać dostęp do istniejącej instalacji. Po ponownej instalacji jądra Linux:

pacman -S Linux

Następnie usuń plik fstab z etc / fstab:

rm /etc/fstab

Teraz zainstaluj ponownie systemd:

pacman -S systemd

Podczas ponownej instalacji systemd automatycznie wygeneruje nowy plik fstab

Teraz ponownie zainstaluj bootloader w tym przypadku używam grub:

pacman -S grub os-prober

(sonda OS jest przydatna, jeśli masz więcej niż 1 OS zainstalowany na HDD / SSD)

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

Po zakończeniu wykonaj pliki konfiguracyjne:

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

Następnie odmontuj używane partycje i uruchom ponownie

umount /dev/sdX 
reboot

To powinno rozwiązać problem, zadziałało dla mnie.


0

Może się spóźnię. Ale to jest FYI. W tej sytuacji możesz użyć nano do załadowania fstab i możesz zrestartować po edycji fstab.

sudo nano /etc/fstab
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.