如何在VMware中的预分配磁盘和可增长磁盘之间转换

时间:2020-01-09 10:46:10  来源:igfitidea点击:

VMware通常会创建可增长的磁盘,该磁盘从很小的磁盘开始,并在添加数据时随时间增长。但是,我们也可以创建以最大大小开始的预分配磁盘。如果以后要压缩磁盘,则需要将其从预分配的磁盘转换为可增长的磁盘。或者,我们可能希望将磁盘从可增长磁盘转换为预分配磁盘,以实现最佳性能。

相关:初学者极客:如何创建和使用虚拟机

我们只能在VMware Fusion或者VMware Workstation中执行此操作。 VMware Player不包括必要的命令。 VMware Player始终会创建可扩展的磁盘,这些磁盘会随着时间的推移而扩展,并且如果不使用其他VMware产品,则无法转换为预分配的磁盘。

VMware Fusion

在Mac上的VMware Fusion中,这非常简单。 VMware Fusion始终将新的虚拟磁盘创建为可增长磁盘。之后,我们可以将它们转换为顶部重新分配的磁盘,或者如果先前已将它们转换为预分配的磁盘,则可以将它们转换回可增长的磁盘。

为此,请先关闭虚拟机。如果电源打开或者挂起,则无法转换其磁盘。

在VMware Fusion主窗口中选择虚拟机,然后单击虚拟机>设置。

单击"设置"窗口中"可移动设备"下的"硬盘"选项。

相关:停止在PC上测试软件:改用虚拟机快照

如果我们看到一条消息,说我们在虚拟机具有快照时无法进行这些更改,则首先需要删除为虚拟机创建的所有快照。当然,我们将无法在稍后的这些时间点将虚拟机还原到以前的状态。

要删除快照,请单击虚拟机>快照>快照。选择窗口中的每个快照,然后单击工具栏上的"删除"按钮以删除每个快照。

在"硬盘设置"窗口中,展开"高级选项"部分。选中"预分配磁盘空间"以将可增长磁盘转换为预分配磁盘,或者取消选中"预分配磁盘空间"以将预分配磁盘转换回可增长磁盘。单击"应用",然后应用更改。

VMware工作站

在VMWare工作站中,该过程稍微复杂一点,我们需要使用Command Prompt。此选项未在VMware Workstation的图形界面中公开,因此我们必须使用内置的vmware-vdiskmanager。命令。

第一步:删除所有快照

首先,在VMware Workstation中关闭虚拟机。通过单击VM>快照>快照,右键单击每个快照,然后选择删除,删除与虚拟机关联的所有快照。当然,删除快照后,我们将无法将虚拟机还原到以前的时间点。

第二步:查找vmware-vdiskmanagere.exe命令

接下来,找到" vmware-vdiskmanager.exe"命令。如果在Windows的默认目录中安装了VMware Workstation,则可以在" C:\ Program Files(x86)\ VMware \ VMware Workstation"或者" C:\ Program Files \ VMware \ VMware Workstation"中找到它。

从"开始"菜单中打开"命令提示符"窗口,然后切换到VMware目录。为此,请使用以下命令。如果系统上的文件夹路径不同,则用包含" vmware-vdiskmanager.exe"文件的VMware Workstation文件夹的正确路径替换文件夹路径。

cd "C:\Program Files (x86)\VMware\VMware Workstation"

注意:此处的说明假定我们使用Windows作为主机操作系统。在Linux上,我们只需打开终端窗口并运行vmware-vdiskmanager命令即可,就像运行其他命令一样。

第三步:查找虚拟磁盘文件

在磁盘上找到虚拟机的文件夹,并标识其.vmdk文件,该文件是虚拟机的虚拟磁盘。默认情况下,VMware在目录C:\ Users \ NAME \ Documents \ Virtual Machines \中创建虚拟机文件夹,其中NAME是Windows用户帐户的名称。

我们可能会看到多个.vmdk文件。那很正常查找主要的.vmdk文件,而不是所有以-f以及数字结尾的.vmdk文件。在下面的屏幕截图中,其名为Windows 7.vmdk。

如果不确定它其中:则可以在VMware Workstation窗口的底部查看虚拟机的文件夹路径。

第四步:转换虚拟磁盘

要将虚拟机从预先分配的虚拟磁盘转换为可拆分为2 GB文件的可增长虚拟磁盘,请运行以下命令。在与原始虚拟磁盘文件相同的文件夹中创建新的目标.vmdk文件是最容易的。

vmware-vdiskmanager.exe -r "c:\path\to\source.vmdk" -t 1 "c:\path\to\target.vmdk"

例如,如果原始.vmdk文件的路径为C:\ Users \ chris \ Documents \ Virtual Machines \ Windows 7 \ Windows 7.vmdk,则可以运行以下命令:

vmware-vdiskmanager.exe -r "C:\Users\chris\Documents\Virtual Machines\Windows 7\Windows 7.vmdk" -t 1 "C:\Users\chris\Documents\Virtual Machines\Windows 7\Windows 7-growable.vmdk"

要将虚拟机从可增长磁盘转换为分割为2 GB文件的预分配磁盘,请运行以下命令:

vmware-vdiskmanager.exe -r "c:\path\to\source.vmdk" -t 3 "c:\path\to\target.vmdk"

例如,如果原始.vmdk文件的路径为C:\ Users \ chris \ Documents \ Virtual Machines \ Windows 7 \ Windows 7.vmdk,则可以运行以下命令:

vmware-vdiskmanager.exe -r "C:\Users\chris\Documents\Virtual Machines\Windows 7\Windows 7.vmdk" -t 1 "C:\Users\chris\Documents\Virtual Machines\Windows 7\Windows 7-preallocated.vmdk"

第五步:删除(或者移动)原始磁盘文件

上面的命令只是在目标路径上创建虚拟磁盘的新副本。如果打开虚拟机的文件夹,则会看到既有原始磁盘又有新磁盘。在此示例中,我们同时具有Windows 7 [something] .vmdk文件和Windows 7-growable [something] .vmdk文件

现在,我们可以通过删除原始文件来摆脱原始磁盘。在这个例子中,我们将删除所有的Windows 7 [something] .vmdk文件,包括主要的Windows 7.vmdk文件。但是,我们只应删除或者移动以.vmdk结尾的文件。将其他文件放在此处。

我们可能希望将它们复制到另一个文件夹,而不是删除这些文件。这将为我们提供备份副本,以防万一出现问题。

第六步:将新虚拟磁盘移动到原始磁盘的位置

重命名新的主.vmdk文件,使其具有与原始虚拟磁盘相同的名称。在此示例中,我们将Windows 7-growable.vmdk重命名为Windows 7.vmdk,仅保留Windows 7-growable-s001.vmdk,Windows 7-growable-s002.vmdk和其他文件。

现在,我们可以正常启动虚拟机了。它会自动使用新的可增长或者预先分配的磁盘,因为它与使用的先前磁盘位于同一位置。该新的主.vmdk磁盘文件指向较小的.vmdk文件,即使它们具有不同的名称,因此所有内容都可以使用。