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

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

更新时间:2019-08-23 18:28:44

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺

 

问题描述

通过远程连接软件无法登录Linux实例,通过使用管理终端连接Linux实例远程连接时,发现系统进入到急救模式(emergency mode),且出现报错。

  • CentOS实例报如下错误。
    systemctl default to try again to boot into default mode
    具体信息如下图所示。
    Emergency mode
  • Ubuntu实例报如下错误。
    An error occurred while mounting /alidata.
    Press S to skip mounting or M for manual recovery
    具体信息如下图所示。
    Ubuntu进入维护模式

 

问题原因

一般是因为/etc/fstab文件中写入了错误的文件系统,或者磁盘的分区信息不正确。/etc/fstab文件主要用于保存服务器的磁盘挂载信息,如果该配置文件中写入不正确的挂载信息或者该文件自身存在访问错误,例如:权限配置、文件丢失等,系统启动时就可能出现异常,导致启动失败。

 

解决方案

本节主要解决CentOS和Ubuntu系统因为/etc/fstab配置文件错误导致启动失败的解决方法。

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

 

CentOS实例

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

 

Ubuntu实例

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

 

相关文档

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

 

适用于

  • 云服务器 ECS

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。