web-dev-qa-db-ja.com

fsck:より多くのファイルシステムが検出されました。これは起こらないはずです

コマンドを使用して、ext4でフォーマットされたUSBドライブを誤ってexfatにフォーマットしました

mkfs.exfat /dev/sdb1

Testdiskを使用してそれを回復しようとしていました。ファイルシステムを検出できましたが、読み取ることができず、ファイルシステムが破損しているという警告が表示されます。

そこで、破損したファイルシステムを修復するSudo fsck.ext4 /dev/sdb1を使用してみました。しかし、マウントしようとすると、次のエラーが発生しました:

arun@lenovo-pc:~/Desktop/testdisk-7.0$ Sudo mount /dev/sdb1 /media/usb2
mount: /dev/sdb1: more filesystems detected. This should not happen,
       use -t <type> to explicitly specify the filesystem type or
       use wipefs(8) to clean up the device.
arun@lenovo-pc:~/Desktop/testdisk-7.0$

Sudo mount -t ext4 /dev/sdb1 /media/usb2で試してみましたが、正しくマウントでき、失われたデータを確認できました。

しかし、私の質問は、fsckが最初のセクターを適切に修復できない理由です。最初のセクターを適切に修復して、mkfs.exfatコマンドによる損傷を適切に修正し、問題なく直接マウントできるようにする方法はありますか?

fsck.ext4は、EXT4ファイルシステムで、誤った「通常の」使用中に発生したエラーをチェックするためのツールです。データの一部が書き込まれたままになる停電またはカーネルパニック。 EXT4ファイルシステムが存在するパーティションを再フォーマットすることは、実際にはfsckが意図している種類のエラーではありません。

ファイルシステムを復元する最も簡単で危険性の低い方法は、最初に、前述のようにファイルシステムの種類を明示的に指定してマウントし、ファイルを別のファイルシステムにコピーすることです。次に、USBドライブをEXT4として適切に再フォーマットし(man mkfs.ext4を参照)、ファイルをコピーして戻します。ファイルシステムを適切に修復することは不可能ではありませんが、さらに多くの損害を与えることは信じられないほど簡単です。

1
Zombie Feynman