无法从本地 NTFS 磁盘复制大型 VirtualBox 映像

无法从本地 NTFS 磁盘复制大型 VirtualBox 映像

我有一个很大的(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 23Data 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:“从之内“。

我在虚拟机 () 中添加了第二个虚拟磁盘sdb,还附加了一个可启动的 Linux ISO。在启动的 Linux ISO 中,我可以执行dd镜像sdasdb。但是,这会导致错误。dd失败后,我又回到了ddrescue,它复制了尽可能多的内容(同时玩dd,这也是第一次视窗出现磁盘损坏的迹象——也显示):

在此处输入图片描述

我可以将 20 GB 的映像备份到外部驱动器。我从虚拟机中sdb删除了损坏的虚拟硬盘和 ISO,并从备份启动到新系统。到目前为止,看起来没有发生数据损坏,至少在系统库或主目录中没有发生。sdasdb

还要特别感谢@Silbee 和@harrymc。我将接受我自己的答案来显示具体的解决方案。

答案4

该文件可能看起来像 15 GB,但如果它很稀疏(vm-ware 会这样做,如果您在创建磁盘期间选择它),它可能会在复制过程中扩展到其完整大小。

如果它是一个几乎空的 100gb 稀疏磁盘,如果插入所有这些零,它将无法放入 64gb 的 USB 驱动器

相关内容