为什么 Ubuntu 时不时要求检查我的硬盘?

为什么 Ubuntu 时不时要求检查我的硬盘?

最近,我不得不多次重启电脑。每次启动时,Ubuntu 都会开始扫描硬盘中的错误,但它向​​我保证,如果我想取消,可以按“c”键。

Ubuntu 为什么要这样做?如果这是必要的,为什么我可以取消?如果没有必要,为什么要强迫我这样做?重启次数是根据什么来决定的?

答案1

系统每重启 30 次就会强制检查一次磁盘。如果您跳过磁盘检查,系统会在您下次重启时进行检查(除非您手动删除forcecheck)。

您可以通过发出以下命令forcefsck来强制执行此操作:/

touch /forcecheck

从终端。

没有必要总是在提示时进行检查,但应该时不时地进行检查。如果当时不适合你,你可以取消它,让它在更方便的时候进行文件系统检查。

您还可以使用tune2fs来改变这种行为。

sudo tune2fs -c 60 /dev/sdXY

将此设置为 60 次重启。您还可以使用以下命令将其更改为时间段-i

sudo tune2fs -i 30d /dev/sdXY

30 天,或 1m 1 个月,或 10w 10 周。

/dev/sdXY用分区的设备名称替换,如/dev/sda1。您可以通过运行sudo blkid或获取此名称(ls -lA /dev/disk/by-label如果分区已标记))

sudo dumpe2fs /dev/sda1

将显示大量信息。其中包括:

Filesystem created:       Thu Feb 12 09:06:50 2009
Last mount time:          Fri Aug 26 07:19:34 2011
Last write time:          Fri Aug 26 07:19:34 2011
Mount count:              2
Maximum mount count:      25
Last checked:             Fri Aug 12 07:22:16 2011
Check interval:           15552000 (6 months)
Next check after:         Wed Feb  8 06:22:16 2012

答案2

这些是例行文件系统检查,每 30 次重启启动一次。取消它的选项是存在的,这样您就不会因为某些至关重要的事情而耽误时间,但是,建议偶尔让它运行一次。我不知道重启次数是根据什么设定的,大概是常识。如果太烦人,您可以使用“tune2fs”命令增加不检查分区的重启次数。

答案3

可以使用以下方法完全禁用扩展文件系统上的文件系统检查:

sudo tune2fs -c 0 /dev/sdXY

但这可能不是一个好主意。tune2fs 手册页指出:

您应该认真考虑完全禁用依赖挂载计数的检查的后果。损坏的磁盘驱动器、电缆、内存和内核错误都可能损坏文件系统,而不会将文件系统标记为脏或错误。如果您在文件系统上使用日志记录,则您的文件系统永远不会被标记为脏,因此通常不会对其进行检查。内核检测到的文件系统错误仍会在下次重新启动时强制执行 fsck,但那时可能已经太迟了,无法防止数据丢失。

答案4

虽然 mikewhatever 和 Rinzwind 适用于 ext-Filesystems,但据我所知,如果您选择使用 reiserfs,则不会发生这种情况。我已经使用它 10 年了,没有问题,可以推荐它。不再需要 fsck。

我不知道 Linux 上流行的其他文件系统。

相关内容