如何使用「dd」將 Windows 7 備份的原始檔案還原到新的硬碟中?

如何使用「dd」將 Windows 7 備份的原始檔案還原到新的硬碟中?

這是典型的情況,Windows 7 安裝創建了一個大小約為 1.1GB 的 SYSTEM 分割區,並為硬碟中的剩餘可用空間建立了另一個分割區。

目前我們手上有兩個文件,它們是 dd 指令的原始備份:一個system.raw(~1.1GB)文件和一個win7.raw(~80GB)文件。

編輯問題額外資訊:但我們也有初始硬碟。然而這個硬碟總共有500GB的大小更大比目標驅動器,SSD 90GB。這就是為什麼簡單的整個驅動器傳輸不起作用

我們如何使用 dd 命令將這些單獨的分區恢復到單一硬碟? 注意:硬碟是空的並且有足夠的可用空間

編輯問題:我們還需要有關如何進行的幫助對齊分割區正確。請記住,原始磁碟機是 HDD,目標磁碟機是 SSD。從各種教程和維基中無法理解目標是什麼,對齊扇區或對齊位元組以及如何以安全的方式準確地做到這一點。

答案1

最好對整個磁碟(或至少是直到您正在複製的分割區末尾的所有內容)進行映像,這樣您就不需要重新建立分割區,但這仍然是可能的。

基本上,您需要重新建立舊的分割區表。首先,確保將磁碟正確初始化為 MBR(有時稱為 DOS)模式或 GPT 模式(無論原始磁碟使用哪種模式)。如果您不確定,且磁碟小於 2TB,請先選擇 MBR。

gparted使用 Linux liveCD/live flashdrive等工具qtparted來初始化磁碟(如果需要)並建立分割區,確保它們的大小正確。讓尺寸盡可能接近完美 - 您應該能夠使其完全匹配 - 但太大比太小要好。太大的分區只會造成一點空間浪費,並無多大害處。

如果您使用 MBR(主開機記錄),請將系統分割區標記為可開機(「開機標誌」或「活動」)。如果您使用 GPT(GUID 分割區表),請將系統 (1.1GB) 分割區設為 EFI 系統分割區。不必費心格式化它們或任何東西,它們只需要存在於磁碟的分割區表中(並且具有正確的大小和元資料)。

建立分割區後,您可以將備份中的資料複製到新磁碟機上。您不需要格式化的原因是因為備份包含所有檔案系統元資料 - 與格式化工具寫出的內容相同 - 因此您只需要一個分割區來放入每個映像檔的內容。命令將是這樣的:

dd if=/mount/backup/system.raw of=/dev/sda1 bs=4M
dd if=/mount/backup/win7.raw of=/dev/sda2 bs=4M

/mount/backup/*.raw部分是備份映像的路徑,可能位於某些外部或輔助儲存體上。這些/dev/sda*部分是您剛剛建立的原始分割區的路徑;sda表示系統中的第一個硬碟,後面的數字表示是哪個分割區。如果您不確定的話,分割區工具應該指示您想要的路徑。最後一部分只是告訴dd我們使用 4MB 區塊大小,這樣複製速度會更快;dd預設的區塊大小非常小,這使得現代硬體上的複製速度非常慢。

將映像擴展回磁碟後,您可以使用gparted「修復檔案系統」功能將檔案系統長度與分割區長度相匹配,儘管這一步不是必需的(只是避免浪費空間)。嘗試從硬碟啟動。希望它應該有效。如果沒有,並且您使用了 GPT,則可能需要重新執行該過程,將磁碟初始化為 MBR。另外/或者,您可能需要啟動 Win7 安裝或修復磁碟,並告訴它執行啟動修復程序;這應該重新安裝引導程式並修復分區元資料。

再次啟動 Win7 後,您可以使用gparted修復長度(如果還沒有)和/或使用 Windows 中的磁碟管理將作業系統分割區擴展到磁碟上的任何額外空間。

相關內容