ブロックデバイス/dev/xxxx全体を正しく消去するには?

ブロックデバイス/dev/xxxx全体を正しく消去するには?

を使用して消去したいブロックデバイスがありますdd。私の一部が削除されたと思います。ただし、ddコマンドが返されますNo space left on device。ブロックデバイス情報は次のとおりです。

fdisk -l /dev/xxxx

Disk /dev/xxxx: 7876 MB, 7876902912 bytes
4 heads, 16 sectors/track, 240384 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

Disk /dev/xxxx doesn't contain a valid partition table

dd消去するには、次のコマンドを使用します。

~ # dd if=/dev/zero of=/dev/xxxx bs=1M count=7876

私は次のような結果を得ます。

dd: writing '/dev/xxxx': No space left on device
7513+0 records in
7512+0 records out
7876902912 bytes (7.3GB) copied, 355.751103 seconds, 21.1MB/s

誰かが私がここで出力を理解するのを助けることができますか?出力ディスプレイ7876902912 bytes (7.3GB) copied。デバイスのフルサイズです。それでは、これはデバイス全体が消去され、残りのスペースがないため、「デバイスに残りのスペースがない」という意味ですか?それとも別の意味ですか?

ベストアンサー1

はい。

また、SSDの場合、SSDblkdiscard /dev/xxxxから何でも読み取ると、クイックアクションはゼロを書き込むのと同じ効果を持ち、デバイスがすべて0を返すようにします。 (すべてのブロックを新しいデータと再利用するためにブロックプールに入れることができ、データの観点からそのまま維持する必要がないことを摩耗平準化に知らせるために、デバイスでblkdiscardを実行し続けることをお勧めします。)

0で上書きしたい場合は、dd0を書く少しぎこちないプログラムは必要ありません。cat /dev/zero > /dev/xxxxxうまくいきます。pv < /dev/zero > /dev/xxxx効果は同じですが、速度と進捗情報を提供します。

おすすめ記事