私は、debian 6および3パーティション(FATおよび2x ext2)のファンレスPC(実際には数百台)を使用しています。システムには電源ボタンがないので、ほとんどの人は、init 0(または同等のもの)ではなく、プラグを「シャットダウン」するようにヤンクする傾向があります。その結果、ファイルシステムはかなり急速にエラーを構築します。
'shutdown -rF'を使用してfsckを強制的に実行しようとしましたが、これは機能していないようです。各マウントポイントを確認するようにシステムに指示する方法があるかどうか疑問に思っています/ FSそれらがマウントされる前に。
/ etc/fstabでfsckパラメータを設定してみました。これにより、通常「エラーが見つかりました。 fsckを手動で実行してください」というメッセージが表示されます。
他に試すオプションはありますか?
/etc/init.d/checkfs.sh
にはif [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
という行があるため、カーネルコマンドラインでforcefsck
を指定するか、シャットダウン時に/forcefsck
ファイルを生成すると、次回の再起動時にfsckが発生します。
Fsckが手動で実行されないようにするには、fsck
に-y
オプションを使用して自動的にエラーを修正するように依頼し、次の/ etc/default/rcSエントリのnoをyes
にコメント解除して変更します。編集後は次のようになります。
# automatically repair filesystems with inconsistencies during boot
FSCKFIX=yes
1つのオプション(forcefsckまたはFSCKFIX)は、他のオプションを意味しません。
ブートローダーにfsck.mode=force
カーネルパラメータを追加します。このオプションをGRUB_CMDLINE_LINUX_DEFAULT=
内の/etc/default/grub
変数に追加します。ルートとして、新しいGRUB構成ファイルを生成します。
[root@Host]# grub-mkconfig -o /boot/grub/grub.cfg
このパラメーターは、マウントポイントのルート内にforcefsck
ファイルを作成するのと同じ効果があります。
checkfs.sh
スクリプトを使用するソリューションは、Debianにより適していますが、他のディストリビューションでは機能しません。
私は私の答えを編集しています:
コマンドは次のとおりです。
Sudo tune2fs -c 1 /dev/sdX
manpagesによると、tune2fsの-c引数は、パーティションのマウントのインスタンス数をカウントします。したがって、1はすべてのインスタンスのマウント後にfsをチェックすることを強制します。