Clonezilla 恢復硬碟映像教學:把備份映像還原到目標硬碟

整理 Clonezilla Live 官方 Restore disk image 流程:從本地磁碟或 USB 掛載映像倉庫,選擇 restoredisk,把已有 Clonezilla 映像恢復到目標硬碟。

Clonezilla Live 不只能做硬碟對拷,也可以把之前保存好的磁碟映像恢復到一顆硬碟上。官方文件的例子是:映像保存在第二顆硬碟 sdb 上,把映像 bookworm-2023-10-15-03-img 恢復到第一顆硬碟 sda

官方文件地址: https://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/02_Restore_disk_image

這類操作適合系統恢復、批量裝機、實驗環境回滾、把備份映像恢復到新硬碟。和普通檔案複製不同,restoredisk 會恢復整顆磁碟結構,包括分割表、啟動相關資訊和各分割區資料。

先確認風險

恢復映像前,先確認這幾件事:

  1. 目標硬碟上的資料會被覆寫。
  2. 映像檔案必須完整可讀。
  3. 目標硬碟容量應滿足映像恢復要求。
  4. 來源映像和目標硬碟不能選反。
  5. 如果是系統碟,恢復後可能涉及 BIOS/UEFI 啟動順序。

Clonezilla 會在真正寫入前要求確認兩次。不要把這兩次確認當成形式,尤其是在機器上同時插著多顆硬碟或 USB 時。

示例場景

官方示例裡有兩顆硬碟:

裝置 作用
sda 目標硬碟,要被恢復的第一顆硬碟
sdb 保存 Clonezilla 映像的第二顆硬碟

映像目錄名是:

1
bookworm-2023-10-15-03-img

Clonezilla 映像目錄裡通常會包含分割區映像、分割表、磁碟資訊、硬體資訊和恢復所需的元資料。官方示例裡可以看到 sda-mbrsda-gpt-1stsda-gpt-2ndsda1.vfat-ptcl-img.zstsda2.ext4-ptcl-img.zst 等檔案。

這些檔案不要手動改名、移動或刪除。恢復時應該選擇整個映像目錄,而不是只選某一個壓縮檔。

啟動 Clonezilla Live

先用 Clonezilla Live USB、光碟或其他啟動媒體啟動電腦。

如果需要,可以在 BIOS/UEFI 裡把 USB 或光碟機設為第一啟動項;也可以在開機時按主機板啟動選單快捷鍵,例如 EscF8F9F12,不同機器不一樣。

進入 Clonezilla Live 啟動選單後,預設的 800x600 模式通常夠用。如果顯示異常,可以嘗試安全圖形模式;如果是高解析螢幕,帶大字體的模式更容易看清。

進入恢復流程

進入系統後,按順序選擇:

  1. 選擇語言。
  2. 選擇鍵盤配置,普通美式鍵盤可以保持預設。
  3. 選擇 Start Clonezilla
  4. 選擇 device-image

device-image 表示從映像備份或恢復,而不是直接硬碟對硬碟複製。上一篇硬碟對拷用的是 device-device,這裡不要選錯。

Clonezilla 後續選單裡有些項目需要用空格鍵選擇。官方文件提醒:當有多個選項可選時,需要按 Space 標記,被選中的項會出現 *

選擇映像倉庫

接下來選擇映像保存在哪裡。

官方示例選擇:

1
local_dev

local_dev 適合映像放在本機第二顆硬碟、移動硬碟或 USB 上的情況。選擇後,Clonezilla 會掃描本機磁碟和分割區。如果你剛插入 USB 或移動硬碟,可以等幾秒讓它識別出來。

看到裝置出現在掃描列表後,按 Ctrl-C 退出掃描報告,繼續下一步。

如果映像不在本地裝置上,也可以根據環境選擇其他方式,例如 sshfs、samba、nfs、WebDAV、S3 或 OpenStack Swift。普通個人恢復場景,local_dev 最直觀。

掛載映像所在分割區

官方示例選擇 sdb1 作為映像倉庫,也就是第二顆硬碟的第一個分割區。

這裡要注意 Linux 裝置名:

名稱 含義
sda 第一顆硬碟
sda1 第一顆硬碟的第一個分割區
sdb 第二顆硬碟
sdb1 第二顆硬碟的第一個分割區

如果你的映像放在 USB 或移動硬碟上,它可能不是 sdb1,也可能是 sdc1sdd1。一定要結合容量、檔案系統、裝置型號來判斷。

Clonezilla 會詢問是否檢查該檔案系統。官方示例裡跳過了檢查,但如果你懷疑映像碟有問題,先檢查會更穩。

然後選擇映像目錄所在位置。如果映像就在該分割區根目錄,選擇 /,用 Tab 切到 Done,再按 Enter 繼續。

選擇 restoredisk

掛載映像倉庫後,Clonezilla 會顯示磁碟使用情況。接著選擇:

1
Beginner

然後選擇:

1
restoredisk

restoredisk 是把一個磁碟映像恢復成整顆硬碟。它和只恢復某個分割區的模式不同,適合系統碟整碟恢復。

如果你只想恢復單個分割區,不應該選 restoredisk,而要選擇對應的分割區恢復模式。

選擇映像和目標硬碟

接下來先選擇來源映像,例如官方示例裡的:

1
bookworm-2023-10-15-03-img

然後選擇目標硬碟,例如官方示例裡的:

1
sda

這一步最危險。來源映像是要讀取的備份,目標硬碟是要被覆寫寫入的硬碟。

建議你在確認前檢查三遍:

  1. 映像名稱是不是你要恢復的那份。
  2. 目標硬碟容量和型號是否正確。
  3. 目標硬碟上是否還有未備份的資料。

分割表和映像完整性

Clonezilla 會詢問目標硬碟分割表如何建立。

官方文件提到兩個方向:

  1. 使用映像裡的分割表。
  2. 按比例在目標硬碟上建立分割表。

如果映像來自較小硬碟,而目標硬碟更大,按比例建立分割表可能更方便。但這類選擇會影響最終分割區布局,不確定時不要隨便改。

接著 Clonezilla 會詢問是否在真正恢復前檢查映像完整性。官方建議檢查映像,因為你無法只憑目錄存在就判斷映像是否損壞。

如果你非常確定映像完整,可以選擇 -scr 跳過檢查。但對大多數恢復場景,我更建議先檢查,特別是映像來自移動硬碟、網路儲存或保存時間很久。

開始恢復

確認選項後,Clonezilla 會顯示將要執行的恢復命令。這個命令對自訂 Clonezilla Live 或復現批量恢復流程很有用。

如果你選擇了檢查映像,Clonezilla 會先檢查映像。檢查通過後,真正寫入前會要求你確認兩次。

恢復過程中,Clonezilla 會把映像寫回目標硬碟,通常包括:

  1. MBR 和啟動載入器。
  2. 分割表。
  3. 每個分割區或邏輯卷的資料。

不同檔案系統可能使用不同工具恢復,例如 partclonentfsclonepartimagedd。普通使用者不需要手動選擇這些工具,只要確認前面的映像和目標硬碟正確。

完成後怎麼做

恢復完成後,Clonezilla 會讓你選擇下一步:

  1. 關機。
  2. 重開機。
  3. 進入命令列。
  4. 重新開始。

如果這是系統碟恢復,通常建議先關機,再移除 Clonezilla 啟動媒體和映像碟,最後從目標硬碟啟動。

啟動後檢查:

  1. 系統是否能正常進入。
  2. 分割區是否符合預期。
  3. 關鍵資料是否存在。
  4. BIOS/UEFI 啟動項是否指向正確硬碟。

如果恢復後無法啟動,先不要急著重做。檢查啟動模式是否一致,例如原系統是 UEFI 還是 Legacy BIOS,目標機器的啟動順序是否正確,ESP 分割區是否存在。

簡短建議

用 Clonezilla 恢復硬碟映像時,記住這條線:

1
device-image -> local_dev -> 選擇映像倉庫 -> Beginner -> restoredisk -> 選擇映像 -> 選擇目標硬碟

真正需要花時間確認的是:

  1. 映像倉庫選對了嗎?
  2. 映像目錄選對了嗎?
  3. 目標硬碟選對了嗎?
  4. 是否需要檢查映像完整性?
  5. 目標硬碟資料是否已經備份?

這些確認做完,再執行 restoredisk,風險就會低很多。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計