我在使用 Windows Server 2012 和 VMWare ESXI 时遇到了一个令人沮丧的问题。
我正在运行 ESXI 版本 6.5(我知道是旧版本,但这不是问题所在),虚拟机运行的是 Windows Server 2012。在此虚拟机上,我将第二个磁盘(名为 windows2012-1.vmdk)连接到驱动器 A:,没有任何问题。我想重新安装 Windows Server 2012,因此我关闭了虚拟机,通过“操作”->“编辑设置”-> 删除了 windows2012-1.vmdk HDD,然后单击驱动器旁边的“x”。我没有选中“从数据存储中删除文件”框。然后,我在 40GB 驱动器上重新安装了 Windows Server 2012,作为全新安装,而不是升级。完成此操作后,我返回“编辑设置”以重新添加 windows2012-1.vmdk 文件,它似乎已通过 ESXI 成功添加,但磁盘未显示在操作系统中。
磁盘管理未显示除 40GB OS 磁盘之外的任何磁盘,重新扫描未显示新驱动器。但是,该驱动器在设备管理器中显示为“VMware 虚拟磁盘 SCSI 磁盘设备”,与 40GB 的驱动器相同。卸载/重新安装驱动程序不起作用,更新驱动程序也不起作用。windows2012-1.vmdk 似乎也在 BIOS 中被识别(尽管它上面没有操作系统,所以我无法从它启动)。
限制:windows2012-1.vmdk 文件为 5TB,而我一个月内没有任何外部硬盘可以将其导出。我已备份重要文件(5TB 中的约 1TB),但没有备份其他约 3.5TB。
对于为什么会发生这种情况有什么想法吗?
答案1
您可以尝试将 VMDK 附加到其他 VM(可能是 Windows Server 2019 或任何 Linux VM),然后尝试在其中安装 VMDK。或者,有多种选项可以获取 VMDK 的内容。可能会有所帮助:https://www.vmwareblog.org/4-ways-extract-content-vmdk-vm-totally-dead/
答案2
我永远不会使用 UI 来执行这种任务。UI 是一个抽象层,任何由一些小误解或 UI 中的一些功能更改/改进引起的错误假设都可能导致数据丢失。
您描述的操作类型应该从 ESXi shell 执行。这样,您就能看到正在运行的文件,并且可以直接控制配置文件。
所有虚拟磁盘都附加到虚拟机的 .vmx 文件中。您可以使用 vi 编辑它并查看其中的所有磁盘。这个小命令将向您显示 .vmx 文件中与以下内容相对应的行虚拟机镜像文件磁盘。
cat /path/to/VM.vmx | grep ".vmdk"
您可以轻松地从 .vmx 文件交换、添加或删除虚拟磁盘,并保证在那里编辑的任何内容都是直接的,并且不需要对 UI 功能有任何假设或了解。我想说,主要操作应始终使用主要工具执行,这样您就可以消除不确定性。
(*)不要忘记,除了-flat.vmdk文件名,根据你正在做的事情,你可能需要编辑虚拟机镜像文件描述符文件(文本文件),指向相应的-flat.vmdk文件。如果您只是交换磁盘,则可以从中抽象出来。
这就是说:
包含有效 NTFS 文件系统的 .vmdk 磁盘应该能够被 Windows 服务器客户机识别。您所描述的内容似乎表明 -flat.vmdk 磁盘中的 FS 存在一些问题。
关于将数据移出主机。我们提供免费ESXi 备份和复制即使在未经许可的 ESXi 版本中也可以运行的工具。