resizevirtualboxvdi

Why is fdisk -l showing different results for the same vdi virtual drive when different virtual machines are used in VirtualBox


VirtualBox (Version 5.2.24 r128163 (Qt5.6.2)) user with xubuntu guest (Ubuntu 18.04.2 LTS) and Windows 10 host here.

I recently tried to resize my vdi from ~100GB to 200GB. In windows I used the command:

./VBoxManage modifyhd "D:\xub2\xub2.vdi" --resize 200000

That went fine. Then I used a gparted live cd to create a vm, attached the vdi and resize the partitions:

gparted gui

All looks good. If I then use the 'fdisk -l' command whilst in the gparted vm the increased partition sizes are visible as expected.

fdisk -l results for vdi attached to gparted vm

If I try and resize the file system for one of the newly resized logical drives with 'resize2fs /dev/sda5' I am told it is already 46265856 blocks long and there is nothing to do.

However....

If I then re-attach this vdi to an ubuntu vm and boot up with the vdi, the 'fdisk -l' command gives different results and is basically telling me that the drive is still 100GB in size.

fdisk -l results for the same vdi attached to ubuntu vm

The 'df' command confirms that it is not resized.

df command output with same vdi attached to ubuntu vm

If I try the command 'resize2fs /dev/sda5' I get the result:

The filesystem is already 22003712 (4k) blocks long.  Nothing to do!

How can I fix this and make the ubuntu vm see that the disk and partitions have been increase in size?


Solution

  • Ok. I will answer my own question (thank you for the negative vote anonymous internet).

    This issue occurs when you have existing snapshots of the drive that you are trying to expand associated with a VirtualBox VM.

    I found this described in VirtualBox's documentation.

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

    One suggested solution is to delete the snapshots, however I got an error message when I attempted that.

    The solution that worked for me was to clone my VM. The cloned VM (which did not have any snapshots associated with it), behaved as expected and showed the correct size for the resized disk.

    To be clear: the situation I described above is 100% true.

    Hope that helps someone.