使用 dd 且目標小於來源

使用 dd 且目標小於來源

你們有些人會笑,但是…

我犯了一個錯誤,將 virtualbox vdi 的大小調整為 50TB 而不是 50GB。鑑於 vbox 中無法將其縮小(即使新空間未受影響),我創建了一個正確大小為 50G 的新 vdi,並將它們安裝在 ubuntu 虛擬機器中。

現在我想從「50TB」來源dd到50GB目標,希望當目標結束時dd會因錯誤而停止,因為它顯然更小。

我的假設是否正確,或者 dd 會循環覆蓋我的較小目標(我不想要)?

答案1

你安裝的是什麼系統?如果你已經安裝了linux,你可以直接TAR所有文件,並將它們移到其他分割區。

更多資訊請點這裡:http://tuxilero.blogspot.cz/2014/02/linux-backup-your-linux-installation.html

回到dd。當目標超出空間時,DD 應停止。但我認為它會損壞其 MBR。

也許您應該下載 gparted 並調整分割區大小?

如果我是你,我會盡量避免對不同大小的分割區使用 dd ...

答案2

簡短回答:
只需保留您的 50 TB VDI 不變,即可享受它的多功能性。

長答案與解釋:
我們可以dd一點一點地複製驅動器,直到目標驅動器已滿時出現 I/O 錯誤。我們也可以透過使用bs但執行以下任何一項count操作來複製一定量的數據dd不會給你想要的結果

幾乎可以肯定,您已將 50TB 磁碟定義為動態增長磁碟,您可能也將新的 50GB 磁碟設為動態磁碟。透過在這些驅動器上使用,dd您將實際存取它們。這意味著,如果您的 VDI 中有未使用但非零的資料區塊,則兩個磁碟都將面臨風險身體成長最大大小為 50 GB。

為了避免這種情況,我們最好將檔案從大驅動器複製到較小的驅動器,然後恢復引導磁區。

但即使如此,也可能不需要,因為您的虛擬 50TB 硬碟實際上只有那麼大的大小。只有當您確實在其中儲存了超過 50 GB 的資料後,它才會需要比 50 GB 硬碟更多的實體空間。然後您可能會發現不必增加磁碟即可繼續使用它甚至很方便。

相關內容