linux遇到文件系统检查失败问题

一、现象描述

Ubuntu启动的时候出现错误语句:
[FAILED] Failed to start File System Check on Root Device.
See 'systemctl status systemd-fsck-root.service' for details.
然后开始[stop]停止各种系统的东西,最后出现以下语句:
WelGive root password for maintenance
Give root password for maintenance
(or press Control-D to continue):

二、解决方法

这个方法是询问了chatGPT给的,以下是它的回答
看起来您在根设备上的文件系统检查中遇到了问题。为了帮助您解决这个问题,您可以按照以下步骤操作:

  1. 首先,在终端中运行以下命令,检查systemd-fsck-root.service的状态:
    systemctl status systemd-fsck-root.service
    这个命令将为您提供有关错误的更多详细信息,并帮助您确定问题的原因。

  2. 如果问题与损坏的文件系统有关,您可以尝试使用fsck命令手动运行文件系统检查。要做到这一点,您需要将系统引导到恢复模式或使用实时CD/USB。

  3. 一旦您进入恢复模式或使用实时CD/USB,您可以在根分区上运行fsck命令。首先,通过运行以下命令来识别根分区:
    lsblk
    此命令将列出所有可用的块设备及其挂载点。查找挂载点为/(根)的设备。

  4. 现在,卸载根分区(将/dev/sdXY替换为您的根分区设备):
    umount /dev/sdXY

  5. 在根分区上运行fsck命令:
    fsck /dev/sdXY
    此命令将检查并修复文件系统的任何问题。按照提示修复找到的任何错误。

  6. 文件系统检查完成后,重新挂载根分区:
    mount /dev/sdXY /

  7. 最后,重新启动系统:
    reboot
    按照这些步骤操作后,您的系统应该可以正常启动,而不会出现文件系统检查错误。如果问题仍然存在,可能与硬件问题或系统配置的更复杂问题有关。

三、实际执行结果

  • 执行以下命令,好像看不出什么结果
    systemctl status systemd-fsck-root.service
  • 可以看到/ 根文件目录挂载在mmcblk1p7 块里
    lsblk
  • 然后卸载根分区
    umount /dev/mmcblk1p7
  • 在根分区上运行fsck命令
    fsck /dev/mmcblk1p7
  • 文件系统检查完成后,重新挂载根分区
    mount /dev/mmcblk1p7

    执行到这一步,也不知道是否成功,但是最后reboot启动系统后,已经能够正常启动了,没有之前的报错。

本文章使用limfx的vscode插件快速发布