Linux, Virtual Machine

Resize VirtualBox Hard Disk (Ubuntu guest OS)

Written by Rodrigo Nascimento · 1 min read >

I was creating a new virtual machine to install the latest Oracle SOA Suite (11.1.1.4) and, during my biased next/next/finish routine, forgot to configure the hard disk size. After installing almost everything, I realised that the VM was running out of space.

Instead of installing everything again, I’ve asked my friend Google to help me. Among a diversity of creative, complex, weird and dodgy ideas I could compile the solution described below (which can also be creative, complex, weird or/and dodgy for you!).

The procedure described below was tested with Oracle VirtualBox 4.0.2 and Ubuntu 10.04, so I’m not sure if it will work with older versions.

Because Ubuntu default installation uses a single partition layout (so you cannot “unmount” the partition to be extended), you will need the Ubuntu Live CD (installation media or image) to do the trick.

Resize VirtualBox hard disk

The following steps describe how to resize VirtualBox hard disk with Ubuntu:

1. Extend the VM hard disk file using VBoxManage.exe

Go to the VM hard disk folder and use the VBoxManage.exe tool to extend the hard disk file. For example:

“C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd <strong>testvm.vdi</strong> --resize <strong>20480</strong>

2. Change the VM boot order

Go to the VM settings and set CD/DVD drive as the first device (make sure the CD/DVD drive for this VM is pointing to Ubuntu Live CD).

3. Choose the ‘Try Ubuntu’ and start the GParted tool

4. Remove swap partition (only if you have one)

The Ubuntu install wizard usually creates a swap partition and I couldn’t resize the main partition because the swap partition was in the middle (I am open for suggestions here!).

5. Resize partition

Right click on the partition that you want to extend and choose ‘Resize/Remove’ .

Choose the new size for your hard disk.

In this case I left 3Gb unallocated to be used by the swap partition

6. Create a swap partition

Create a extended partition with all the remaining space

Now create a logical partition and set ‘linux-swap’ as the file system.

Don’t forget to enable your swap partition by updating/adding the following line to the /etc/fstab file with the correct partition position. For example, if your swap partition position is /def/hda8:

/dev/hda8       none            swap    sw              0       0
Written by Rodrigo Nascimento
Rodrigo Nascimento is an experienced consultant with 30+ years of experience in IT. He has been working from the strategy definition down to the technical implementation, ensuring that deliverables can be traced to the promised business values. The combination of his passion for technology (which started when he was 10 years old with his first ZX Spectrum) and his strong academic business background (bachelor's degree in Marketing and MBA) have been used in many organisations to optimise the utilisation of IT resources and capabilities to leverage competitive advantage. Profile

12 Replies to “Resize VirtualBox Hard Disk (Ubuntu guest OS)”

  1. I had this exact problem as I ran outta disk space in my Ubuntu Virtualbox. Unfortunately, the swap partition was mounted even when booting from the “Live CD”. So, I downloaded the GParted iso image from http://sourceforge.net/projects/gparted/files/ and booted from that instead. Worked beatifully.
    Thanks Rodrigo

    TJ

  2. I just selected swapoff so I could resize the swap with the new unallocated space, then moved that space to the extended partition container and finally to the boot partition. No need to delete and recreate the swap, but same difference. Thanks for the tutorial. Worked like a charm.

  3. Wow. Thank you soooo much. This is exactly what I needed and it worked perfectly (resizing an Ubuntu 11.04 guest in a Windows Vista host).

  4. thanks a lot! That’s exactly what I needed!
    Was getting the android source code and quickly ran out of space =.=

  5. Great article, but I had to make 2 changes (I’m on Windows):

    1) 2 dashes for the “resize” option: –resize
    2) Expanding by 20480 gave me an error:

    0%…
    Progress state: VBOX_E_NOT_SUPPORTED
    VBoxManage.exe: error: Resize hard disk operation for this format is not implemented yet!

    I added an extra zero (204800) and it worked.

    Thanks.

  6. Thanks for this. Just curious about how big you made your new swap space. I see a lot of controversy over this.

Leave a Reply

Your email address will not be published. Required fields are marked *