如何永久修复启动过程中 fsck 检查失败的问题

如何永久修复启动过程中 fsck 检查失败的问题

我的笔记本电脑华硕 FX505DY。我购买时没有任何操作系统,安装了 Ubuntu 19.10,几个月后升级到 20.04(没有双启动)。

有时,系统无法正常启动并进入“紧急模式”(实际上,这是使用约 1 年后的第 3 次)。每次都是因为fsck无法检查/home分区。journalctl给我:

oct. 30 12:19:44 poulpito systemd-fsck[624]: fsck failed with exit status 4.
oct. 30 12:19:44 poulpito systemd[1]: Failed to start File System Check on /dev/disk/by-uuid/91e9d404-4089-4b8d-af58-5aebcd76b5a0.

我可以轻松修复它:fsck.ext4 -v /dev/sda4。我输入每个问题,然后我可以重新启动并享受正常运行的操作系统。但我对问题反复出现感到不安,我想永久修复它。

我的问题是:

  1. 为什么这个分区上的文件系统会损坏?可能是硬件问题吗?我需要更改一些参数或配置或切换到 ext3 吗?我已经smartctl -t short /dev/sda4在恢复模式下运行,没有报告任何错误。

  2. /home位于 SATA 硬盘上,我也有/var/tmpswap分区。我从来没有遇到过fsck这些检查问题。也许是因为启动顺序不检查这些分区?或者损坏真的只发生在 上/home

  3. 上次我跑步的时候fsck.ext4,遇到了这些问题:

  • 第 1 遍:inode <inode id> seems to contain garbage实际上inode <inode id> passes checks, but checksum does not match inode有 16 条此类消息,且具有连续的 inode 编号

  • 第 2 遍:entry '<filename>' in <path> (<inode id>) has deleted/unused inode <inode id>(inode 编号表明,这仅仅是第 1 遍中清除 inode 的结果

  • 第四次传递:(inode <inode id> ref count is <count>, should be <count>同样,这似乎只是第二次传递的结果)

  • 第 5 遍:inode 和块位图差异,空闲 inode/空闲块/目录计数错误

    $HOME/.config/这是否意味着我丢失了一些数据?由于所有受影响的 inode 都与或中的应用程序文件相关$HOME/.local/,因此我无法直接看到文件丢失或损坏的影响...

  1. 如何防止文件系统被破坏?

谢谢!

吉尔斯

编辑1: 这里有一个截屏磁盘应用程序中的 SMART 数据窗口。

smartctl给出大致相同的英文数据:

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0027   100   100   001    Pre-fail  Always       -       1350
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       670
  5 Reallocated_Sector_Ct   0x0033   100   100   050    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   095   095   000    Old_age   Always       -       2224
 10 Spin_Retry_Count        0x0033   113   100   030    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       509
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       48
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       10
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       -       24418
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       34 (Min/Max 19/42)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   253   000    Old_age   Always       -       0
220 Disk_Shift              0x0002   100   100   000    Old_age   Always       -       0
222 Loaded_Hours            0x0032   096   096   000    Old_age   Always       -       1931
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
224 Load_Friction           0x0022   100   100   000    Old_age   Always       -       0
226 Load-in_Time            0x0026   100   100   000    Old_age   Always       -       263
240 Head_Flying_Hours       0x0001   100   100   001    Pre-fail  Offline      -       0
254 Free_Fall_Sensor        0x0032   100   100   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      2218         -

编辑2:还有另一个截屏对于 gparted。

编辑3:按照建议,我升级了 BIOS 固件。好吧,升级很顺利,没有破坏任何东西。当然,无论如何,最好将固件更新到最新状态。但我必须承认,我不明白 BIOS 怎么会造成我的硬盘单个分区上的 FS 损坏,我看不出有任何方法可以验证问题是否真的解决了。我现在放弃了,如果问题再次发生,我会更新这篇文章。更新:在原始帖子和 BIOS 更新大约两个月后再次出现相同的错误。

编辑4:更多详细信息,应@heynnema 的要求

$ free -h
              total       utilisé      libre     partagé tamp/cache   disponible
Mem:          7,7Gi       2,3Gi       3,8Gi        49Mi       1,5Gi       5,0Gi
Partition d'échange:        15Gi          0B        15Gi

sudo lshw -C memory https://paste.ubuntu.com/p/Sq9qy9kxVb/

zgrep -i gnome-software /var/log/syslog* https://paste.ubuntu.com/p/Qqy99YnFvC/

$ cat /etc/fstab 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=cbee80f8-6637-44e3-8dbd-7f710be58e54 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=E06D-1632  /boot/efi       vfat    umask=0077      0       1
# /home was on /dev/sda4 during installation
UUID=91e9d404-4089-4b8d-af58-5aebcd76b5a0 /home           ext4    defaults        0       2
# /tmp was on /dev/sda2 during installation
UUID=51e800d3-f199-490a-bb7a-d2f49635e71c /tmp            ext4    defaults        0       2
# /var was on /dev/sda3 during installation
UUID=da892f2f-b8d2-47f5-a5e7-30e779fe9d2c /var            ext4    defaults        0       2
# swap was on /dev/sda1 during installation
UUID=7317598f-60e6-475e-a7d0-38503bac42fc none            swap    sw              0       0

答案1

BIOS

华硕 TUF Gaming FX505DY眼镜

您的 BIOS 版本为 313。

有较新的 BIOS 可用,版本 315,日期为 2020 年 3 月 27 日,可以下载这里

注意:请确认我拥有适合您型号计算机的正确网页。

注意:更新 BIOS 之前请做好备份。

更新#1:

编辑您的问题并告诉我:

free -h

sudo lshw -C memory

grep -i gnome-software /var/log/syslog*(发布至 paste.ubuntu.com)

cat /etc/fstab

记忆

https://www.memtest86.com/并免费下载/运行它们memtest来测试你的记忆力。至少完成一次所有 4/4 测试以确认记忆力良好。这可能需要几个小时才能完成。

更新 #2:

虽然我通常不建议这样做,但我认为是时候重新安装 Ubuntu 了,如果可能的话,最好是全新安装。备份您的数据。用于gparted放置新的 GPT 分区表(这将擦除驱动器)。不要手动构建单独的 /tmp 和 /var 和交换分区。使用 4G /swapfile 而不是交换分区(如果您没有休眠)。然后恢复您的数据。

相关内容