有時候,因為種種理由,例如備份、擴大系統容量、換硬碟…,需要把已經裝好的Linux系統複製到別的硬碟或分割區(partition),而且要可開機,方法很簡單,大致是把所有檔案copy一份,再建立開機系統即可。比Windows的系統容易多了。
詳細步驟如下:
把所有檔案copy一次:
- 使用Linux的Live CD開機,例如ubuntu。
- 進入系統後,選”試用ubuntu”,以Ctrl-Alt-T開啟一個Terminal視窗。
- 掛載原始的硬碟(例如掛載/dev/sda到/tmp)及目的地硬碟(例如掛載/dev/sdb /mnt)
sudo mount /tmp /dev/sda
sudo mount /mnt /dev/sdb - copy所有檔案:
sudo cp -af /tmp/* /mnt
建立開機系統:
- 使用Linux的Live CD開機重開機。
- 進入系統後,選”試用ubuntu”,以Ctrl-Alt-T開啟一個Terminal視窗。
- 掛載目的地的硬碟(例如掛載/dev/sda到/mnt)。
- 觀察指令
ls -l /dev/disk/by-uuid/
列出的/mnt硬碟UUID。 - 編輯更改 /mnt/etc/fstab 中的舊硬碟UUID,改成上一步驟的UUID。(假設你把硬碟掛載在/mnt)
- Update 9/23/2018:須更新/mnt/boot/grub/grub.cfg中的所有舊硬碟UUID,vi中用 “%s/舊uuid/新uuid/” 代換很方便。
- 依前文使用GRUB2重建MBR,建立MBR即可。
- Reboot成功之後,趕快 sudo update-grub 一下,畢竟修改/boot/grub/grub.cfg是不正常的程序。另外也可以用 boot-repair-disk 來救。
這樣就ok了。
國家高速網路與計算中心研發一個Clonezilla再生龍,有類似及更多的功能,不過我覺得光是複製,自己手動較簡單、直觀,而且以上方法,幾乎沒有任何限制,複製linux從小硬碟到大硬碟、大硬碟到小硬碟都適用。
(Visited 6,530 times, 1 visits today)