我正在使用具有debian 6和3分区(FAT和2x ext2)的无风扇PC(实际上有数百台)。该系统没有电源按钮,因此大多数人倾向于拉动插头以“将其关闭”,而不是初始化为0(或等效值)。结果,文件系统迅速建立了错误。
我尝试使用'shutdown -rF'强制fsck,但这似乎不起作用。我想知道是否有某种方法可以告诉系统在安装每个安装点/ FS之前对其进行检查。
我试过在/ etc / fstab中设置fsck参数。这通常会给我一个“发现错误。手动运行fsck”消息。
还有其他选择吗?
我正在使用具有debian 6和3分区(FAT和2x ext2)的无风扇PC(实际上有数百台)。该系统没有电源按钮,因此大多数人倾向于拉动插头以“将其关闭”,而不是初始化为0(或等效值)。结果,文件系统迅速建立了错误。
我尝试使用'shutdown -rF'强制fsck,但这似乎不起作用。我想知道是否有某种方法可以告诉系统在安装每个安装点/ FS之前对其进行检查。
我试过在/ etc / fstab中设置fsck参数。这通常会给我一个“发现错误。手动运行fsck”消息。
还有其他选择吗?
Answers:
在/etc/init.d/checkfs.sh
该行中if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
,因此forcefsck
在内核命令行上提供或/forcefsck
在关闭时生成文件会在下次重新引导时引起fsck。
为了防止手动运行fsck,请fsck
尝试-y
通过以下注释取消注释并yes
在以下/ etc / default / rcS条目中将no更改为no 来自动修复错误:编辑后,其外观应类似于:
# automatically repair filesystems with inconsistencies during boot
FSCKFIX=yes
一个选项(forcefsck或FSCKFIX)并不暗示另一个。
checkfs.sh
。重启后(通过init 6),fsck都没有运行。我一定在这里想念什么。
checkfs.sh
,仅编辑/ etc / defaults / rcS并touch /forcefsck
在重新启动之前运行。最后一个命令需要在每次重新启动之前或在引导之后运行,但fsck初始化脚本已完成。
fsck.mode=force
在引导加载程序上添加内核参数。将此选项附加到GRUB_CMDLINE_LINUX_DEFAULT=
里面的变量/etc/default/grub
。以root身份生成一个新的grub配置文件:
[root@host]# grub-mkconfig -o /boot/grub/grub.cfg
此参数forcefsck
与在安装点的根内部创建文件的效果相同。
使用checkfs.sh
脚本的解决方案将更适合Debian,但不适用于其他发行版
我正在编辑我的答案:
该命令是:
sudo tune2fs -c 1 /dev/sdX
根据手册页-tune2fs的-c参数计算分区的安装实例数。因此,在每个安装实例之后1强制检查fs。