デバイスの先頭をランダムなビットまたはゼロで上書きするにはどうすればよいですか?

デバイスの先頭をランダムなビットまたはゼロで上書きするにはどうすればよいですか?

デバイスの小さな部分をゼロまたは任意のビットで覆いたいだけです。より正確には、すべてのセクターの最初の1%または数MiBをカバーしたいと思います。これを行う簡単な方法はありますか?

ベストアンサー1

非常に遅いため、/dev/urandom大量のデータ(フルディスク)を処理するのには適していませんが、小さな領域には適しています。

8MiBを扱う例:

dd bs=1M count=8 iflag=fullblock if=/dev/urandom of=/dev/destroyme

または、次のものを使用できますshred

shred -v -n 1 -s 8M /dev/destroyme

またlosetup、特定のサイズとオフセットのデバイスを作成し、独自のサイズ/オフセットオプションを持たないユーティリティを使用してそれらを上書きすることもできます。

losetup --find --show --offset 0 --sizelimit $((8*1024*1024)) /dev/destroyme
# will print /dev/loopX
cat /dev/urandom > /dev/loopX
losetup -d /dev/loopX

おすすめ記事