I have a VMware virtual machine that I made quite large. I am not really using most of it, so I would like to reduce it by 50% or so.
Is there a tool to do this?
I have a VMware virtual machine that I made quite large. I am not really using most of it, so I would like to reduce it by 50% or so.
Is there a tool to do this?
Method 1: Using VMWare Converter:
Some say that the expand process is slow and that VMWare Tools might need to be reinstalled.
Method 2: Using the VDiskManager:
vmware-vdiskmanager -x 12GB "My harddisk.vmdk"
Note: Because this only expands the disk and not the partition, you'll need to resize the partition table as well. This can be done by 3rd party tools like 'Partition Magic', but also with 'diskpart.exe', a tool of Windows. In my case, this disk is bootable, meaning that I can't run diskpart on the virtual machine itself. I used another virtual machine, running Windows XP. It also works with the Windows 7 beta 1, but it fails with Windows Server 2003.
Add the increased hard disk to a second virtual machine;
Power on this 2nd virtual machine;
Open a Command Prompt and type:
diskpart
Type:
list volume
Remember the volume number (#) of your volume!
Type:
select volume <volume number>
(the number from step 8)
Type:
extend
Turn off this 2nd virtual machine and remove the hard disk from the virtual machine configuration. This won't delete the hard disk from disk;
Finished! (Windows automatically recognizes the new and correct disk and volume size)
Thanks for Leon Meijer.
Before you begin, create a backup copy of the virtual disk so that you can restore it in case of failures. Extending a virtual disk can be a complex operations for several reasons, e.g.,:
1) The virtual disk that is full happens to contain the boot/primary partition for Windows
2) There are snapshots
3) There is insufficient disk space available on the physical drive to permit growth
4) It is a multi step process and involves use of different tools and commands in a specific sequence. Creative individuals have devised workarounds to extend the primary partition for Windows by using Linux boot disks and disk partitioning tools such as GParted, and you have to get this right.
You’ll find several posts regarding this topic on Google. Essentially, they are all variations of the posts summarized in
http://blog.sharevm.com/2010/01/11/survey-extend-expand-vmware-virtual-disk/
There is an easy way! You should download and try fatVM http://www.gudgud.com/fatvm
fatVM is a reliable, robust, and safe, 1-click solution for extending the C drive of your VMware Fusion or Workstation virtual disk that is becoming full. a) It provides a simple, intuitive, interface and a reliable process that hides the technical complexity of extending a virtual disk. b) It is robust because it can extend virtual disks having snapshots and clones. c) It is safe because it preserves your original disk, which remains available to you for when the need ever arises.
As of the latest version of VMWare Workstations and Player (VMWare 7), you can resize disks from within the application.
You have to access the settings menu of the Virtual Machine, select the drive and click "Utilities". There you can choose to expand or to compact it.
A note: apparently you can't expand the disk if you have snapshots made to it. You'll have to delete them and retry before compacting it.
I believe you can only resize the disk with VMWare Converter if the VM is running Windows. Maybe it works with Linux if you have VMWare tools installed.
If you are running a version of VMWare which supports thin provisioned disks then the VMDK size can be smaller than what the OS sees and the VMDK grows as you use more space in the VM. If your machine has a disk like this then all you have to do is start the shrink process. You start the shrink process inside the machine with a command (Linux) or in VMWare tools (Windows). It then moves the data to the beginning of the disk like some defrag apps do. After doing that it starts a process in VMWare to resize the VMDK file.
I'm using ESXi 3.5 which does not support thin-provisioned disks. What I have been doing recently is as follows: 1. Create a disk of the desired size in the VM. 2. Boot an Ubuntu CD. Could also be the gparted Live CD or any other partition boot CD. 3. Use gparted or partition app to resize the partition down and copy the partition to the small drive. 4. Remove the old disk from your VM. 5. Boot the install disc for the operating system and repair the MBR. 6. Delete the old disk VMDK file.