ファイルシステムの破損を修復するには?

ファイルシステムの破損を修復するには?

外部USB SSDドライブのDebian。dmesgログファイルにいくつかのエラーがあります。

...[    3.320718] EXT4-fs (sdb2): INFO: recovery required on readonly filesystem
[    3.320721] EXT4-fs (sdb2): write access will be enabled during recovery
[    5.366367] EXT4-fs (sdb2): orphan cleanup on readonly fs
[    5.366375] EXT4-fs (sdb2): ext4_orphan_cleanup: deleting unreferenced inode 6072
[    5.366426] EXT4-fs (sdb2): ext4_orphan_cleanup: deleting unreferenced inode 6071
[    5.366442] EXT4-fs (sdb2): 2 orphan inodes deleted
[    5.366444] EXT4-fs (sdb2): recovery complete
...

システムが起動し、正常に動作します。完全に修正できますか?そして正しい方法は何ですか?

答え1

fsck次のように、マウント後すぐに操作を実行するようにファイルシステムに指示できます。

方法 #1: /forcefsck の使用

通常、次のように次回の再起動時にスキャンを実行するようにスケジュールできます。

$ sudo touch /forcefsck
$ sudo reboot

方法 #2: 終了を使用

shutdownスイッチを介してこれを行うようにコマンドに指示することもできます-F

$ sudo shutdown -rF now

メモ:最初の方法はこれを達成する最も一般的な方法です!

方法#3: tune2fsの使用

tune2fs次回インストールしようとするときに強制的にスキャンするようにファイルシステム自体のパラメータを設定することもできます。

$ sudo tune2fs -l /dev/sda1
Mount count: 3
Maximum mount count: 25

したがって、次のコマンドを使用して「インストール数」を25より高く設定する必要があります。

$ sudo tune2fs -C 26 /dev/sda1

変更された値を確認して再tune2fs -l起動してください。

メモ:私が使用した3つのオプションのうち、デフォルトのファイルシステム()でも他のtune2fsファイルシステムでも、すべてのファイルシステムを強制的に確認できます。/

補足説明

通常、ext2/3/4でフォーマットされたパーティションに関連する「最大マウント数:」および「検査間隔:」パラメーターが表示されます。通常、次のように構成されます。

$ tune2fs -l /dev/sda5 | grep -E "Mount count|Maximum mount|interval"
Mount count:              178
Maximum mount count:      -1
Check interval:           0 (<none>)

パラメータがこのように設定されていると、デバイスはfsckインストール中にそのタスクを実行しません。これはほとんどのディストリビューションで非常に一般的です。

2つの強制運転チェックがあります。設置回数または経過時間。 「確認間隔」は時間ベースの間隔です。 2週間に1回、この主張をすることができます、2w。tune2fs詳細については、マニュアルページを参照してください。

メモ:tune2fsまた、これはデバイスコマンドではなくファイルシステムコマンドであることも理解する必要があります。したがって、/dev/sdaext2/3/4ファイルシステムがないと、古いデバイスでは機能しません。コマンドtune2fsは意味がなく、これらの種類のファイルシステムの1つとしてフォーマットされたパーティションで使用する必要があります。

引用する

答え2

fsckパーティションを削除することをお勧めします/dev/sdb2 この端末に重要なものがない場合それでもうまくいかない場合は、Live CDを使ってfsckを試してください。

$ sudo fsck /dev/sdb2

答え3

fsck型のジョブを実行する必要があると思います。fsck次のように実行できます。

$ sudo fsck /dev/sdb2

関連情報