Linux 中的映像 HDD(類似 Norton Ghost 的功能)
我希望使用嵌入式 Linux 發行版(例如 Tiny Core)作為自動恢復類型工具。
基本上,使用者會選擇從啟動菜單啟動到 Tiny Core,然後如果插入包含驅動器幽靈類型映像的 USB(它將包含 udev 規則將檢測到的唯一 UUID,然後才會開始映像),它將恢復整個硬碟驅動器。現在我的問題是找到一個像 Ghost for Linux 這樣的實用程序來進行成像。
關於 Ghost 最好的部分是
- 它會逐個文件複製,因此速度非常快,並且生成的壓縮圖像很小,並且
- 它會動態調整驅動器大小,因此如果您將 10 GB 驅動器映像到 20 GB 驅動器,它會映像驅動器,然後自動調整其大小,並在必要時修復分區表。
dd
由於這個原因,顯然不是一個選項,它複製驅動器的每個扇區並且它沒有動態調整大小的能力,所以如果由於某種原因目標驅動器比源驅動器小 1 個字節,它將失敗。partimage
有類似的問題。CloneZilla 是我見過的唯一一款強大到足以執行此類操作的 Linux 工具,但它顯然是自己的發行版,無法集成到 Linux 發行版中。由於 CloneZilla 只是一個低級工具的集合,有人知道它實際上是如何複製硬碟的嗎?
做這樣的事情的最好方法是什麼?多年來我一直在尋找答案,但仍未找到可靠的解決方案。“直到今天,我們還在使用一個古老版本的 Ghost,因為它可以完美地成像我們需要的任何東西,但我們希望擺脫專有工具和 DOS,轉向開源解決方案。
FSArchiver ( http://www.fsarchiver.org/Main_Page ) 可以滿足您的需求。磁碟映像僅包括數據,不包括可用空間,並且可以恢復到不同大小的磁碟。
雖然這可能不完全適合您的需求,但它確實比 dd 更能滿足您的需求。
該程序是
ddrescue
,並且是一個 GNU 實用程序。在大多數係統上,包被命名為gddrescue
,但在 Gentoo 上,例如,它被簡單地命名為ddrescue
。它有錯誤控制——如果你遇到錯誤,它會繼續執行,但你也可以讓它在 X 錯誤或 X 錯誤率(使用 -e 和 -E 標誌)後停止。您可以使用 -S 標誌將圖像儲存在稀疏文件中,這將僅使用元數據分配可用空間;基本上,圖像中的可用空間將佔用可忽略不計的空間,儘管當您這樣做時文件本身會報告正確的大小ls -hs
。您可以讓它寫入日誌文件,這是推薦的。不幸的是,它不能動態調整大小;也就是說,它不能增長或縮小以填充驅動器。但它只做一件事,而且做得很好。對於調整大小,我建議使用 恢復圖像
ddrescue
,然後使用 調整驅動器大小(如果您覺得舒服,GParted
也可以用於調整大小)。parted
有關更多資訊,我建議閱讀ddrescue 首頁和手冊頁
ddrescue
。