VMware Communities
helmers
Contributor
Contributor
Jump to solution

Insufficient space in a virtual hard disk of type 'growable' -- how to expand?

My system
  • VMWare Fusion 2.0.4

  • Virtual machine with Ubuntu 9.04 Desktop

Situation

My vm has one virtual disk of type growable.The size of the *.vmdk file on the file system is around 4.7 GB. In the vm I'm trying to install Oracle Database. Oracle requires 1.5GB of free space on the hard disk. When I try to install Oracle, it complains that there's insufficient disk space. True, "df -h" on the Ubuntu vm tells me:

  • /dev/sda1 6.6G 5.3G 986M 85% /

So I have to expand my virtual disk size. I tried it using vmware-vdiskmanager:

  • $ vmware-vdiskmanager -x 8GB Ubuntu-9_04-Desktop.vmdk

This should add at least a few GB to my disk.

Problem

However when vmware-vdiskmanager has finished expanding, and I restart my vm, "df -h" still tells me exactly the same thing:

  • /dev/sda1 6.6G 5.3G 986M 85% /

So the expansion has had not effect on the available space inside my vm. I tried to expand from the panel; same effect... Since Oracle won't install if there's not at least 1.5GB available, I'm stuck.

Questions
  1. What's should be the effect of expanding a virtual disk of type 'growable'?

  2. When I look in my vm's I see that my growable disk has a size of 8G, but the size of the *.vmdk file is only 4.7GB, and the same value is shown when I lookup the disk size inside my virtual machine. So what exactly does it mean that VMWare tells me that my growable disk has size 8GB? Is this an upper limit or something? (Some extra info that might be related to my problem: this disk was converted a while ago from a preallocated disk to a growable disk).

  3. Most important question: How can I increase the available disk space of 986M inside my virtual hard disk to something larger than 1.5GB? I assume this can be achieved by converting my hard disk to type 'preallocated' but I don't really want to do this because after the installation a lot of space will free up again inside the vm, and I don't want to convert it back to 'growable' to be able to shrink it again...

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
WoodyZ
Immortal
Immortal
Jump to solution

I guess I'll have to find out how to allocate the new space on my expanded virtual disk to the partition under Ubuntu...

You can use GParted Live as mentioned in although if using Fusion 2.x you will need to modify (manually edit) the target Virtual Machine's .vmx configuration file by making sure the following parameters and values exist in order for the mouse to work properly while booting from GParted Live under Fusion 2.x.

usb:0.deviceType = "mouse"
usb:0.present = "FALSE"
mouse.vusb.enable = "FALSE"

Information of the location of the .vmx configuration file can be found in and or .

View solution in original post

0 Kudos
4 Replies
WoodyZ
Immortal
Immortal
Jump to solution

Have a look at:

helmers
Contributor
Contributor
Jump to solution

Thanks for the pointer. That clarified a lot.

I misinterpreted the concept of a 'growable' virtual disk. Apparently the size of the *.vmdk file on the host system is no larger than necessary and 'grows', but it has no effect on the available disk space inside the virtual machine (which is always equal to the max. virtual disk size).

I guess I'll have to find out how to allocate the new space on my expanded virtual disk to the partition under Ubuntu...

0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

I guess I'll have to find out how to allocate the new space on my expanded virtual disk to the partition under Ubuntu...

You can use GParted Live as mentioned in although if using Fusion 2.x you will need to modify (manually edit) the target Virtual Machine's .vmx configuration file by making sure the following parameters and values exist in order for the mouse to work properly while booting from GParted Live under Fusion 2.x.

usb:0.deviceType = "mouse"
usb:0.present = "FALSE"
mouse.vusb.enable = "FALSE"

Information of the location of the .vmx configuration file can be found in and or .

0 Kudos
helmers
Contributor
Contributor
Jump to solution

Thanks again Woody.

For those interested in my solution: I used GParted but did it slightly differently from . Instead of changing the BIOS of my existing VM and booting with the GParted live CD from there, I created a new GParted VM and attached the disk to that new VM. Also, in my case it was not necessary to make changes to the *.vmx file. This is what I did:

(A) Creating a GParted LiveCD Virtual Machine

Note that once you have created this virtual machine, you can use it whenever you want to repartition a hard disk, simply by temporarilly attaching the hard disk to this vm (see next section). So there's no need to mess around in the BIOS of your existing VMs.

Step 1: Download GParted Live CD

Download the gparted liveCD (gparted-live-*.iso) from http://gparted.sourceforge.net.

Step 2: Create GParted VM

Create a new vm using the GParted LiveCD image file:

  • Start VMWare Fusion, click 'New'.

  • Click “continue without disk”

  • Choose “use operating system installation disk image file”

      • select the gparted-live-*.iso image file

  • Choose “use operating system” = “other” and “version” = “other”

(B) Repartitioning a virtual hard disk

Step 1: Attach Virtual Hard Disk to the GParted VM

Add the to-be-partitioned hd to the GParted vm:

  1. Open the settings of the GParted vm

  2. Go to “Hard disks”

  3. Add a new hard disk using the button

  4. Choose “File name” = “Choose existing disk”

  5. Choose the virtual hd you want to repartition

    • Make sure you do not check “Copy”

(Note that the hd is now attached to the original VM as well as to the GParted VM.)

Step 2: Repartition

  • Start the GParted vm.

  • Open the gparted tool and do your work.

  • Shutdown the GParted vm.

Step 3: Remove Virtual Hard Disk from GPartedVM

Remove the repartitioned hd from the GParted vm (in Settings > Hard Disks).

(You can safely do this; VMWare will not physically remove the disk from the file system, so it will still be available to the virtual machine that was originally using the hd.)

0 Kudos