fsck 无法在磁盘上工作

fsck 无法在磁盘上工作

您好,我在系统重新启动失败后尝试退出 Linux 紧急模式,

首先我检查/etc/fstab发现以下分区有问题:

UUID=0C80015D80014EA0 /mnt/data ntfs 默认值 02

这里的数字2指定需要检查某个文件系统。

查看sudo blkid输出,该 UUID 指定给我的/dev/sdb1文件,所以我得出的结论是该文件已损坏,我一直在阅读一些建议使用 检查和修复损坏分区的线程fsck,但是当我运行时,fsck /dev/sdb1我收到以下消息:

fsck of util-linux 2.36

我认为这可能fsck效果不佳,但当我在/root分区上尝试该命令时,它运行良好:

~# sudo fsck /dev/sdb3
fsck of util-linux 2.36
e2fsck 1.45.6 (20-Mar-2020)
/dev/sdb3 its mounted

那我能做什么呢?

当我运行时df -h丢失/dev/sdb1了。

答案1

您在这里误解了多种事物的含义。

  • /etc/fstab 是一个静态文件,您突出显示的字段确实不是指示文件系统的状态,以及可能检查的潜在顺序
  • 您选择的行表示文件系统的类型为 ntfs,它是 Windows 文件系统。只有Windows可以检查这个文件系统,Linux fsck不支持它。
  • 当 fsck 退出且没有错误时,这意味着它没有发现错误。您引用的行仅显示 fsck 给出其版本号,它既不表示错误也不表示它对检查任何内容做了任何事情
  • 当 fsck 抱怨文件系统已挂载时,它告诉您无法在正在使用且可写的文件系统上运行 fsck。此外,如果文件系统能够以可写方式挂载,则可能没有任何问题,并且无论如何都不需要 fsck。

从您的问题中不清楚真正的问题是什么,因为您没有包含任何错误,这些错误会在进入紧急模式之前不久打印出来。

据猜测,/dev/sdb1可能未挂载,因为文件系统已损坏并需要(通过 Windows)进行检查,并且系统处于紧急模式,因为它无法挂载 fstab 中所需的文件系统。

不建议直接在 fstab 中挂载 Windows 文件系统,因为 Linux 无法修复它们。我建议noauto在 fstab 中添加 sdb1 的选项(即defaults,noauto)并稍后手动安装它,或者使用 automount 或 udisks-daemon 在启动后需要时自动安装它。

其中,automount可能是更好的选择,因为当不再需要它时,它也会自动卸载它,并且如果系统在没有正确关闭linux的情况下突然重新启动,如果仍然挂载文件系统,则很可能会损坏文件系统。

相关内容