最近,我不得不多次重启电脑。每次启动时,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 上流行的其他文件系统。