複製裝好的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 1,039 times, 1 visits today)

別人也看了:

如何編譯(Compile) Linux的核心(Kernel) 編譯Linux的核心程式很簡單,如何做呢? 首先抓你要的核心版本,到The Linux Kernel Archives下載。 解壓縮,例如下載的是linux-4.8-rc5.tar...
apt-get “下列套件將會維持其原有版本”?... 如何解決 apt-get 出現"下列套件將會維持其原有版本"? 或是英文 "The following packages have been kept back"? 下面以mysql-serve...
ubuntu 與系統時間問題 上次壞掉的華碩 N4L-VM DH 主機板送修回來了,雖然不是 Asus 自己出的問題,他們還是換了一片好的給我,當然可以維修的前題是不能看得出來是人為破壞或是其他元件造成的問題,Asus 的服務不錯...
使用 Windows bootloader 來 load Linux 上回提到如何重建 GRUB,這次講一下不使用 GRUB 作為主要 bootloader,而用 Windows 本身的 bootloader 來建立多系統的電腦。 使用 Windows NT/20...
ubuntu 如何更改 root 的密碼 ubuntu 安裝完後,超級使用者 root 並沒有密碼,也沒有 default 的密碼。要使用 root 權利的方法是要首位用戶(安裝的用戶)來使用 sudo 命令來達成,例如 sudo chmod...
分享:

發表迴響