现象
系统文件损坏后进入紧急修复模式,无法进行维护工作
welcome to emergency mode!after logging in ,type “journalctl -xb” to view system logs,“systemctl reboot” to reboot ,“systemctl default” to try again to boot into default mode。
give root password for maintenance
查看运行日志,发现是/home目录挂载问题
journalctl -xb
# Failed to mount /home
修复
执行如下命令,确认/home
的映射关系
[root@controller ~]# cat /etc/fstab |grep home
/dev/mapper/centos-home /home xfs defaults 0 0
方法一
|
|
如果修复失败,请加-L参数
xfs_repair -L /dev/mapper/centos-home
如果修复完成,重启系统即可
方法二
如果方法一失效,则可以试试该方法
- 检查设备是否已经挂载。可以运行以下命令来查看设备的挂载状态:
|
|
2. 如果设备已挂载,请尝试卸载该设备。可以使用以下命令卸载设备:
|
|
3. 创建一个目标目录,用于将备份数据存储到该目录中。可以使用以下命令创建目标目录:
|
|
将 /path/to/backup 替换为你希望存储备份数据的实际路径。
使用 rsync 命令进行文件系统备份。运行以下命令: rsync -av –progress /source/directory/ /path/to/backup 复制 rsync -av –progress /source/directory/ /path/to/backup 将 /source/directory/ 替换为要备份的文件系统的实际路径,将 /path/to/backup 替换为目标目录的路径。使用 -av 参数以彻底备份文件系统,并使用 –progress 参数以实时显示备份进度。
等待备份过程完成。这可能需要一些时间,具体时间取决于文件系统的大小和数据量。
请注意,在执行备份操作之前,请确保备份介质具有足够的可用空间,并且备份介质可靠并正确连接,以避免数据丢失风险。
- 运行
mkfs
命令:为了重新创建文件系统,你需要知道文件系统的类型。
- 创建
ext4
文件系统,可以使用以下命令:
|
|
- 创建
XFS
文件系统,你可以使用以下命令:
mkfs.xfs /dev/mapper/centos-home
这将在 /dev/mapper/centos-home
设备上创建一个新的 ext4(xfs)
文件系统。请注意,这将删除设备上的所有数据,请确保你已经对数据备份。
等待 mkfs 进程完成:mkfs 命令将花费一些时间来创建新的文件系统,具体时间取决于设备的大小。请耐心等待命令完成。
- 恢复备份的数据
要将备份的数据恢复到新的文件系统中,你可以按照以下步骤进行:
挂载新的文件系统:首先,你需要将新的文件系统挂载到一个临时的目录中。可以使用以下命令将新的文件系统挂载到 /mnt
目录:
|
|
请确保替换 /dev/mapper/centos-home
为你要恢复数据的新文件系统的设备。
解压备份文件:如果你有一个完整的备份文件,你可以使用适当的解压命令将其解压缩到 /mnt
目录下。例如,如果你的备份文件是 backup.tar.gz,你可以使用以下命令解压缩备份文件:
|
|
请注意,如果备份文件是一个完整的文件系统备份(例如通过 tar 或 rsync 命令创建的备份),则只需将其解压缩(copy)到新的文件系统挂载点即可。
确保权限和所有权正确:在完成数据恢复后,确保恢复的文件和目录的权限和所有权是正确的。可以使用 chown 和 chmod 命令进行必要的更改。
- 进一步操作
卸载文件系统:在重启之前,请确保先卸载新的文件系统。你可以使用以下命令卸载它:
|
|
请确保替换 /mnt
为你挂载文件系统的目录。
更新文件系统表:你需要更新文件系统表以识别新的文件系统。可以使用以下命令重新生成文件系统表:
|
|
此命令将重定向 blkid
命令的输出到 /etc/fstab
文件,该文件是在启动时挂载文件系统时使用的文件。
重启系统
参考文章 https://blog.csdn.net/weixin_39709367/article/details/116597664