Openbsd
為什麼需要擦除 OpenBSD CRYPTO 設備的第一個 MByte?
來自:http ://www.openbsd.org/cgi-bin/man.cgi?query=bioctl
The following command, executed from the command line, would configure the device softraid0 with one special device (/dev/sd2e) and an encrypting volume: # bioctl -c C -l /dev/sd2e softraid0 bioctl will ask for a passphrase, which will be needed to unlock the encrypted disk. After creating a newly encrypted disk, the first megabyte of it should be zeroed, so tools like fdisk(8) or disklabel(8) don't get confused by the random data that appears on the new disk. This can be done with the following command (assuming the new disk is sd3): # dd if=/dev/zero of=/dev/rsd3c bs=1m count=1
我的問題:但究竟為什麼需要擦除 CRYPTO 設備的第一個 MByte?如果我錯過這樣做有什麼缺點嗎?
原因用以下句子描述:
so tools like fdisk(8) or disklabel(8) don't get confused by the random data that appears on the new disk
創建加密設備後,那裡的數據將是隨機的(即使磁碟上最初全為零,因為解密)。如果該數據看起來(幾乎)驗證分區表資訊
fdisk
,則可能會感到困惑。disklabel
因此,在繼續之前,您必須通過加密將非隨機數據寫入零。
你已經引用了答案。
所以像 fdisk(8) 或 disklabel(8) 這樣的工具不會被新磁碟上出現的隨機數據弄糊塗
用於對磁碟進行分區的工具(如
fdisk
和parted
)或用於標記磁碟的工具(如disklabel
)將嘗試讀取現有的 MBR。如果 MBR 為零,那麼他們會將其視為空。如果它不為零,他們將嘗試理解它的內容。但在您的情況下,內容將是完全隨機的。如果它們沒有準備好讀取虛假值,它將混淆這些工具,並且在最壞的情況下可能會使它們崩潰。