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?

altern
źródło

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
altern
źródło
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.

scai
źródło
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!

użytkownik3435653
źródło
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.

Jp ---
źródło
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
Choxmi
źródło