Это можно сделать за 4 шага:
- Клонируйте свой VMDK в формат VDI с помощью VBoxManage Tool.
- Измените размер диска, чтобы освободить место с помощью VBoxManage Tool.
- Измените файловую систему, чтобы выделить свободное место для вашего диска с помощью GParted.
- Добавление созданного дискового пространства в файловую систему Linux.
Подробные шаги приведены ниже (проверено на «Виртуальной машине CentOS 6.4» и «VirtualBox 4.2.18»);
Соблюдайте формат диска для файла virtualbox, если он не * .vdi, преобразуйте формат диска из * .wmdk в * .vdi. Открыть терминал Windows:
$ VBoxManage clonehd --format VDI "path_of_wmdk_file" "path_of_vdi_file"
Изменение размера диска vdi. Откройте окно терминала. Например сделать диск размером ~ 500 ГБ => 512000;
$ VBoxManage modifymedium "path_of_vdi_file" --resize 512000
Выберите файл * .vdi вместо файла * .wmdk в качестве диска
Virtual Machine -> Settings -> Storage -> Controller : SATA (Right Click on *.wmdk file) -> Remove Attachment -> Add HardDisk and choose newly created *.vdi file
Загрузите файл "gparted-live-x.xx.x-x-ixxx.iso" из http://gparted.sourceforge.net/download.php. Смонтируйте этот iso-файл как CD.
Virtual Machine -> Settings -> Storage -> Controller IDE (Right Click) -> Add CD/DVD -> Select gparted-live-x.xx.x-x-ixxx.iso file
Запустите виртуальную машину, виртуальная машина загрузится с этого компакт-диска. Выбирайте значения по умолчанию, нажимая «Enter», «Enter» ... пока Gpart ISO GUI не запустится. Выберите программу gpart и запустите.
Увеличьте размер диска, как показано ниже;
- Щелкните правой кнопкой мыши по разделам и, если возможно, нажмите «Отключить активный раздел».
- Расширьте раздел как можно больше из GUI (для этого случая 500 ГБ).
- Щелкните правой кнопкой мыши по разделу, который отключен, и выберите «Включить активный раздел».
- Подать заявку и подождать до завершения операции.
- Завершить работу виртуальной машины.
- Размонтировать gparted-live-x.xx.x-x-ixxx.iso.
Virtual Machine -> Settings -> Storage-> Controller IDE (Right Click on gparted-live-x.xx.x-x-ixxx.iso) -> Remove Attachement
- Запустите виртуальную машину.
Откройте терминал Linux и войдите в систему как root. Запустите команды ниже;
lvm vgdisplay
=> Free PE / Size 122880 / 480.00 GiB
lvm lvdisplay /dev/VolGroup/lv_root
=> Current LE 3978
- Рассчитать сумму значений выше. В этом случае: 122880 + 3978 = 126858 <- будет использоваться в следующей команде </li>
lvm lvresize -l 126858 /dev/VolGroup/lv_root
resize2fs /dev/VolGroup/lv_root
lsblk
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 500G 0 disk
+¦sda1 8:1 0 500M 0 part /boot
L¦sda2 8:2 0 499.5G 0 part
+¦VolGroup-lv_root (dm-0) 253:0 0 480G 0 lvm /
L¦VolGroup-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- Проверьте, расширилась ли файловая система или нет при создании огромного файла:
fallocate -l 480G /test_file
- Удалить тестовый файл, конечно:
rm -rif /test_file