Ubuntu 10.04 サーバーの 1 つに問題が発生しています。実行すると、fsck.ext4 -n /dev/sda5
空き inode 数、空きブロック数などにエラーがあるというメッセージが表示されます。
私が試してみました:
touch /forcefsck
また試した:
shutdown -rF now
それでも、再起動後もエラーが表示されます。
私も eeePC ネットブック、Ubuntu 10.10 で確認しましたが、同じ問題が発生しています。
再起動時に「/」ファイルシステムの「強制的な」「強力な」「ファイルシステムを真剣に修正する」fsck を強制するにはどうすればよいでしょうか?
説明:マウントされたファイルシステムなので、エラーがあるかどうかを確認するために実行しますfsck.ext4 -n
。これはエラーがあることを示しています。起動プロセス中に30マウントごとに自動的にfsckを実行するのは正確にルート ファイルシステムのエラーに対処します。しかし、私のケースではそれが実行されません。LiveCD で再起動してエラーを修正し、もう一度再起動することもできますが、ライブ サーバーにとっては深刻なダウンタイムになります。再起動、自動 fsck、その後の起動の続行は、ライブ サーバーでははるかに持続可能であり、正しい動作であるはずです。
追加情報:これが出力です。autofsck で修正できそうな気がしますね。
root@server:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning! /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no
Free inodes count wrong (545504, counted=552134).
Fix? no
/dev/sda5: ********** WARNING: Filesystem still has errors **********
/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks
答え1
これは本当に古いスレッドだとはわかっていますが、最近この問題を解決する必要があったので、起動時に fsck で見つかった問題を OS に強制的に修正させる方法を投稿したいと思いました (12.04 の場合)。
コマンドを実行する必要がありますsudo touch /forcefsck
。これにより、次回の起動時に fsck が実行されます。fsck の結果は /var/log/boot.log で確認できます。
ただし、fsck が見つけたものをすべて修正できるという保証はありません。修正するには、/etc/default/rcS ファイルを編集する必要があります。このファイルの末尾に次の行があります。
FSCKFIX=no
これを次のように変更する必要があります。
FSCKFIX=yes
これは、-y オプションを指定して fsck を実行するのと同じ効果があり、実装可能なすべての修正を強制し、ユーザーの操作を求めません。
これにより、特にリモート システムの場合は必ずしも可能ではないライブ ディスクからのブートに頼ることなく、OP が要求したように fsck を実行できるようになります。
答え2
sudo touch /forcefsck
sudo reboot
タイプミスです。/forcefcsk に触れています。"c" と "s" が逆になっています。fsck は FileSystemChecK の略です。
答え3
e2fsck のマニュアルページより:
「一般的に、マウントされたファイルシステムで e2fsck を実行するのは安全ではないことに注意してください。唯一の例外は、-n オプションが指定され、-c、-l、または -L オプションが指定されていない場合です。ただし、安全に実行できたとしても、ファイルシステムがマウントされている場合、e2fsck によって出力される結果は有効ではありません。e2fsck がマウントされたファイルシステムをチェックするかどうかを尋ねた場合、唯一の正しい答えは「いいえ」です。何をしているのかを本当に理解している専門家だけが、この質問に他の方法で答えることを検討してください。」
したがって、-n オプションを使用しても、マウントされた FS を fsck でチェックすると、結果がまったく有効でない可能性があります。マウントされたファイルシステムをチェックしないでください。Live-CD/Live-USB を使用してください。
マウントされている間にファイルシステムをチェックしない場合は、touch /forcefsck
アンマウントして修正するだけでよいので、なぜ使用する必要があるのかわかりません。ただし、その場合、修正後も FS にエラーがある場合は、次の使用を検討できます。
e2fsck -cy /dev/sda5
これにより、不良ブロックと呼ばれるハード ドライブ関連の問題が解決されます (これには長い時間がかかります)。
マウントされたファイルシステムをチェックしたい場合、どのように進めればよいかわかりませんが、別の質問を作成する必要があると思います。
答え4
次の方法で、自動的に修正を行うことができます。
Tune2fs -c 5 -i 10 / dev / sda1
-c
は実行前の最大マウント数でありfsck
、-i
は実行前の最大日数ですfsck
。
この場合、5 回のマウントごと、または 10 日ごとに、どちらか早いほうで実行されます。
私は 2 台のコンピューターを持っています。1 台は Linux SuSE 13.2、もう 1 台は Linux Mint 18.0 を搭載しており、どちらでも完璧に動作します。