Failed to mount /sysroot如何解决?
centos7系统启动出现Failed to mount /sysroot报错,系统root分区无法挂载,一般引发的问题是主机文件系统损坏,采用umount和mount的方式可能可以恢复,但无法真正修复已经损坏的文件系统,在后续使用中仍会出现主机端读写错误。
最近一个centos系统就出现此故障,简单总结一下就是主机文件系统元数据损坏导致I/O error,系统卡死
ll /dev/mapper/centos-root #系统的根分区逻辑卷
lrwxrwxrwx 1 root root 7 12月 1 09:57 /dev/mapper/centos-root -> ../dm-0
#对应的块设备文件/dev/dm-0
umount /dev/mapper/centos-root提示不成功
直接xfs-repair也不行
最后通过新的系统镜像引导进入恢复模式修复
在官方下载新的镜像,制作光驱盘,系统重启,按F6进入启动管理,选择从光盘启动,进入系统安装引导
选择troubleshooting
选择Rescue a CentOS system
选择3直接跳转到shell
执行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
转载请注明出处,谢谢!!!