リンボタイプの偽のUSBまたはSDカードでは、ドライブの特定の位置から始まるすべてのセクターが使用できません(0のみ、1のみ、または読み取り不可能なセクター応答)。
フラッシュドライブはそれ自体を256GBと表示する場合がありますが、実際には16GBしかありません。16GBのしきい値を超えて書き込まれたものはすべて、デジタルブラックホールに入ります(したがって、limbo)。そのデータにアクセスしようとすると、次のいずれかが発生する可能性があります。
私が所有する不正なフラッシュドライブでは、最初のものが当てはまります。リンボエリア00 00 00 00
内のすべてのセクターの512バイトのセクターすべてで…を返します。これは実際のデータ容量を超えています。
ファイルシステムを作成するために(テスト目的で)偽のUSBを使用mkfs
または使用gparted
すると、無期限にフリーズします。
WindowsとAndroidはどちらも、SDカードを30分以内に必要な容量まで正常にフォーマットします。これは、実際の容量を超えているファイルシステムフッターに触れていない場合にのみ可能です。ヘッダーを変更することによってのみ。
GPartedとmkfsは(PCからドライブを取り外すまで)無期限にフリーズし、GPartedに不明なタイプで示されたファイルシステムを残します。
それはGPartedが無期限のフリーズを引き起こす辺獄の領域に触れないようにします(不正なドライブで4番目にリストされたタイプのセクターリターンと混同しないでください。それはGPartedの反応です)。
私はこれがうまくいくのではないかと疑っています。しかし、あなたが求めていることを実行する必要がある堅牢な方法があります。これが機能しない場合、mkfs
より良いことをするために渡すことができるオプションはありません。
truncate --reference=/dev/sdX disk.img
/dev/loopN
代わりに使用してください/dev/loopNp1
)。を実行するfdisk disk.img
かdd if=/dev/sdX of=disk.img conv=notrunc bs=1M count=1
、デバイス上のパーティションをコピーすることができます。losetup -f disk.img
-これにより、ループデバイスが作成され、その名前が出力されます。mkfs.FOO /dev/loopNp1
-ファイルシステムを作成しますdd if=/dev/loopN of=/dev/sdX bs=1k count=16M conv=sparse
-ディスクイメージの最初の15G(16 * 1024 * 1024 * 1024)をデバイスにコピーします。必要に応じて調整できます。conv=sparse
すべてゼロであるブロックの書き込みをスキップします。この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加