Rechercher dans ce blog

samedi 15 novembre 2014

VirutalBox resize virtual hard disk

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

Thanks to perryg the autor of the post


First resizing does not work if the guest has snapshots (prior to version 4.3.*) nor will it work on Fixed drives.
Secondly when doing anything that could prove as destructive as this should you make a mistake, backup the *.vdi file before you start.

Increasing the drive does not increase the primary partition so this is a two step process.

Step 1: Increase the size of the drive.

Use the following command to increase the size of the drive:
CODE: SELECT ALL   EXPAND VIEW
VBoxManage modifyhd <absolute path to file> --resize <size in MB>

Example: I have a 10GB drive that I want to be 20GB the command would be.
CODE: SELECT ALL   EXPAND VIEW
VBoxManage modifyhd <absolute path including the name and extension> --resize 20480

Step 2: Extend the primary partition to include the new drive space.
Download the Gparted live cd or what ever partition manager program you wish and mount it to the guests virtual CD and boot the guest.
From here you can expand the primary partition to use the new space.
Windows Vista and newer guests can use the Disk Management to expand the primary partition.

You can download the Gparted Live CD from HERE.
If you have issues where Gparted fails, try with Parted Magic HERE
Additional note about parted magic. It is no longer free to download (at least from the source).

Note 1: The only step that VirtualBox is concerned with is step 1. After that you need to seek additional information on the partition manager you wish to use from the vendor of the partition manager.

Note 2: You can not shrink a guest drive with VirtualBox due to the inherent danger of loosing data or making the guest non-bootable.

Note 3: In 4.3.0 the devs fixed a bug which had previously made it impossible to resize a snapshot. Since then it is possible, but not recommended for non-experts.

What if I used Fixed Disks or Snapshots, or VMDK?

As the advice above states, resizing of fixed VDIs or VHDs is not directly supported, nor is resizing of formats other than VHD/VDI, nor can you easily resize disks which are part of a snapshot chain.

However, all of these problems are easily addressed if you clone the disk to a supported format first, using :-
(fields in brackets are placeholders which should be replaced with actual filenames, the brackets are not literal)

CODE: SELECT ALL   EXPAND VIEW
VBoxManage clonehd <infilename or UUID> <outfilename> --format VDI --variant Standard


You can then resize the resulting dynamic VDI using "VBoxManage modifyhd" as described in the previous message.

If a snapshot chain is involved then <infilename> should be the name of the latest snapshot VDI in the "Snapshots" subfolder. Do not make the rookie mistake of cloning the base VDI. In this case "clonehd" will create a merged clone and it's important that you not incorporate this back into a VM which is still expecting a chain of difference disk images. Either build a new VM around the clone, or delete all the snapshot markers from the original VM, then replace the disk file. If the VM did not use difference images (no immutable drive, linked clone or snapshot) then you can use the Storage settings panel to remove the old disk and replace with the new one.