Dd
恢復整個磁碟的 DD
我正在使用舊的隨機數據覆蓋我的硬碟驅動器
dd
:dd if=/dev/urandom of=/dev/disk/by-uuid/etc bs=512
這是一個 2TB 的陣列,而我的 MacBook(執行 Linux,好嗎?)只能以大約 3.7MB/s 的速度寫入數據,這非常可悲,因為我在家裡看到我的台式機只有 20MB/s。今晚回家的時候,我想在
dd
這裡停下奔跑,把它帶回家,看看用更強大的機器一夜之間能取得什麼樣的進步。我一直在使用一個簡單的循環來監控進度:
while true; do kill -USR1 $PID ; sleep 10 ; done
輸出如下所示:
464938971+7 records in 464938971+7 records out 238048755782 bytes (238 GB) copied, 64559.6 s, 3.7 MB/s
dd
如果我要在家恢復通行證,我將如何重新啟動它?我知道該seek
參數,但我將它指向什麼,記錄號或字節數?
正如@don_crissti 已經評論的那樣,只需使用
seek=
恢復即可。dd if=/dev/urandom of=/dev/disk/by-uuid/etc bs=512 seek=464938971
GNU dd
還支持以字節為單位搜尋,因此您可以準確地恢復,而不管塊大小:dd if=/dev/urandom of=/dev/disk/by-uuid/etc bs=1M \ seek=238048755782 oflag=seek_bytes
即使對於像
/dev/urandom
.如果您正在尋找更快的替代方案,您可以
cryptsetup plainOpen
使用隨機密鑰和零,它應該超過/dev/urandom
一個數量級(沒有 AES-NI)甚至全速執行(使用 AES-NI)。
shred -n 1
如果偽隨機數據對您的案例足夠好,您也可以使用。shred
應該能夠利用全磁碟速度,即使在非常慢的機器上也是如此。