複製裝好的Linux系統到別的硬碟

有時候,因為種種理由,例如備份、擴大系統容量、換硬碟…,需要把已經裝好的Linux系統複製到別的硬碟或分割區(partition),而且要可開機,方法很簡單,大致是把所有檔案copy一份,再建立開機系統即可。比Windows的系統容易多了。

詳細步驟如下:
把所有檔案copy一次:

  1. 使用Linux的Live CD開機,例如ubuntu
  2. 進入系統後,選”試用ubuntu”,以Ctrl-Alt-T開啟一個Terminal視窗。
  3. 掛載原始的硬碟(例如掛載/dev/sda到/tmp)及目的地硬碟(例如掛載/dev/sdb /mnt)
    sudo mount /tmp /dev/sda
    sudo mount /mnt /dev/sdb
  4. copy所有檔案:
    sudo cp -af /tmp/* /mnt

建立開機系統:

  1. 使用Linux的Live CD開機重開機。
  2. 進入系統後,選”試用ubuntu”,以Ctrl-Alt-T開啟一個Terminal視窗。
  3. 掛載目的地的硬碟(例如掛載/dev/sda到/mnt)。
  4. 觀察指令
    ls -l /dev/disk/by-uuid/
    列出的/mnt硬碟UUID。
  5. 編輯更改 /mnt/etc/fstab 中的舊硬碟UUID,改成上一步驟的UUID。(假設你把硬碟掛載在/mnt)
  6. Update 9/23/2018:須更新/mnt/boot/grub/grub.cfg中的所有舊硬碟UUID,vi中用 “%s/舊uuid/新uuid/” 代換很方便。
  7. 依前文使用GRUB2重建MBR,建立MBR即可。
  8. Reboot成功之後,趕快 sudo update-grub 一下,畢竟修改/boot/grub/grub.cfg是不正常的程序。另外也可以用 boot-repair-disk 來救。

這樣就ok了。

國家高速網路與計算中心研發一個Clonezilla再生龍,有類似及更多的功能,不過我覺得光是複製,自己手動較簡單、直觀,而且以上方法,幾乎沒有任何限制,複製linux從小硬碟到大硬碟、大硬碟到小硬碟都適用。

(Visited 6,530 times, 1 visits today)
Tagged , . Bookmark the permalink.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *