SDカードを完全に消去する必要があることがよくあります。
このプロセスを使用すると、速度が大幅に向上します。SDメモリーカードフォーマッタ。
残念ながら、このプログラムはLinuxでは利用できないようで、代替プログラム(dd
またはshred
)は時間がかかります。
AFAIK SD / MMCカードには一括削除のための特定のコマンドがあり、これが「SDメモリーカードフォーマッタ」が使用するものと疑われます(上書きを通じて内容を消去する代わりに)。
同じものを使うツールはありますか?
ベストアンサー1
ブロック廃棄の使用
簡単に言うと:
blkdiscard /dev/mmcblk0
議論する
SDカード全体をすばやく消去するには、次のものを使用できます。blkdiscard
(8)注文する。これはLinux BLKDISCARD ioctlを呼び出し、それは順番にCMD38を渡します。SDメモリーカードフォーマッタ。
興味深い選択
-s
、--secure
ブロックを安全に廃棄します。他の場所で述べたように、通常のCMD38では、一部のブロックは空のように見えますが、ガベージコレクションのために他のブロックがはっきりと表示されます。-s
より安全でガベージコレクションブロックを強制的に削除したい場合に使用してください。-z
、--zero
捨てる代わりにブロックをゼロで埋めます。
USB経由で動作しない
この機能は私のラップトップとRaspberry Piでは動作しますが、USB SDカードリーダーでは機能しません。違いは、カーネルが下位レベルにアクセスする必要があることです。MMCUSBはこれを汎用の「一括ストレージ」デバイスに抽象化します。 [Microsoft Windowsにも同じ制限があると思いますが、私が間違っている場合はコメントで訂正してください。 ]
低レベルのSDカードと直接通信できるデバイスがない場合は、Arduinoを使用してデバイスを作成して実行できます。SDFormatter.ino。
非常に危険です!
blkdiscard
ルートとして実行する必要があるため、簡単にできます。破壊するあなたのすべてのデータ。正しいデバイスを指していることを確認して、もう一度確認することをお勧めします。lsblk
と を使用しますdf
。
マンページは、セキュリティ上の理由からドライブがまだマウントされていない場合にのみ機能することを示しています。これは優れたセキュリティ機能ですが、この記事を書いている時点ではそうではありません。現在の実装では、ドライブがすでにフォーマットされている場合はオプションが必要です。-f
これは--force
SDカードが事前フォーマットされているため(ほぼ)常にそうです。残念ながら、--force
手段を使ってみんな確認(ドライブを使用するかどうかを含む)が無効になります。
いつか、Linuxでroot権限なしでリムーバブルデバイスでblkdiscardを実行できるようになり、はるかに危険になる可能性があります。
その他の用途
プライバシー保護のためにデータをすばやく削除することに加えて、blkdiscard(SSDのfstrimに似ています)はウェアレベリングを改善し、一部のSDカードで通常、より速く実行。