不良フラッシュドライブをフォーマットするには? (GPartedは実際の容量を超えてファイルシステムフッターをタッチしようとし、無期限に停止します。)

不良フラッシュドライブをフォーマットするには? (GPartedは実際の容量を超えてファイルシステムフッターをタッチしようとし、無期限に停止します。)

Limboタイプの偽のUSBまたはSDカードでは、ドライブ内の特定の場所から始まるすべてのセクターは使用できません(ゼロまたは1つ、または読み取れないセクターのみが応答します)。

フラッシュドライブの公称容量は256 GBですが、実際には16 GBしかありません。 16GBのしきい値以上で記録された内容はすべてデジタルブラックホールに入ります。リンボ)。このデータにアクセスしようとすると、次のいずれかの状況が発生する可能性があります。

  • デバイスは空のセクタを返します。00000000(0x00)バイトのみ可能です。
  • デバイス返品部門11111111(0xFF)バイトのみ可能です。
  • このデバイスは、セクタが損傷していることをコンピュータに通知します。
  • デバイスは無期限に停止し、読み取り要求を返しません。
  • デバイスがランダムなデータを返します(非常にまれなタイプ)

私が所有している悪意のあるフラッシュドライブの最初のケースはまさにこのようなケースでした。それは戻ってくる00 00 00 00...すべてのセクタ内のすべての512バイトセクタでリンボ実際のデータ容量を超える領域です。

使用mkfsまたはgpartedテスト目的で偽のUSBにファイルシステムを作成すると、無期限に停止します。

WindowsとAndroidは両方ともSDカードをフル課金容量でフォーマットしました。30分もかかりません。これは、実際の容量を超えてファイルシステムフッターに触れていない場合にのみ可能です。タイトルだけを修正してください。
GPartedとmkfsは無期限に停止し(ドライブがPCから削除されるまで)、次のガイドラインに従ってファイルシステムを残します。未知GPartedと入力してください。

ファイルシステムヘッダーのみを作成しながら、GPartedで悪意のあるフラッシュドライブをフル充電容量にフォーマットする方法は?

これにより、GPartedが無期限の停止を引き起こす周辺領域に到達するのを防ぎます(不良ドライブにリストされている4番目のセクタ戻りタイプと混同しないでください。これはGPartedの反応です)。

私が達成したいもの:

  • Linux反応テスト交換偽のフラッシュドライブに挿入します。 StackExchangeではこれがあまりにもマイナーなので、自分で試してみることにしました。
  • Android携帯(ext2、ext3、ext4、FAT16、FAT32、exFAT、f2fs、xfs、zfs、ntfs)でさまざまなファイルシステムをテストします。Android携帯の実際の容量よりも多くのビデオを録画し、どのように反応するかを確認したいと思います。

答え1

私はこれがうまくいくかどうか少し懐疑的です。ただし、要件を満たすための強力な方法があります。これがうまくいかない場合は、mkfsより良い操作を実行する他のオプションはありません。

  1. デバイスと同じサイズの(スパース)ファイルをデフォルトのファイルシステムに作成します。例えばtruncate --reference=/dev/sdX disk.img
  2. ファイルを分割します(これをしたいとします。そうでない場合はスキップして/dev/loopN代わりに使用してください/dev/loopNp1)。を実行しfdisk disk.imgたり、dd if=/dev/sdX of=disk.img conv=notrunc bs=1M count=1デバイスのすべてのパーティションをコピーしたりできます。
  3. losetup -f disk.img- これによりループデバイスが作成され、その名前が印刷されます。
  4. mkfs.FOO /dev/loopNp1- ファイルシステムの作成
  5. dd if=/dev/loopN of=/dev/sdX bs=1k count=16M conv=sparse- ディスクイメージの最初の15G(16 * 1024 * 1024 * 1024)をデバイスにコピーします。必要に応じて調整できます。 conv=sparseすべてゼロを含む書き込みブロックはスキップされます。

関連情報