我有一个 VMware 虚拟机,我把它弄得很大。我其实并没有用到它的大部分空间,所以我想把它缩小 50% 左右。
有工具可以做到这一点吗?
答案1
方法 1:使用 VMWare Converter:
- 关闭虚拟机;
- 启动 VMWare Converter 应用程序;
- 打开向导;
- 选择‘独立虚拟机’作为源和目标系统;
- 选择“选择卷并调整大小以节省或添加空间”;
- 输入新的尺寸,然后就完成了!
有人说扩展过程很慢,可能需要重新安装 VMWare Tools。
方法 2:使用 VDiskManager:
- 关闭虚拟机;
- 首先提交/删除所有快照!(我忘了提到这一点,谢谢 JimO)
- 打开命令提示符并转到:C:\Program Files\VMWare\VMWare Server 或 C:\Program Files\VMware\VMware Workstation
- 运行此命令来扩展虚拟磁盘:
vmware-vdiskmanager -x 12GB "My harddisk.vmdk"
注意:由于这只会扩展磁盘而不是分区,因此您还需要调整分区表的大小。这可以通过第三方工具(如“Partition Magic”)来完成,也可以使用 Windows 工具“diskpart.exe”来完成。就我而言,此磁盘是可启动的,这意味着我无法在虚拟机本身上运行 diskpart。我使用了另一台运行 Windows XP 的虚拟机。它也适用于 Windows 7 beta 1,但无法适用于 Windows Server 2003。
将增加的硬盘添加到第二台虚拟机;
启动第二台虚拟机;
打开命令提示符并输入:
diskpart
类型:
list volume
记住您的卷的卷号(#)!类型:(
select volume <volume number>
步骤 8 中的数字)类型:
extend
关闭第二个虚拟机并从虚拟机配置中删除硬盘。这不会从磁盘中删除硬盘;
完成!(Windows 自动识别新的、正确的磁盘和卷大小)
感谢 Leon Meijer。
答案2
从最新版本的 VMWare Workstations 和 Player(VMWare 7)开始,您可以在应用程序内部调整磁盘大小。
您必须进入虚拟机的设置菜单,选择驱动器并单击“实用程序”。在那里您可以选择扩展或压缩它。
注意:如果磁盘上有快照,则显然无法扩展磁盘。您必须先删除它们,然后重试,然后才能压缩它。
答案3
开始之前,请创建虚拟磁盘的备份副本,以便在发生故障时可以恢复它。扩展虚拟磁盘可能是一项复杂的操作,原因如下:
1)已满的虚拟磁盘恰好包含 Windows 的启动/主分区
2)有快照
3) 物理驱动器上没有足够的可用磁盘空间来支持增长
4) 这是一个多步骤的过程,需要按照特定顺序使用不同的工具和命令。富有创意的个人已经设计出解决方法,通过使用 Linux 启动盘和磁盘分区工具(如 GParted)来扩展 Windows 的主分区,您必须正确完成此操作。
您会在 Google 上找到有关此主题的几篇文章。本质上,它们都是以下文章的变体:
http://blog.sharevm.com/2010/01/11/survey-extend-expand-vmware-virtual-disk/
答案4
我相信,如果虚拟机运行的是 Windows,则只能使用 VMWare Converter 调整磁盘大小。如果安装了 VMWare 工具,则它可能适用于 Linux。
如果您运行的是支持精简配置磁盘的 VMWare 版本,则 VMDK 大小可能小于操作系统所看到的大小,并且 VMDK 会随着您在 VM 中使用更多空间而增大。如果您的计算机有这样的磁盘,那么您所要做的就是启动缩减过程。您可以使用命令 (Linux) 或 VMWare 工具 (Windows) 在计算机内部启动缩减过程。然后,它会像某些碎片整理应用程序一样将数据移动到磁盘的开头。完成此操作后,它会在 VMWare 中启动一个过程来调整 VMDK 文件的大小。
我使用的是 ESXi 3.5,它不支持精简配置磁盘。我最近一直在做的事情如下:1. 在虚拟机中创建所需大小的磁盘。2. 启动 Ubuntu CD。也可以是 gparted Live CD 或任何其他分区启动 CD。3. 使用 gparted 或分区应用程序调整分区大小并将分区复制到小驱动器。4. 从虚拟机中删除旧磁盘。5. 启动操作系统的安装光盘并修复 MBR。6. 删除旧磁盘 VMDK 文件。