轉自:https://www.jianshu.com/p/03472f8c5316
需求
有時我們在一臺機上裝了ubuntu,並進行了許多配置,現在我們需要把它移植到另外幾臺機上,並且保留所有安裝的軟件和用戶數據。
準備工作
- u盤
- ubuntu電腦
- 裸機
使用軟件:systemback
步驟
簡而言之就是:
製作鏡像,刻入u盤,把u盤的鏡像安裝到硬盤。
下文按照此步驟講述
- 下載安裝systemback
- 製作sblive鏡像文件
- 把鏡像文件寫入u盤,製作爲啓動盤
- 在裸機插入啓動盤,進入live系統
- 在live系統裏安裝鏡像
1. 下載安裝systemback
安裝
sudo add-apt-repository ppa:nemh/systemback
sudo apt-get update && sudo apt-get install systemback unionfs-fuse
安裝完成後在Dash菜單中就能找到這個軟件了
2. 製作sblive鏡像文件
點擊圖標,輸入管理員密碼,打開後界面如下圖所示
點擊"創建live系統"
- "工作目錄"選擇工作目錄(一般維持默認就好)
- "Live模式系統名稱"填入鏡像名稱
- "包含用戶數據文件"可酌情勾選,勾選後生成的鏡像會大很多。
- 配置好一切後,點擊"創建新的"創建鏡像。
然後等待創建完成即可。 - 把鏡像文件寫入u盤,製作爲啓動盤
上圖是創建完鏡像的圖例(只不過此處借用了別人的圖,系統語言是英語),我們看到第二項只是創建了sblive文件,還沒轉爲iso文件。但是有sblive就夠了,我們選擇sblive文件,再在窗口左下方選擇寫入設備,點擊"向目標設備寫入"即可。
寫入完成後,u盤就是有着鏡像的啓動盤了。
4. 在裸機插入啓動盤,進入live系統
把u盤插入裸機,進入bios系統,選擇優先啓動u盤(要用uefi模式, 如果無法用u盤啓動可能是用了legacy模式,可到bios系統設置)
啓動後應該會有如下界面
選擇第一項,即可進入該鏡像的系統。
如果是亂碼,依舊選擇第一項即可,選項的順序是不會變的。我當時就是遇到亂碼,直接選第一項就ok。
此時你還是在u盤的系統裏,鏡像還沒安裝到硬盤上。
5. 在live系統裏安裝鏡像
在這最後一步,你要把鏡像安裝到硬盤上。
進入u盤鏡像系統後,再次打開systemback,選擇"系統安裝"
填寫完成後點擊"下一步",進入下圖:
在此,你需要爲系統切割區間。
一般設置4個區間即可,"/"(ext4), "/home"(ext4), "swap", "boot/efi"。其中
- 先分配"swap",大小與內存相當即可
- 再分配"boot/efi",大小200m即可
- 最後分配"/"和"/home",文件系統都選ext4即可,"/"與"/home"的大小比一般是1:10到3:10,看個人需求而定。
經驗而談,先把4個區間按大小劃分好,再設置區間的掛載點/文件系統。因爲我當時是一個一個地劃分大小並設置文件系統,當做到第二個時,第一個分區的文件系統就會恢復成"無"了(不知道爲什麼)。
酌情選擇"傳遞用戶配置文件",檢查"安裝grub2引導程序"選項並非"禁用"。點擊下一步。然後就會安裝到硬盤了。
等待過後,回到bios界面,把裝有ubuntu的硬盤設爲首啓動項,你就看到一個原封不動的系統了~
異常:向目標設備寫入鏡像時失敗
在備份過程中可能提示
The restore point creation is aborted!
There has been critical changes in the file system during this operation
這並不一定是由於系統發生了嚴重的更改,只要是在複製文件的過程中出現錯誤都會出現這個信息。
詳細的錯誤信息可以通過
systemback-sustart
這個指令去調試,看看具體哪一個文件複製出了問題。極有可能的是權限問題。
也可以通過這個指令去調試
DBGLEV=3 systemback-sustart
當錯誤出現後會在/tmp文件夾下創建一個systemback的錯誤信息文件。可以方便的通過這個文件去找到錯誤的原因。
如果依舊不能解決問題,可以考慮兩個措施
- 將u盤格式化爲fat,重試。
運行找到u盤的盤符,一般是(/dev/sdx),(其中"sdx"可以是"sdb"或"sdc"等)sudo fdisk -l
假設我們查到盤符是/dev/sdb,那麼運行:u盤即可被格式化。sudo mkfs.vfat /dev/sdb -I
- 格式化後依舊不行,就嘗試重啓電腦。