
答案1
通常我會建議一個解決方案,例如「使用外部外殼連接第二個硬碟驅動器,從 Linux CD 啟動,然後使用諸如 之類的命令dd if=/dev/sda of=/dev/sdb bs=1G
,但由於您想使用相同的技術進行工作,我有可能是更好的解決方案。
我所有的伺服器和筆記型電腦都在工作時使用克隆屬。有兩種使用方法...其中一種使用專用伺服器,對您來說可能有點過分,另一種使用啟動 CD 和外部硬碟。
這個想法是,您使用 Clonezilla CD 啟動並擁有一個較大(比來源驅動器更大)的外部 USB 驅動器。 Clonezilla 會引導您製作現有驅動器的映像,然後關閉機器電源,更換驅動器,然後重新啟動到 Clonezilla,它會引導您恢復資料。
這使您有機會 A) 將映像放在更大的磁碟機上,B) 保留資料的備份。
答案2
您的第一個任務是將兩個磁碟連接到現有的 Linux 系統或將新磁碟連接到原始系統。
你一定是非常小心,因為將空白磁碟複製到好磁碟上非常簡單!
要最終獲得引導磁區和所有內容,您可以執行以下操作:
dd if=/dev/hdx of=/dev/hdy
hdx
你的40G盤在哪裡,hdy
你的160G盤在哪裡。您會注意到沒有像 之類的分區號/dev/hdx1
。這會複製整個磁碟、分割資訊等。
您的新磁碟將與舊磁碟一樣,指派 40G。當它放回筆記型電腦時,它應該會立即啟動。希望你用過LVM?否則希望您沒有使用所有分割區?跨越這一點需要更多的資訊。
另一種解決方案是轉儲每個單獨的分區。這需要更多的態勢感知,因為您需要重新建立啟動資訊。
所有這些最適合用於克隆計算機,而不是升級硬碟。使用備份恢復到新安裝要好得多。
答案3
當你能使用 dd 來複製磁碟,這樣做有很多缺點:
- 目標的大小必須與來源的大小完全相同或更大
- 複製後,您需要調整分割區大小以使用任何額外空間
- 您將浪費時間複製可用空間
- 舊磁碟中存在的任何碎片都會被保留
使用 Ghost4Linux、partclone 或 Clonezilla 等映像程式可以至少處理數字 2 和 3 cp -ax
。程式.該方法沒有任何上述缺點。
答案4
你問如何用 dd 來做到這一點,但我更好地成功地透過管道輸出傾倒進入恢復。鑑於來源廣告1s1a和目標廣告2s1a:
$ mount /dev/ad2s1a /target
$ cd /target
$ dump -0Lauf - /dev/ad1s1a | restore -rf -
我在 FreeBSD 上嘗試過這個,實際上我在FreeBSD 論壇