Dd
dd if=/dev/zero of=/dev/sda
有什麼作用
編輯:除非你想破壞數據,否則不要執行它來測試它。
有人可以幫我理解我得到了什麼嗎?
dd if=/dev/zero of=/dev/sda bs=4096 count=4096
問:為什麼專門用 4096 表示
count
? 2.dd if=/dev/zero of=/dev/sda bs=512 count=4096 seek=$(expr blockdev --getsz /dev/sda - 4096)
問:這具體是做什麼的?
警告; 上面的程式碼將使一些/所有指定的設備/磁碟的數據無用!
dd if=/dev/zero of=/dev/sda bs=4096 count=4096 問:為什麼特別用4096做計數器?
這會將驅動器的前 16 MiB 清零。16 MiB 可能足以對任何“磁碟開始”結構進行核攻擊,同時又足夠小,不會花費很長時間。
dd if=/dev/zero of=/dev/sda bs=512 count=4096 seek=$(expr blockdev –getsz /dev/sda - 4096)
問:這究竟是什麼?
blockdev --getsz
獲取“512 字節扇區”中塊設備的大小。所以這個命令看起來像是打算將驅動器的最後 2 MiB 清零。不幸的是,這個命令在語法上是錯誤的。我希望該命令最初打算是
dd if=/dev/zero of=/dev/sda bs=512 count=4096 seek=$(expr `blockdev --getsz /dev/sda` - 4096)
並且反引號在人們在不同環境之間複製/粘貼的過程中失去了。
舊的分區表、LVM 元數據、raid 元數據等可能會在重用驅動器時導致問題。在驅動器的開始和結束處將部分歸零通常可以避免這些問題,同時比將整個驅動器歸零要快得多。