如何解决由于错误的fstab导致的启动失败?


26

看来我已将错误的记录添加到/etc/fstab

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

完成后mount -a,它询问用户密码以安装网络共享。似乎在没有启动密码的情况下无法进行,因此已挂起。

如何修复fstab以防止启动失败?

Answers:


37

看来我找到了解决方案:

  • 在grub提示符下,单击a以追加选项
  • 添加init=/bin/bash到内核​​命令行的末尾,然后按Enter

系统将启动到类似“ bash-3.2#”的提示符,并在提示符下输入以下命令

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

编辑fstab文件,在每个有问题的行的开头添加#,以注释错误,并保存文件

  • 通过按CTRL + ALT + DEL重新启动

4
我不得不用来mount -o remount,rw / --target /成功地以rw模式重新安装。Elsecase mount从中选择了错误的值/etc/fstabman mount有关详细信息,请参阅。
laconbass

1
@laconbass你说的没错,--target /是关键!
sempasha

今天-六年后仍然如此。无论如何,在CentOS7上,更改引导项的键现在是tab,一旦在bash上,您就必须使用简单的安装文件系统(此阶段仍处于卸载状态)mount /dev/sda(X) /mnt(显然,用正确的分区更改了根分区)
nnsense

挽救了我的性命
。–

2

如何删除条目,创建快照,然后尝试更改/ etc / fstab,以使您拥有可以回滚的有效快照,该怎么办?

根据联机帮助页, mount.cifs您还可以通过指定密码password=arg。另外,根据该联机帮助页,没有参数username=arg ,而是user=arg。但是在您的系统上可能有所不同,最好检查您的联机帮助页以获取正确的参数名称。


man为了胜利。
蒂姆(Tim)

我将要创建快照,但是在进行尝试时fstab,vm instance由于某种原因而关闭。显然,我不会问自己是否可以解决这个问题。
altern

2
您的问题描述有点不清楚。您不能以单用户/恢复模式启动吗?它仅应尝试挂载根fs并单独保留fstab。
scai 2012年

1

另一种简单的方法是引导到live-cd模式并安装正确的分区。然后,您可以修复所需的任何内容!


1

我找到了解决系统错误内核无法加载的解决方案。使用live cd可以访问现有安装。一旦重新安装Linux内核:

pacman -S Linux

然后从etc / fstab中删除fstab文件:

rm /etc/fstab

现在重新安装systemd:

pacman -S systemd

重新安装systemd时,它将自动生成一个新的fstab文件

现在,在这种情况下,我使用grub重新安装引导加载程序:

pacman -S grub os-prober

(如果在硬盘驱动器/ ssd上安装的操作系统超过1个,则OS探针很有用)

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

完成后,制作配置文件:

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

然后卸载正在使用的分区并重新启动

umount /dev/sdX 
reboot

这应该可以解决问题,对我有用。


0

可能我来不及了。但这是仅供参考。在这种情况下,您可以使用nano加载fstab,并且可以在编辑fstab之后重新启动。

sudo nano /etc/fstab
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.