外付け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
...
システムが起動し、正常に動作します。これを完全に修復することは可能ですか、適切な方法は何ですか?
次のようにマウントすると、ファイルシステムにfsck
をすぐに実行するように指示できます。
通常、次の再起動時にチェックをスケジュールできます。
$ Sudo touch /forcefsck
$ Sudo reboot
-F
スイッチを使用して、shutdown
コマンドにも同じように指示することもできます。
$ Sudo shutdown -rF now
注:最初の方法は、これを実現する最も一般的な方法です!
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としてフォーマットされたパーティションに関連付けられた「Maximum mount count:」および「check interval:」パラメーターが表示されます。多くの場合、次のように構成されます。
$ 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週間ごとに2wと言うことができます。詳細については、tune2fs
のマニュアルページを参照してください。
注:また、tune2fs
はデバイスコマンドではなくファイルシステムコマンドであることを確認してください。つまり、ext2/3/4ファイルシステムがない限り、古いデバイス/dev/sda
だけでは機能しません。コマンドtune2fs
は無意味です。これらのタイプのファイルシステムのいずれかでフォーマットされたパーティションに対して使用する必要があります。
fsck
を実行して、このパーティションをアンマウントすることをお勧めします/dev/sdb2
そのデバイスに重要な乗り物がない場合、それが機能しない場合は、ライブCDでfsckを実行してみてください。
$ Sudo fsck /dev/sdb2
Fsckのような操作を実行する必要があると考えてください。次のようにfsck
を実行してみてください。
$ Sudo fsck /dev/sdb2