Linux基础—操作系统救援(六)
Linux 基础—系统救援
·
虚拟机centos7.3操作系统启动过程,挂载系统文件无响应,根据启动日志判断异常启动文件,可能有一下几个场景:
- 场景一:数据盘文件损坏,解决办法是进入单用户模式,先把数据盘卸载,重启系统后,尝试修复文件系统,详细步骤如下:
- 重启系统
- 开机时一直按上下键进入如下截面:
- 在以上截面后,按e键出现下面界面:
- 找到“ro”一行,将“ro”替换成 rw init=/sysroot/bin/sh,如下:
- 按Ctrl-x 进行重启进入单用户模式,最关键一步:执行chroot /sysroot获取root权限,这样就可以对centos所有文件进行更改了。
- vi /etc/fstab 文件挂载目录,将数据文件注释,wq 保存退出,reboot 重启。
- 我们不应该用 fsck 检查已挂载的磁盘,这很可能会对磁盘造成永久性的伤害。因此在开始使用 fsck 之前,我们需要使用下面命令来卸载磁盘,并通过fsck 命令检查。
umount drivename
fsck drivename
在运行 fsck 时,可能出错并返回一些错误码。下面是一些常见的错误及其意义的列表,
- 0 - 没有错误
- 1 - 修复了一些文件系统错误
- 2 - 系统需要被重启
- 4 - 文件系统错误未被修复
- 8 - 操作错
- 16 - 使用或语法错
- 32 - fsck 被用户取消
- 128 - 共享库出错
- 使用选项 -a 进行一致性检查并自动修复这些错误。也可以用 -y 替代 -a 选项。fsck-a /dev/sdb1
- 场景二:系统盘文件损坏,解决办法是外挂光驱,进入救援模式,尝试修复操作系统。
- 选择第三项Troubleshooting:
- 选择第二项Rescue a CentOS system,进入救援模式:
- 进入救援模式,选择1 或者选择3:
- 选择:1)Continue 救援会自动将系统盘挂载到/mnt/sysimage,启动完毕后执行 chroot /mnt/sysimage;
- 选择:3)Skip to shell 救援模式shell需要手动挂载系统盘。通过fdisk –l 查看ID为83 主分区磁盘,如果没做逻辑卷,直接将磁盘通过mount 挂载到救援系统目录上去。如果有逻辑卷,使用lvscan 查看逻辑卷状态,如果正常,再使用fdisk –l 查询到的路径挂载到救援系统目录上去;
- 查看 /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)
更多推荐
已为社区贡献1条内容
所有评论(0)