web-dev-qa-db-ja.com

破損したFAT32ファイルシステムを修復する方法

ペンドライブにFAT32ファイルシステムを使用しています。ファイル/データの破損が頻繁にあります。

Windowsでは、スキャンディスクユーティリティを使用してFAT32/NTFSファイルシステムを修正しました。 Ubuntuでこれを行うにはどうすればよいですか?

109
Chalitha

Linuxターミナルで次のコマンドを入力してみてください。

Sudo dosfsck -w -r -l -a -v -t /dev/sdc1

sdc1は通常、ペンドライブです。ターミナルでmountと入力すると、ペンドライブを見つけることができます。内部のどこかにあります。そのコマンドに時間がかかりすぎる場合は、-tスイッチを避けてください。

  • -wは、すぐにディスクに書き込むことを意味します。
  • -rは、ディスクチェックを対話形式で実行することを意味します(エラーが発生した場合の対処方法を尋ねます)。 dosfsckの新しいバージョンでは、これがデフォルトです。
  • -lは、処理されたファイル名をリストすることを意味します。
  • -aは、エラーを自動的に修正することを意味します。考えられるエラーの修正をさらに制御したい場合は、使用しないでください。
  • -vは冗長モードを意味します。わずかに多くの出力を生成します。
  • -tは、読み取り不能クラスターを不良としてマークすることを意味します。

データを失わないようにするには、最初にソースデバイスのバックアップを作成します。

124
Naveen

DosfstoolsのコンポーネントであるDosfsckを試すことができます。

このために、ターミナルに入力します:

Sudo apt-get install dosfstools

Dosfsckを使用するには、目的のデバイスアドレスを指定する必要があります(例:/ dev/sdb1、/ dev/sdb2、またはその他のデバイス)。

デバイスアドレスを確認するには、ターミナルを開き(CTRL + ALT + T)、次のコマンドを実行します。

mount

たとえば、パーティションが/ dev/sdb1である場合、次のコマンドを実行して最初にパーティションをアンマウントします。

Sudo umount /dev/sdb1

次のコマンドを実行して、パーティションを検証および修復できます。

Sudo dosfsck -t -a -w /dev/sdb1

お役に立てれば。

注:

uSBフラッシュドライブが認識されないときに次のエラーが表示される場合:

Error: Buffer I/O error on device sdb1

次のコマンドを実行します:

dmesg|tail

出力が次の場合:

end_request: I/O error, dev sdb1, sector 0
Buffer I/O error on device sdb1, logical block 0

次のコマンドを実行します:

Sudo dosfsck -t -a /dev/sdb1

もちろん、上記で書いたように、デバイスアドレスをニーズに合わせて変更する必要があります。

また試してみてください:

fsck.vfat -r /dev/sdXn
6
gavenkoa

dosfsckチートシート

これらの例では、FAT32と/ dev/sdc1を使用します

fsck.vfat -n /dev/sdc1-単純な非対話型の読み取り専用チェック

fsck.vfat -a /dev/sdc1-ファイルシステムをチェックし、非対話形式で修正します。最小の破壊的アプローチが常に使用されます。

fsck.vfat -r /dev/sdc1-インタラクティブな修復。問題を解決する方法が複数ある場合、常にユーザーにプロンプ​​トが表示されます。

fsck.vfat -l -v -a -t /dev/sdc1-非インタラクティブにファイルシステムをチェックおよび修復する非常に冗長な方法。 -tパラメーターは、読み取り不能クラスターを不良としてマークし、したがって、新しく作成されたファイルおよびディレクトリーでそれらを使用不可にします。

4
m3asmi