2016-05-16 88 views
-1

我在我的磁盤/ dev/sda上使用dd創建了一個映像文件,fdisk表示它的大小爲500107862016字節。生成的圖像文件是500108886016個字節,正好是1024000個字節。DD圖片大於來源

  1. 爲什麼圖像文件比我的源磁盤大1MB?是否有什麼事與我在我的dd命令中指定bs = 1M有關?
  2. 當我將映像文件還原到另一個相同的磁盤上時,出現「dd:錯誤寫入'/ dev/sda':設備上沒有剩餘空間」錯誤。這是一個問題嗎?我的新磁盤會損壞嗎?
+2

有趣的問題,但不是真的在這裏的話題。 http://unix.stackexchange.com可能是最好的選擇 –

+2

你能給我們確切的命令行嗎?例如,指定'conv = sync'將填充短輸入記錄,給出一個輸出文件,其大小是塊大小的整數倍。 500108886016是1024 * 1024的舍入倍數; 500107862016不是。 –

+0

我做了:dd if =/dev/sda of = imagefile.iso bs = 1M conv = noerror,sync – waffle

回答

0

conv=noerror使dd(1)繼續閱讀錯誤後,這不是你想要的。另外conv=sync填充不完整的塊(主要是最後一個塊)用零填充一個完整的塊,所以可能這個附加到最後一個塊的零是什麼使您的文件大於實際的磁盤大小。

您不需要使用任何您使用的conv選項。沒有轉換將被製成,並且dd(1)會寫不完整的最末塊圖像的情況下,沒有一個完整的塊大小(這就是這種情況)

只是重試你的命令:

dd if=/dev/sda of=yourfile.img 

然後

dd if=yourfile.img of=/dev/sdb 

如果你打算使用一些更大的緩衝區大小(不是必需的,因爲你使用的是塊設備和內核不徵收讀塊設備的塊大小),只要用的多扇區大小是整個磁盤的約數ize(類似於一個完整的軌道---荒謬,因爲今天的磁盤軌道完全符合邏輯,與實際的磁盤幾何形狀沒有任何關係)

+0

你能幫我創建.img文件(在其中的Ubuntu操作系統),我已經恢復到磁盤,但不啓動Ubuntu的?對此有任何想法? – Nullpointer