Ubuntu 18.04 fsckd 未完成文件系统检查过程,也无法通过按 Ctrl+C 取消该过程

Ubuntu 18.04 fsckd 未完成文件系统检查过程,也无法通过按 Ctrl+C 取消该过程

我的系统正在运行 Ubuntu 18.04,但卡在fsckd检查上,我无法取消此检查,并且在出现以下提示后也无法看到检查的任何进度。

fsckd-cancel-msg:Press Ctrl+C to cancel all filesystem checks in progress

支票截图

我曾尝试跳过检查,但没有成功。

我想找出这里的实际问题是什么,因为文件系统检查花费了很长时间,以及首先启动这个文件系统检查过程的原因。

跳过这项检查是好选择吗?如果是,您能指导我具体需要做什么吗?如果跳过这项检查不是好选择,那么需要做什么。

任何帮助都感激不尽。

答案1

我遇到了类似的问题,不是在从 18 升级到 20.04 之后,而是在运行之后sudo apt upgrade。出于某种原因,它更新到的 nvidia 驱动程序无法使用笔记本电脑内置屏幕。它显示计算机正常启动,但在文件系统检查行之后,它似乎卡在了那个屏幕上。不过,在连接到 HDMI 端口的显示器上一切都运行正常。

如果没有外接显示器,我无法访问虚拟终端或任何东西,它似乎只是卡在文件系统检查上。在没有访问外接显示器的情况下,我让它工作起来的方法是启动到“安全模式”。从安全模式启动后,我能够访问虚拟终端,并可以使用切换到集成显卡sudo prime-select intel。显然,在选择集成驱动程序的情况下无法使用外接显示器。

给我带来问题的 NVidia 驱动程序版本是 470。

只是在这里写下这个,可能很多人都不会遇到这种情况,但从表面上看,它表现出完全相同的症状。


恢复使用最新的 Nvidia 驱动程序 (470.63.01) 并使用内核 5.11.0-34-generic。需要从 BIOS 中选择“独立显卡”而不是“混合显卡”才能使内置屏幕正常工作。

答案2

让我们首先通过手动操作来检查一下基础知识fsck...

  • 启动至 Ubuntu Live DVD/USB
  • 打开terminal窗户
  • 类型sudo fdisk -l
  • 识别“Linux 文件系统”的 /dev/XXXX 设备名称
  • 输入sudo fsck -f /dev/XXXX# 用你之前找到的数字替换 XXXX
  • 如果有错误,请重复 fsck 命令
  • 类型reboot

更新#1:

啊,您对磁盘的分区稍有不同,因此我们fsck也必须对其他分区进行分区。

  • 启动至 Ubuntu Live DVD/USB
  • 打开terminal窗户
  • 输入以下命令...
    • sudo fsck -f /dev/sda4
    • sudo fsck -f /dev/sda1
    • sudo fsck -f /dev/sdb1
    • sudo fsck -f /dev/sda5

更新 #2:

我们正在调查 sdb(HDD)上的高读取/寻道/ECC 错误率。

也可能存在 Ubuntu 软件问题或 sda(SSD)固件问题。

更新 #3:

查看gpartedsda (SSD) 时我发现/var它已满。

我建议:

  • /home/username来自 sdb (HDD)的重要文件的完整备份
  • 如果需要,在 sda (SSD) 上执行固件更新
  • 擦除 sda(SSD)并安装新鲜的Ubuntu 无需单独/var/home
  • 不要在 sdb 上安装任何东西,我们将进行坏块扫描,看看 fsckd 问题是否消失

更新 #4:

在 sdb 上进行坏块扫描...

如果 sdb 不为空,请为下面的 sdXX 参数使用适当的分区号(在您的情况下可能是 sdb1)。如果 sdb 为空,请确保至少有一个较大的 ext4 分区(可能是 sdb1),然后将其用于 sdXX。

注意:不要中止坏块扫描!

sudo e2fsck -fcky /dev/sdXX# 只读测试

或者

sudo e2fsck -fccky /dev/sdXX# 非破坏性读写测试(受到推崇的)

-k 很重要,因为它会保存之前的坏块表,并将任何新的坏块添加到该表中。如果没有 -k,您将丢失所有之前的坏块信息。

-fccky 参数...

   -f     Force checking even if the file system seems clean.

   -c     This option causes e2fsck to use badblocks(8) program  to  do  a
          read-only  scan  of  the device in order to find any bad blocks.
          If any bad blocks are found, they are added  to  the  bad  block
          inode  to  prevent them from being allocated to a file or direc‐
          tory.  If this option is specified twice,  then  the  bad  block
          scan will be done using a non-destructive read-write test.

   -k     When combined with the -c option, any existing bad blocks in the
          bad blocks list are preserved, and any new bad blocks  found  by
          running  badblocks(8)  will  be added to the existing bad blocks
          list.

   -y     Assume  an answer of `yes' to all questions; allows e2fsck to be
          used non-interactively.  This option may not be specified at the
          same time as the -n or -p options.

更新 #5:

坏块阻止已完成。SMART 数据表明读取/ECC 错误现在为零!如果读取/寻道/ECC 错误返回,则怀疑 SATA 电缆或 SATA 端口有问题。监控 sdb 的 SMART 数据。

重新安装 Ubuntu,无需特殊分区,除了 ext4 sdb1 上的 /home 以及可能的 sdb2 NTFS 分区(如果您与 Windows 共享文件)。

答案3

在我的例子中,由于根分区已满,fsck 无法完成。从 liveUSB 启动并腾出空间(例如删除 systemd 日志)解决了该问题。

相关内容