虚拟机centos7.3操作系统启动过程,挂载系统文件无响应,根据启动日志判断异常启动文件,可能有一下几个场景:

  • 场景一:数据盘文件损坏,解决办法是进入单用户模式,先把数据盘卸载,重启系统后,尝试修复文件系统,详细步骤如下:
  1. 重启系统
  2. 开机时一直按上下键进入如下截面:
  3. 在以上截面后,按e键出现下面界面:
  4. https://i-blog.csdnimg.cn/blog_migrate/f67b51e2cb526d4d986338541658f2a0.jpeg
  5. 找到“ro”一行,将“ro”替换成 rw init=/sysroot/bin/sh,如下:
  6. 按Ctrl-x 进行重启进入单用户模式,最关键一步:执行chroot /sysroot获取root权限,这样就可以对centos所有文件进行更改了。
  7. vi /etc/fstab 文件挂载目录,将数据文件注释,wq 保存退出,reboot 重启。
  8. 我们不应该用 fsck 检查已挂载的磁盘,这很可能会对磁盘造成永久性的伤害。因此在开始使用 fsck 之前,我们需要使用下面命令来卸载磁盘,并通过fsck 命令检查。

umount drivename

fsck drivename

在运行 fsck 时,可能出错并返回一些错误码。下面是一些常见的错误及其意义的列表,

  • 0 - 没有错误
  • 1 - 修复了一些文件系统错误
  • 2 - 系统需要被重启
  • 4 - 文件系统错误未被修复
  • 8 - 操作错
  • 16 - 使用或语法错
  • 32 - fsck 被用户取消
  • 128 - 共享库出错
  1. 使用选项 -a 进行一致性检查并自动修复这些错误。也可以用 -y 替代 -a 选项。fsck-a /dev/sdb1
  • 场景二:系统盘文件损坏,解决办法是外挂光驱,进入救援模式,尝试修复操作系统。
  1. 选择第三项Troubleshooting:
  1. 选择第二项Rescue a CentOS system,进入救援模式:
  2. 进入救援模式,选择1 或者选择3:
  1. 选择:1)Continue 救援会自动将系统盘挂载到/mnt/sysimage,启动完毕后执行 chroot /mnt/sysimage;
  2. 选择:3)Skip to shell 救援模式shell需要手动挂载系统盘。通过fdisk –l 查看ID为83 主分区磁盘,如果没做逻辑卷,直接将磁盘通过mount 挂载到救援系统目录上去。如果有逻辑卷,使用lvscan 查看逻辑卷状态,如果正常,再使用fdisk –l 查询到的路径挂载到救援系统目录上去;
  3. 查看 /etc/fstab 文件查看文件系统,如果是xfs 文件系统,执行xfs_repair -v /dev/dm-0,如果不行的话加-L参数(-L:强制日志清零,包括元数据更改)此参数可能会丢失文件系统元数据,生产环境慎用,使用之前先备份元数据。
  • xfs_metabaimp /dev/dm-0 /tmp/vol1.metadump
  • xfs_metadump: xfs 文件系统的元数据 (metadata) 拷贝到一个文件中
  • xfs_mdrestore: 从一个文件中将元数据 (metadata) 恢复到 xfs 文件系统
  • xfs_check: 检测 xfs 文件系统的完整性
  • 如果不确定文件系统是否正常的话可以在修复之前先xfs_check进行检测
  • xfs_check /dev/sdd(盘符); echo $? (返回0即表示正常,检测之前确保分区已经umount

上一遍:Linux基础—逻辑卷管理LVM(五)

下一篇:Linux基础—常用配置文件(七)

Logo

更多推荐