如何在 Linux 中備份和恢復到不同的硬體?
我在戴爾筆記型電腦上執行 Fedora 22。我計劃很快遷移到也將執行 Fedora 22 的台式機。將我的筆記型電腦配置備份和恢復到新系統的最佳方法是什麼?我在這個系統上沒有任何第 3 方備份/恢復軟體。dd 可以為我工作嗎?系統級備份是否有效,或者我是否需要將 dd 限制為非“硬體或設備”特定的分區。我也願意接受任何其他建議或想法。
這裡有幾個不同的選項,每個選項都有不同的效果和權衡。
首先,您可能不想對
dd
.dd
執行塊級副本;它精確地鏡像磁碟映像,而不關心文件。這將在其關聯的文件系統中攜帶文件,但這裡有問題:如果兩個設備在同一台機器上,您可能會因為相同的 UUID 而感到困惑;它顯然排除了您可能希望進行的任何文件系統級別的更改,例如在文件系統之間遷移、分配更多 inode 或其他任何東西;它要求目標塊設備與源塊設備的大小相同,但通常情況並非如此。(如果目標大於源,它仍然可以工作,但是在您執行單獨的調整大小操作之前,您將無法訪問額外的空間。如果目標較小,它將失敗並且您將贏’即使文件系統中有足夠的可用空間,也無法訪問您的數據。)的主要案例
dd
可能是如果您將根文件系統或引導文件系統從一台機器複製到另一台機器,這本身就是一個有點令人擔憂的話題。這dd
是合適的,因為您通常希望保留 FS UUID 等,以保持引導過程正常工作。但你可能不想這樣做。(另一種用途是處理 U 盤、CD 等的磁碟映像,但這在這裡並不重要。)您更可能想要做的是文件級備份/恢復。為此,如果兩台機器同時啟動,我發現
rsync
這非常好;如果沒有,最好使用tar
. 假設您在桌面系統上執行了全新的 Fedora 安裝,您應該能夠 rsync/tar 將/home
目錄從一台機器遷移到另一台機器。這將保留所有使用者文件和大多數使用者級別的自定義項(例外是儲存在外部的 crontabs 之類的東西/home
)。然後,為了正確模仿舊設置,剩下的就是通過包管理器安裝所有相同的軟體。由於保留了大多數軟體儲存其配置的主目錄,因此再次安裝它應該會讓您的工作保持原樣。
我支持全新安裝然後 rsyncing 的方法
/home
。但是,為了完整起見,如果您想將磁碟從一台電腦移動到另一台具有另一硬體的電腦 - 無論是字面意思還是通過使用dd
來複製內容,請確保您執行sudo dracut --force --no-hostonly
在進行備份或複制之前在機器上。
這將生成一個通用的初始啟動映像。
預設情況下,Fedora 通過創建可能特定於您的特定硬體的引導映像來節省空間和時間。
如果您忘記執行此操作並且機器無法啟動(由於啟動映像中缺少硬體支持),請在初始引導載入程序螢幕上使用救援模式菜單條目 - 這始終具有更大的通用啟動映像,並且會得到您進入系統並從那裡執行 dracut 命令為您的非救援環境生成初始 ramfs。(不過,在這種情況下,您必須辨識核心版本。查看
/boot
並提供編號,如下所示:dracut --force --no-hostonly --kver 4.2.3-300.fc23
。)