Bagaimana cara memperbaiki kegagalan boot karena kesalahan fstab?

26

Tampaknya saya telah menambahkan catatan yang salah ke /etc/fstab:

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

Ketika saya melakukannya mount -a, ia meminta kata sandi pengguna untuk me-mount berbagi jaringan. Tampaknya tidak dapat melanjutkan tanpa kata sandi saat boot, jadi itu hanya hang.

Bagaimana saya bisa memperbaiki fstab untuk mencegah kegagalan boot?

alternatif
sumber

Jawaban:

38

Tampaknya saya telah menemukan solusi:

  • pada prompt grub, tekan auntuk menambahkan opsi
  • tambahkan init=/bin/bashke akhir baris perintah kernel dan tekan enter

Sistem akan mem-boot ke prompt seperti 'bash-3.2 #' masukkan perintah berikut di prompt

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

edit file fstab mengomentari kesalahan dengan menambahkan # pada awal setiap baris yang bermasalah, simpan file tersebut

  • reboot dengan menekan CTRL + ALT + DEL
alternatif
sumber
4
Saya harus menggunakan mount -o remount,rw / --target /untuk berhasil melakukan remount dalam mode rw. Elsecase mount mengambil nilai buruk dari /etc/fstab, lihat man mountdetailnya.
laconbass
1
@ laconbass kau benar, --target /kuncinya!
sempasha
Ini masih benar hari ini - lebih dari enam tahun kemudian. Pokoknya pada CentOS7 kunci untuk mengubah entri pada boot sekarang tab, dan sekali pada bash Anda harus me-mount sistem file Anda (yang masih di-unmount pada tahap ini) dengan sederhana mount /dev/sda(X) /mnt(jelas mengubah partisi root dengan yang benar)
nnsense
Menyelamatkan hidupku ..
TheEyesHaveIt
Jawaban yang bagus. Terima kasih.
Mohamed Bana
2

Bagaimana dengan menghapus entri, membuat snapshot dan kemudian mencoba mengubah / etc / fstab Anda sehingga Anda memiliki snapshot yang berfungsi yang dapat Anda putar kembali?

Menurut halaman manual mount.cifs Anda juga dapat menentukan kata sandi melalui password=arg. Juga, menurut halaman manual itu tidak ada argumen username=arg melainkan sebaliknya user=arg. Tetapi mungkin berbeda pada sistem Anda, lebih baik periksa halaman manual Anda untuk nama argumen yang benar.

scai
sumber
manUntuk kemenangan.
Tim
Saya baru saja akan membuat snapshot, tetapi ketika saya sedang bereksperimen fstab, misalnya saya meledak karena suatu alasan. Rupanya, saya tidak akan mengajukan pertanyaan jika saya bisa memperbaikinya sendiri.
alternatif
2
Deskripsi masalah Anda agak tidak jelas. Tidak bisakah Anda mem-boot dalam mode pengguna tunggal / pemulihan? Seharusnya hanya mencoba me-mount root fs dan membiarkan fstab sendirian.
scai
1

Cara mudah lainnya adalah boot ke mode live-cd dan pasang partisi yang tepat. Maka Anda dapat memperbaiki apa pun yang Anda inginkan!

pengguna3435653
sumber
1

Saya menemukan solusi untuk sistem kesalahan kernel tidak memuat Gunakan live cd untuk mendapatkan akses ke instalasi Anda yang ada. Setelah di instal ulang kernel Linux:

pacman -S Linux

Kemudian hapus file fstab dari etc / fstab:

rm /etc/fstab

Sekarang instal ulang systemd:

pacman -S systemd

Ketika menginstal ulang systemd itu secara otomatis akan menghasilkan file fstab baru

Sekarang instal ulang bootloader dalam hal ini saya menggunakan grub:

pacman -S grub os-prober

(os probe berguna jika Anda memiliki lebih dari 1 os diinstal pada hdd / ssd Anda) Lalu

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

Setelah selesai membuat file konfigurasi:

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

Kemudian unmount partisi yang digunakan dan reboot

umount /dev/sdX 
reboot

Ini harus memperbaiki masalah, itu berhasil untuk saya.

Jp ---
sumber
0

Mungkin saya sudah terlambat. Tapi ini FYI. Dalam situasi ini, Anda dapat menggunakan nano untuk memuat fstab dan Anda dapat memulai kembali setelah mengedit fstab.

sudo nano /etc/fstab
Choxmi
sumber