web-dev-qa-db-ja.com

Linuxのルートパーティションで不良ブロックスキャンを実行する

ルートパーティションはext3としてフォーマットされており、不良ブロックスキャンを実行したいと思います。通常e2fsck -c -cこれを行いますが、マウントされたパーティションで実行することはできません。ファイル/ forcefsckを作成することで、起動時にfsckを強制的に実行できることは知っていますが、不良ブロックもチェックするように指定することはできますか?そうでない場合、ルートパーティションの不良ブロックをチェックするための推奨される方法は何ですか?レスキューディスクを作成して起動する必要はありません。

4
pafcu

Initスクリプトがそれをサポートしている場合(Fedora IIRC)、-c -c/fsckoptionsに追加できます(次に/forcefsckを作成して再起動します)。残念ながら、この機能はどこでも利用できるわけではありません。代わりに、LiveCD/LiveUSBで再起動する必要があります。

4
Tobu

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は再起動を表します。

4
harrymc

システムを起動し、起動パラメータとしてinit=/bin/bashを指定できます。これにより、通常の起動スクリプトではなく、起動時にbashが実行されます。その結果、ファイルシステムは処理されず、読み取り専用のルートが残ります。

これで読み取り専用のルートができ、fsckを実行できます。

2
Hennes

マウントされていないファイルシステムの場合、私は次のものも使用します。

dd if=/dev/diskdevice of=/dev/null

読み取り中にエラーが発生したかどうかを確認します。

1
Sunry

私が使う

cat /dev/diskdevice >/dev/null

次に、dmesgの内容を確認します。悪いブロックがある場合、それは言うでしょう。修理は別の長い話です。