我有一个 CentOS 盒子,每次重启时它都会在“检查根文件系统”处挂起大约 8 个小时。
有什么方法可以跳过那张支票?
答案1
启动时,编辑 grub 中的内核行,并在末尾添加“fastboot”(无引号)- 为此,选择要启动的操作系统,按“e”,然后在选择内核行时再次按“e”。编辑后,按 escape 退出编辑模式,按“b”启动。更改不会保存以供将来启动。
将来,编辑 /etc/fstab 行并将根分区的第六个字段更改为 0,以避免将来进行 fsck 检查。这可能不是一个好主意,所以请确保你知道自己在做什么。
如果这对您来说更有帮助,您还可以更改检查频率。例如:
sudo tune2fs -c 50 /dev/hda1
每 50 次启动将对 hda1 执行一次检查(0 表示禁用检查)。
答案2
有以下两种情况会发生:
- 您只是偶尔重新启动,系统认为磁盘在两次检查之间间隔太长,因此强制执行一次。有一个可为此调整的文件系统(
interval-between-checks
事实上),您可以通过运行tune2fs -i 0 /dev/mapper/vg0-root
(或任何适当的根设备)来更改它。还有一个max-mount-counts
设置,可以使用禁用-c 0
。(您可以使用找到这些设置的当前值dumpe2fs
— 不用担心这个可怕的名字;事实上,它是非破坏性的。) - 您的文件系统实际上每次都会损坏,需要
fsck
将其恢复。如果您正在运行 ext2(或没有日志功能的 ext3!),如果您非正常关机(因此,请停止此操作),就会出现这种情况。如果您正在使用日志功能,并且每次仍出现这种情况,并且这不是由于上面的超时选项,那么这更令人担忧。
如果 #1 是原因,您可以通过创建/fastboot
(以touch /fastboot
root 身份)或将其放在内核命令行中来跳过一次。但是,如果是因为 #2 而发生这种情况,则不建议这样做。
此外,您可能还需要考虑切换到 ext4,RHEL 5.6(以及未来的 CentOS 5.6)完全支持该文件系统。新版本的文件系统旨在使大型文件系统的 fsck 速度更快。