Linux实例/etc/fstab文件配置错误导致系统启动异常
温馨提示:这篇文章已超过839天没有更新,请注意相关的内容是否还可用!
Linux系统(包括Ubuntu)里的/etc/fstab文件主要用于保存服务器的磁盘挂载信息,如果该配置文件中写入不正确的挂载信息或者该文件自身存在访问错误(权限配置、文件丢失等),系统启动时就可能出现异常,导致启动失败。本文描述了CentOS和Ubuntu系统里因为/etc/fstab配置文件错误导致启动失败的现象,并给出了相应的解决方法。
说明:本文相关配置及说明适用于CentOS 6.5、CentOS 7.0、Ubuntu12.04和Ubuntu14.04等操作系统。在其它操作系统版本上的配置可能有所差异,具体情况请参阅相应操作系统官方文档。
CentOS
问题现象
通过远程连接软件无法登录Linux实例,通过 管理终端 远程连接时系统进入到急救模式(emergency mode),报错
问题原因
一般是因为/etc/fstab文件中写入了错误的文件系统或者磁盘的分区信息不正确
解决方法
1、进入终端,按照系统提示进入急救模式,输入实例的登入密码
2、运行 mount / -o remount,rw,变更根分区的挂载模式为读写。
3、运行 blkid 查看ECS实例上磁盘的分区情况以及文件系统。如下图所示,本示例中的ECS实例数据盘分区为/dev/xvdb1,文件系统为ext4。
4运行 vim /etc/fstab,检查磁盘的分区信息与文件系统和 blkid 返回的结果是否一致。如果不一致,按以下步骤修改:
4.1、将光标移到异常的参数行,按 i 键进入编辑模式。
4.2、写入正确的分区信息。
4.3、按 Esc 键退出编辑模式,并输入 :wq!,按回车键后保存并退出。
5、运行 reboot 重启系统。确认ECS实例是否能成功进入系统。
Ubuntu
问题现象
通过远程连接软件无法登录Linux实例,通过 管理终端 远程连接时系统提示:
报错
An error occurred while mounting /alidata.
Press S to skip mounting or M for manual recovery
问题原因
一般是因为/etc/fstab文件中写入了错误的文件系统或者磁盘的分区信息不正确。
解决方法
按以下步骤修复:
1、通过 管理终端 远程连接ECS实例。
2、按 S 键跳过磁盘挂载,进入系统。
3、运行 mount / -o remount,rw,变更根分区的挂载模式为读写。
4、运行 blkid 查看ECS实例上磁盘的分区情况以及文件系统。如下图所示,本示例中的ECS实例数据盘分区为/dev/xvdb1,文件系统为ext4。
5、运行 vim /etc/fstab,检查磁盘的分区信息与文件系统和 blkid 返回的结果是否一致。如果不一致,按以下步骤修改:
5.1、将光标移到异常的参数行,按 i 键进入编辑模式。
5.2、写入正确的分区信息。
5.3、按 Esc 键退出编辑模式,并输入 :wq!,按回车键后保存并退出。
6、运行 reboot 重启系统。确认ECS实例是否能成功进入系统。