Как расширить Linux раздел EXT4 на диске *.vmdk, *.vdi, *.vhd в VirtualBox? Как в виртуальной машине VirtualBox увеличить объём диска *.vmdk, *.vdi, *.vhd? Нужно знать, что увеличение объёма диска и расширение раздела являются совершенно разными операциями!
Как увеличить объём диска в VirtualBox
Перед расширением раздела сначала нужно увеличить объёма самого диска имхо без увеличениея объёма самого диска разделу некуда будет расширяться! Увеличение объёма диска, не путать с расширением раздела, в VirtualBox выполняется коммандой:
$ cd /to/VBox/disk/storage/dir $ VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Где YOUR_HARD_DISK.vdi файл образа диска, а SIZE_IN_MB новый размер диска в мегабайтах - например, если старый размер был 10000 МБ, а нам нужно 20000, то SIZE_IN_MB нужно указавыть 20000.
Также стоит обратить внимание на расширение/формат файла образа диска! Увеличение объёма возможно только для форматов *.vdi и *.vhd, а если мы попробуем увеличить объём диска в формате *.vmdk, то получим ошибку:
$ VBoxManage modifyhd YOUR_HARD_DISK.vmdk --resize 20000 0%... Progress state: VBOX_E_NOT_SUPPORTED VBoxManage: error: Resize medium operation for this format is not implemented yet!
Увеличить объём диска в формате *.vmdk у нас не выйдет и нам предварительно потребуется выполнить его конвертацию в один из форматов *.vdi или *.vhd:
$ VBoxManage clonehd YOUR_HARD_DISK.vmdk YOUR_HARD_DISK.vdi --format vdi 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone medium created in format 'vdi'. UUID: 50209910-0aba-420a-95b1-9bdadccb7e4d
И уже после увеличить его объём:
$ VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize 20000 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Как расширить раздел диска в VirtualBox
После того, как мы увеличили объём самого диска нам нужно расширить наш корневой раздел "/" и отформатировать его предварительно удалив файл подкачки.
Для расширения раздела мы используем "GParted live CD". Порядок действий такой:
- Скачиваем самую свежую версию по ссылке http://gparted.org/download.php - это gparted-live-0.28.1-1-i686.iso на данный момент;
- Открываем настройки нашей виртуальной машины и переходим на вкладку "Носители", где для "Оптический привод" выбираем файл образа оптического привода (в нашем случае gparted-live-0.28.1-1-i686.iso);
- Далее переходим на вкладку "Система" где в перечне "Порядок загрузки" первым в списке выставляем наш оптический привод и нажимаем "Ок";
- Запускаем виртуальную машину и загружаемся с "Оптического привода", а на все сопутствующие вопросы нажимаем Enter, разве кроме на этапе выбора языка можете выбрать другой вместо английского.
После полной загрузки GParted в списке разделов мы видим /dev/sda2, /dev/sda1 и /dev/sda5, а также "не размечено"
Чтобы иметь возможность расширить наш основной раздел /dev/sda2 мы последовательно удаляем сначала /dev/sda5 потом /dev/sda1 и в итоге получаем такую вот картину:
Теперь же отмечаем /dev/sda2 и жмём на "Изменить размер или переместить":
Выбираем новый размер, но не забываем оставить немного для файла подкачки, после чего нажимаем "Изменить размер или переместить":
После выбираем не размеченную область и нажимаем на "Новый" (Создать новый раздел в выбранной не размеченной области):
В качестве "Файловая система" выбираем "linux-swap" и жмём "Add":
После чего мы будем иметь "4 запланированные операции" для выполнения которых выбираем пункт меню "Правка -> Применить все операции":
Подтверждаем выполнение операций:
Наблюдаем за ходом их выполнения:
Теперь в настройках виртуальной машины на вкладке "Система" в перечне "Порядок загрузки" первым в списке ставим наш "Жесткий диск", запускаем виртуальную машину и ждём пока система определит изменения в нашем жестком диске ("A start job is running for dev-disk-by\xxxxxxxxx"):
Готово.
Проблемы?
Если у раздела подкачки изменился UUID, то в консоли набираем blkid и в выводе ищем строчку подобную этой:
# blkid ... /dev/sda1: LABEL="swap" UUID="da4cf18e-e256-4151-8bc5-91dcc5a0d860" TYPE="swap" PARTUUID="85753821-05"
Далее в /etc/fstab пишем:
# vi /etc/fstab ... # swap was on /dev/sdb2 during installation UUID=da4cf18e-e256-4151-8bc5-91dcc5a0d860 none swap sw 0 0
И выполняем "swapon -a
".