您好,我在系统重新启动失败后尝试退出 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的情况下突然重新启动,如果仍然挂载文件系统,则很可能会损坏文件系统。