Linux实例/etc/fstab文件配置错误导致系统启动异常

  • A+
所属分类:Linux

Linux系统(包括Ubuntu)里的/etc/fstab文件主要用于保存服务器的磁盘挂载信息,如果该配置文件中写入不正确的挂载信息或者该文件自身存在访问错误(权限配置、文件丢失等),系统启动时就可能出现异常,导致启动失败。本文描述了CentOS和Ubuntu系统里因为/etc/fstab配置文件错误导致启动失败的现象,并给出了相应的解决方法。

说明:本文相关配置及说明适用于CentOS 6.5、CentOS 7.0、Ubuntu12.04和Ubuntu14.04等操作系统。在其它操作系统版本上的配置可能有所差异,具体情况请参阅相应操作系统官方文档。

CentOS

问题现象

通过远程连接软件无法登录Linux实例,通过 管理终端 远程连接时系统进入到急救模式(emergency mode),报错 systemctl default to try again to boot into default mode,如下图所示。
Linux实例/etc/fstab文件配置错误导致系统启动异常

问题原因

一般是因为/etc/fstab文件中写入了错误的文件系统或者磁盘的分区信息不正确。

解决方法

尝试按以下步骤修复:

  1. 通过 管理终端 远程连接ECS实例。系统提示进入急救模式时,输入实例登录密码。
  2. 运行 mount / -o remount,rw,变更根分区的挂载模式为读写。
  3. 运行 blkid 查看ECS实例上磁盘的分区情况以及文件系统。如下图所示,本示例中的ECS实例数据盘分区为/dev/xvdb1,文件系统为ext4。
    Linux实例/etc/fstab文件配置错误导致系统启动异常
  4. 运行 vim /etc/fstab,检查磁盘的分区信息与文件系统和 blkid 返回的结果是否一致。如果不一致,按以下步骤修改:
    1. 将光标移到异常的参数行,按 i 键进入编辑模式。
    2. 写入正确的分区信息。
    3. 按 Esc 键退出编辑模式,并输入 :wq!,按回车键后保存并退出。
  5. 运行 reboot 重启系统。确认ECS实例是否能成功进入系统。

Ubuntu

问题现象

通过远程连接软件无法登录Linux实例,通过 管理终端 远程连接时系统提示:

  1. An error occurred while mounting /alidata.
  2. Press S to skip mounting or M for manual recovery

如下图所示。
Linux实例/etc/fstab文件配置错误导致系统启动异常

问题原因

一般是因为/etc/fstab文件中写入了错误的文件系统或者磁盘的分区信息不正确。

解决方法

按以下步骤修复:

  1. 通过 管理终端 远程连接ECS实例。
  2. 按 S 键跳过磁盘挂载,进入系统。
  3. 运行 mount / -o remount,rw,变更根分区的挂载模式为读写。
  4. 运行 blkid 查看ECS实例上磁盘的分区情况以及文件系统。如下图所示,本示例中的ECS实例数据盘分区为/dev/xvdb1,文件系统为ext4。
    Linux实例/etc/fstab文件配置错误导致系统启动异常
  5. 运行 vim /etc/fstab,检查磁盘的分区信息与文件系统和 blkid 返回的结果是否一致。如果不一致,按以下步骤修改:
    1. 将光标移到异常的参数行,按 i 键进入编辑模式。
    2. 写入正确的分区信息。
    3. 按 Esc 键退出编辑模式,并输入 :wq!,按回车键后保存并退出。
  6. 运行 reboot 重启系统。确认ECS实例是否能成功进入系统。

关于Linux实例上挂载云盘的具体操作,请参见 Linux 格式化和挂载数据盘

 

admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: