我有一個大型(15.7 GB)VM 映像,我想從筆記型電腦備份該映像。
它駐留在 NTFS 分割區上(Windows 7;64 位元)。
當我嘗試使用“Windows 資源管理器”複製檔案時,它總是卡在 4 GB。該文件未被使用。如果我了解 FAT16 / NTFS 的限制,則 4 GB 限制不適用。錯誤訊息是:
「無法從來源檔案或磁碟讀取」。
將其複製到哪裡並不重要,例如網路磁碟機、外部 NTFS 磁碟機。我還嘗試使用 7zip 來分割檔案(zip;零壓縮)。 7zip 錯誤並顯示「資料錯誤(循環冗餘檢查)」。然後我嘗試了robocopy <source folder> <destination folder>
;robocopy
報告ERROR 23
和Data error (cyclic redundancy check)
。複製到 sftp 伺服器也出現錯誤。
但奇怪的是,該文件並沒有損壞。 VirtualBox 映像檔載入良好,我可以對其執行所有名義操作。
您能給我一些關於接下來要嘗試什麼的提示嗎?我對 Linux 更熟悉,我想嘗試原始副本(在 Linux 上:)dd
,但我不知道如何在 Windows 中執行此操作。另請注意,我不是這台電腦的管理員(但我可以通過一些麻煩來要求它)。我也無法將驅動器安裝在另一個系統上。不幸的是,我的內部管理員沒有太多創造力...
有什麼幫助?檔案系統檢查(不知道如何強制它)?網路上好像有「原始複製」工具?有什麼指令可以嘗試嗎?
答案1
有問題的文件可能有一個通常不使用的壞扇區,因此只有在複製所有扇區時才會發現。
您可以透過查詢其 SMART 屬性來尋找有關磁碟狀態的信息,例如使用 斯佩西。您也可以查閱事件檢視器以取得有關磁碟的訊息。
如果發現壞磁區,您可以丟棄或重新建立虛擬機,或從備份複製它。
否則,您將需要使用產品來恢復磁碟。或者您可以使用不可阻擋的影印機產品,它只會忽略壞扇區,但最終您將獲得損壞的虛擬機器。
答案2
我對來源和目標的分區格式有點困惑:
- NTFS(在 Windows 7 上)支援的最大檔案大小為16TB
- FAT16支援最大檔案大小4GB
如果您嘗試將 16GB 檔案從 Windows 7 NTFS 分割區複製到 FAT16 分割區,它將無法運作(無論 USB、SCP 或網路磁碟機等複製機制為何),並且會在 4GB 標記處失敗,因為這是FAT16 允許的最大檔案大小。
我建議重新檢查您嘗試複製到的目標的分割格式和最大檔案大小。
答案3
非常感謝@all 的幫助和熱情。看到一個人能在這裡獲得多少幫助總是令人振奮的。
故事的結局:
在遵循以下建議匯出 VM 後,壞塊理論引起了我的注意。有趣的是,壞區塊並沒有影響虛擬機器來賓的操作,因為它可能位於未使用的來賓磁碟空間中。這也可能與以下事實有關:VM 磁碟被創建為「可增長」至最大 20 GB,但它尚未使用那麼多空間。
由於缺少管理員權限,我無法掛載整個主機磁碟,也無法安裝勢不可擋的影印機。然而,決定性的提示來自@criggie:「從以下位置備份虛擬機器:之內」。
我為 VM 新增了第二個虛擬磁碟 ( sdb
),並附加了可啟動的 Linux ISO。從啟動的 Linux ISO 中,我可以執行dd
鏡像sda
到sdb
.然而,它導致了錯誤。當dd
失敗時,我求助於ddrescue
,它盡可能多地複製(在玩 時dd
,第一次也複製了視窗出現磁碟損壞的指示 - 也顯示):
我可以將 20 GB 的映像備份sdb
到外部磁碟機。我從虛擬機器中刪除了損壞的虛擬硬碟sda
和 ISO,並從備份啟動到新系統sdb
。到目前為止,看起來沒有發生資料損壞,至少在系統庫或主目錄中沒有發生。
也要特別感謝@Silbee 和@harrymc。我會接受我自己的答案以顯示具體的解決方案。
答案4
該檔案可能看起來有 15 GB,但如果它很稀疏(vm-ware 會這樣做,如果您在磁碟建立過程中選擇它),則它可能會在複製過程中擴展到其完整大小。
如果它是一個幾乎空的 100GB 稀疏磁碟,並且插入所有這些零,則它無法安裝在 64GB USB 記憶棒上