➣ Reading Time: 6 minutes前言
我們有時買了一台新電腦,當我們懶得把一個又一個的應用程式重裝,
這是後我們會想是不是能夠直接「複製整個硬碟」就好了呢?
這一次就是來分享在 linux / ubuntu 上複製硬碟的技術
事前準備
準備兩顆硬碟,查詢硬碟位置
去 ubuntu 的 menu 打開 disks
確認新舊硬碟的名稱(不含數字)
例如下圖中:舊 /dev/sda, 新/dev/sdb

我們可以看出,這顆硬碟只剩下 88GB for free,也就是這是舊的硬碟
記得記下來舊的硬碟是 /dev/sda (1代表的是第一個分割,暫時我們先不用管)

一看就知道是新插的硬碟,
記得記下來新的硬碟是 /dev/sdb (1代表的是第一個分割,暫時我們先不用管)
安裝
我們要安裝 gddrescue 這個套件,來幫助我們完成硬碟複製的任務。
sudo apt-get install gddrescue
複製
- 從舊的硬碟 /dev/sda 複製到新的硬碟 /dev/sdb
注意:順序一定要搞清楚!!!! 不然用空的洗掉正常的… 我也救不了你QQ
sudo ddrescue -v /dev/sda /dev/sdb --force
等待跑完就完成囉!
後續處理 & debug
運氣好的話,其實基本上沒有什麼需要後續處理的
狀況一:用複製硬碟開機後沒有回應
請準備一顆可以開機的硬碟,或者可以開機的 USB,
因為我有特別準備一個 ubuntu 的安裝碟,
我使用裡面內建的「Try Ubuntu」的「Live demo」功能。
我們需要打開一個終端機來進行操作:
1. 尋找並複製新硬碟的 UUID
這時候可能你已經先把舊的硬碟移除了,
應該新的硬碟就會成為 /dev/sda
可以透過以下指令找到該硬碟的 UUID
ls /dev/disk/by-uuid/ -al
2. 尋找並複製新硬碟的 UUID
因為沒有 vim,我們只能使用 gedit
(如果是其他可開機硬碟,使用 vim 當然也是可以的!)
sudo gedit /media/ubuntu/XXXXX(你的硬碟的UUID)/etc/fstab
3. 在 /etc/fstab 中加入新 mount 的硬碟,格式如下
UUID=你的 UUID / ext4 errors=remount-ro 0 1
重新開機應該就可以正常開機了! 如果有其他狀況可以繼續往下看!
狀況二:(ubuntu18) 無法正常進入系統,進入了 fsck 修復模式

執行以下指令後,重新開機即可。
fsck -y /dev/sda1
sudo mount -a # 測試用,沒有跳出訊息才是正常的!! (有跳出訊息就是有問題)
reboot # 重新開機
狀況三:(ubuntu18) 無法正常進入系統,進入了 grub 修復模式

此問題發生的原因是在硬碟拆裝的時候,
導致 BIOS 的設定跑掉了,
請進入 BIOS 設定 「legacy mode + UEFI 啟動模式」或 「legacy mode only」 就能正常啟動了!
Reference
Linux 檔案系統掛載(mount)使用教學與範例
https://kknews.cc/zh-tw/code/o86gazq.html
⭐Linux 指令 相關文章整理⭐: |
---|
⭐終端機 (terminal) 常用 總整理⭐: |
1. | (terminal指令 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 指令 & 基礎知識總整理,初學者/新手 必須知道的基礎指令 & 基礎知識大全(持續更新) |
2. | (terminal快速鍵 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 快速鍵/小技巧,初學者/新手 必須知道的一些實用功能!(持續更新) |
3. | (vim指令 常用總整理)【Linux】linux/ubuntu/mac vim 的 新手/初學者 的基礎使用指令 與 個人常用功能總整理 (持續更新) |
4. | 【MobaXterm】在 Windows 中使用 MobaXterm VPN 連線至遠端系統 (linux, ubuntu) 遠端 ssh 顯示畫面 |
⭐Linux 基礎指令篇⭐: |
1. | 【Linux】(作業系統基礎知識) 簡單理解「相對路徑」與「絕對路徑」,程式設計 初學者/新手 必須知道的路徑知識總整理 |
2. | 【Linux】linux ubuntu 中利用 mkdir 建立資料夾 相關參數總整理 (必定建立資料夾、修改資料夾權限 777) |
3. | 【Linux】linux ubuntu 使用 terminal (終端機) 關機 shutdown、重新開機 reboot 的方法 |
⭐Linux 網路相關指令篇⭐: |
1. | 【Linux】利用 ifconfig 查詢 ip 並用 scp 傳送資料 – linux, ubuntu 基礎終端機指令學習 sample code (內含範例程式碼) |
2. | 【Linux】使用 sshfs 連線 將遠方磁碟當作像是在自己電腦的硬碟 mount disk on other computer |
3. | 【Linux】使用 curl 將網路上的檔案 透過終端機 terminal 的方式下載 download |
⭐Linux 進階指令篇 (檔案處理相關)⭐: |
1. | 【Linux】linux, ubuntu 壓縮檔案常用指令 tar gzip zip 7z 壓縮檔案切割、壓縮檔案加密 與 解壓縮套件安裝方法 (內附圖文說明) |
2. | 【Linux】Linux 查詢資料夾內的檔案數目 ls -1 | wc -l |
3. | 【Linux】linux ubuntu 中利用 tail -f 可以查看 log 並不斷更新 |
4. | 【Linux】在終端機 terminal 使用 ln -s 建立如 windows, mac, ubuntu 檔案系統上的捷徑 – 軟連結 (Symbolic Link) |
5. | 【Linux】linux, ubuntu 使用 split 指令檔案切割、檔案合併 |
6. | 【Linux】Linux 運用 sed 進行檔案內容的取代 instead 用法 |
7. | 【Linux】mac/ubuntu 如何利用 terminal 打開 GUI 資料夾總整理 |
⭐Linux 進階指令篇 (搜尋相關)⭐: |
1. | 【Linux】linux, ubuntu 使用 ps, grep, pgrep 找到程式碼的 相關資訊 與 pid (ps aux, ps -ef) |
2. | 【Linux】linux ubuntu 使用 grep, awk, xargs 尋找需要的資料,快速濾出/篩選 結果欄位 所需要的資訊 (內附圖文說明) filter column |
⭐Linux 特殊應用篇⭐: |
1. | 【Linux】Linux 增加 swap 的虛擬記憶體空間 |
2. | 【Linux】在 Ubuntu (Linux 系統) 上透過 / etc/fstab 安裝新的硬碟、新增硬碟容量 (SSD, HDD) (內附圖文說明) |
3. | 【Linux】linux / ubuntu 複製硬碟的方法 copy all disk |
4. | 【Linux】(內附圖文說明) ubuntu 停止自動更新的方法 disable auto update |
5. | 【Linux】linux/ubuntu 下執行 anaconda-navigator 的方法 |
⭐Bash 自動化程式撰寫⭐: |
1. | 【Bash】echo,bash 的 hello world 基本教學,開始自動化程式的第一堂課 / 撰寫腳本,利用 echo 顯示變數 |
⭐【喜歡我的文章嗎? 歡迎幫我按讚~ 讓基金會請創作者喝一杯咖啡! 】
如果喜歡我的文章,請幫我在下方【按五下Like】 (Google, Facebook 免註冊),會由 「LikeCoin」 贊助作者鼓勵繼續創作,讀者們「只需幫忙按讚,完全不用出錢」哦!
 |
---|
Post Views:
4,324