ルートパーティションはext3としてフォーマットされており、不良ブロックスキャンを実行したいと思います。通常e2fsck -c -cこれを行いますが、マウントされたパーティションで実行することはできません。ファイル/ forcefsckを作成することで、起動時にfsckを強制的に実行できることは知っていますが、不良ブロックもチェックするように指定することはできますか?そうでない場合、ルートパーティションの不良ブロックをチェックするための推奨される方法は何ですか?レスキューディスクを作成して起動する必要はありません。
Initスクリプトがそれをサポートしている場合(Fedora IIRC)、-c -c
を/fsckoptions
に追加できます(次に/forcefsck
を作成して再起動します)。残念ながら、この機能はどこでも利用できるわけではありません。代わりに、LiveCD/LiveUSBで再起動する必要があります。
Linuxファイルシステムがマウントされているときにfsckまたはe2fsckを実行できますか? を参照してください。マウントされたファイルシステムでfsckを実行すると、ディスクまたはデータが破損する可能性があることに注意してください。
次の解決策を提案します。
A。システムをシングルユーザーモードに停止し、システムをマウント解除してから、e2fsckを実行します
init 1
umount /dev/sda
e2fsck -y /dev/sda3
B。インストールCDからレスキューモードで起動します
boot: linux rescue nomount<br/>
mknod /dev/sda
mknod /dev/sda3
fsck /dev/sda3
別の解決策は、ルートとして、起動時にfsckを使用してディスク全体(スワップを除く)をチェックすることです。
shutdown -Fr now
ここで、-Fは強制fsckチェックを表し、-rは再起動を表します。
システムを起動し、起動パラメータとしてinit=/bin/bash
を指定できます。これにより、通常の起動スクリプトではなく、起動時にbashが実行されます。その結果、ファイルシステムは処理されず、読み取り専用のルートが残ります。
これで読み取り専用のルートができ、fsckを実行できます。
マウントされていないファイルシステムの場合、私は次のものも使用します。
dd if=/dev/diskdevice of=/dev/null
読み取り中にエラーが発生したかどうかを確認します。
私が使う
cat /dev/diskdevice >/dev/null
次に、dmesgの内容を確認します。悪いブロックがある場合、それは言うでしょう。修理は別の長い話です。