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

別人也看了:

安裝MariaDB沒有問設定root密碼怎麼辦 今天把ubuntu 18.04中的mysql server 5.7移除, sudo apt-get purge mysql-server mysql-client mysql-common mysq...
如何編譯(Compile) Linux的核心(Kernel) 編譯Linux的核心程式很簡單,如何做呢? 首先抓你要的核心版本,到The Linux Kernel Archives下載。 解壓縮,例如下載的是linux-4.8-rc5.tar...
用mdadm重建RAID硬碟陣列 因為怕自己忘記,也給需要的人參考,把一些Linux的處理過程記下來。先前建好的RAID硬碟陣列,若是其中一顆有問題,把它取出後,用mdadm命令看RAID,應該看到類似下面的資料,其中一個不見了(de...
使用 Windows bootloader 來 load Linux 上回提到如何重建 GRUB,這次講一下不使用 GRUB 作為主要 bootloader,而用 Windows 本身的 bootloader 來建立多系統的電腦。 使用 Windows NT/20...
Linux kernel(核心程式)如何上patch(補丁) 在如何編譯(Compile) Linux的核心(Kernel)文中說明了如何編譯Linux的核心,但Linux kernel會一直更新,每次更新要重抓一次全部也行,只抓patch再補丁也行,後者好處是...
分享:

發表迴響