Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am running Ubuntu as a guest on an iMac with VirtualBox version 4.1.8.

What is the easiest way to resize the virtual drive?

Please provide as much detail as possible including the correct format for any commands.

share|improve this question
    
I would do it piping tar -cf across disks, but I'm sure there's a better way to do it. –  hbdgaf Feb 5 '12 at 21:42
    
I had the same question, running Ubuntu as a guest on a Windows 7 host. @Joni's answer was a great help, with the addition of askubuntu.com/questions/154921/… to get the swap working again. –  Luke Mills Oct 22 '12 at 11:02

3 Answers 3

This answer is directed at a Windows host, but if you use bash in place of the PowerShell and replace '\' with '/' it should work just fine.

Enlarge virtual drive

  1. From VirtualBox
    1. Release the VDI file: File -> Virtual Media Manager -> Select VDI -> Release
    2. Copy the location of the VDI inside the properties box 'C:\Users\campbell\VirtualBox VMs\Ubuntu14\Ubuntu14.vdi'
    3. Backup the VDI file
    4. Copy the VDI file
    5. Give it a new uuid '.\VBoxManage internalcommands sethduuid 'C:\Users\campbell\VirtualBox VMs\Ubuntu14\Ubuntu14.vdi'
  2. From host
    1. Work out desired size: you can google it, eg. '40 Gb=MB' returns 40000 MB
    2. Start PowerShell (not as administrator)
    3. Change to your Oracle VirtualBox directory cd C:\Program Files\Oracle\VirtualBox
    4. Resize your .vdi file .\VBoxManage modifyhd 'C:\Users\campbell\VirtualBox VMs\Ubuntu14\Ubuntu14.vdi' --resize 40000
    5. Now start your virtual machine. You will receive the same warning about space that prompted you to engage in this procedure. Not to worry, we are near the end.
  3. On your virtual machine
    1. Start the partition manager gparted (install it if is is missing sudo apt-get install gparted)
    2. Get rid of the swap partition, which prevents you from expanding the root partition. Note that you cannot harm the rest of your machine - this is all happening inside a single file. Worst case scenario you trash this file and you have to use your backup instead.
    3. Make a note of the size of the linux-swap partition 4 GiB in my case
    4. Right click on it and Swapoff
    5. Right click on it and Delete
    6. Apply by clicking on the checkmark (Apply all operations). Ignore the dire warning - life is too short to indulge Cassandras
    7. right click on the extended file system that once housed the swap partition (/dev/sda2 in all likelihood) and delete it
    8. right click on the root partition (/dev/sda1) and resize it. Tab to the 'Free space following' field and enter the size of the swap partition. Shift-Tab and the machine will work out the new size for you automatically.
    9. Right click in the unallocated space at the end and make it an extended partition
    10. Right click in the new partition and select linux-swap in the File system field.
    11. Commit your changes as before
    12. Right click on your swap partition and select swapon
    13. Tell the Fat Lady to commence singing.

References:

  1. https://tinyapps.org/blog/misc/201204120700_virtualbox_increase_disk_space.html
  2. Resize Ubuntu 10.04 VirtualBox VM virtual disk
share|improve this answer

This link helped me with my 'fixed' image issues:

https://forums.virtualbox.org/viewtopic.php?f=35&t=50661

share|improve this answer

If you are making the disk bigger, you would

  1. first enlarge the disk from VirtualBox, and then
  2. enlarge the partition, and
  3. the filesystem it contains.

To enlarge a disk you can use the VBoxManage modifyhd command. Suppose you want to resize the disk to 20,000 megabytes (~20GB). First locate the disk file that you want to expand. Then, in terminal, give this command to resize the disk:

VBoxManage modifyhd "path-of-disk-file" --resize 20000

To enlarge the partition and file system, probably it's easiest to boot the virtual machine using a Ubuntu livecd and do the job with GParted, as it does both at the same time and gives you a graphical user interface for it.

Attach a livecd ISO image to the virtual machine and change the boot order to first boot from CD. If you don't have a Ubuntu livecd at hand you can use any livecd that comes with the appropriate tools. SliTAZ for example is only 35MB to download. Open GParted and choose the disk you want to resize. Then right-click on the partition that you want to expand and choose the option "resize-move." In the dialog box that opens, in the graphic that represents the partition, drag the triangle at the end of the partition all the way to the right to maximize it. Then close the dialog and choose "Apply" on the toolbar. Since no data has to be moved this should be a quick operation.

When done, don't forget to detach the livecd from the virtual machine and change the boot order.

You'll find a pretty good tutorial of the whole process with screenshots included here: http://trivialproof.blogspot.com/2011/01/resizing-virtualbox-virtual-hard-disk.html

share|improve this answer
1  
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. While some info is given here, a bit more info would be good, in case the blog you linked to is down. –  hexafraction Jul 18 '12 at 17:55
    
What information would you add? –  Joni Jul 19 '12 at 13:20
1  
I recommend the main steps from the instructions so that if the blog were taken down, anyone viewing this answer would be able to fix their issue. This helps avoid linkrot –  hexafraction Jul 19 '12 at 13:21
    
@ObsessiveFOSS Better now? –  Joni Jul 22 '12 at 12:50
    
+1 It looks much better now. –  hexafraction Jul 22 '12 at 17:13

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.