如何修复由于错误的 fstab 导致的启动失败?

如何修复由于错误的 fstab 导致的启动失败?

看来我添加了不正确的记录/etc/fstab

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

当我这样做时mount -a,它要求用户密码来安装网络共享。似乎启动时没有密码就无法继续,所以它只是挂起。

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

答案1

看来我找到了解决办法:

  • 在 GRUB 提示符下,点击A以附加选项。
  • 添加init=/bin/bash到内核命令行的末尾并按Enter

系统将启动到提示符,例如bash-3.2#在提示符处输入以下命令

mount -o remount,rw /

然后编辑 fstab:

vim /etc/fstab

编辑 fstab 文件,通过在每个有问题的行的开头添加 # 来注释错误,保存文件并按Ctrl+ Alt+重新启动Del

答案2

删除该条目,创建快照,然后尝试更改 /etc/fstab 以便拥有可以回滚到的工作快照怎么样?

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

答案3

另一种简单的方法是启动到 live-cd 模式并安装正确的分区。然后你就可以修复任何你想要的东西!

答案4

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

pacman -S Linux

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

rm /etc/fstab

现在重新安装 systemd:

pacman -S systemd

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

现在重新安装引导加载程序,在本例中我使用 grub:

pacman -S grub os-prober

(如果您的 HDD/SSD 上安装了超过 1 个操作系统,则操作系统探针很有用)然后

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

完成后制作配置文件:

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

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

umount /dev/sdX 
reboot

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

相关内容