четверг, 15 января 2015 г.

VirtualBox: Увеличение объема диска гостевой ОС

Случилось страшное, место на виртуальной гостевой ОС (все 10 Гб) стремительно кончилось (на самом деле мало выделил при установке ОС и устанавливаемое и скачиваемое ПО быстро освоило весь запас). Но это же виртуальная машина, она должна позволять модификацию своих параметров. Однако в стандартном перечне настроек лишь указывается объем дискового пространства, но нет  возможности его корректировать. Выход есть и предоставляется разработчиком.

1. Ищем программу VBoxManage
2. Ищем файл образ нашей гостевой ОС *.vdi 
3. Выполняем команду:
VBoxManage modifyhd guestos.vdi --resize 20000
где 20000 - новый размер дискового пространства гостевой ОС в Мегабайтах (Mb)
В моем случае я выполняю команду в командной строке (cmd.exe) ОС Win8 (основная система ноута) для гостевой системы linux mint с именем mint-cinamon, команда выглядит так:
C:\Users\Eugene>"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "c:\users\eugene\virtualbox vms\mint-cinamon\mint-cinamon.vdi" --resize 20000



После чего командная строка рисует процентную шкалу выполнения и возвращает курсор для новой команды.
C:\Users\Eugene>"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "c:
\users\eugene\virtualbox vms\mint-cinamon\mint-cinamon.vdi" --resize 20000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


Теперь в свойствах гостевой ОС отображается новый размер жесткого диска, тем не менее пр загрузке ОС объем останется прежним.

Проверяем в гостевой ОС:
~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       6,8G  5,4G  1,1G  83% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
udev            995M  4,0K  995M   1% /dev
tmpfs           202M  1,1M  201M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none           1008M  976K 1007M   1% /run/shm
none            100M   16K  100M   1% /run/user



4. Размечаем новое пространство и подключаем к системе.
Новое место просто не распределено и не размечено. Я воспользовался той программой что была в гостевой ОС - Disks. С ее помощью создал новый раздел. И через fstab добавил новый раздел и смонтировал его в виде рабочей папки по адресу /home/patriot/work:
 $ cat /etc/fstab
....
/dev/disk/by-uuid/cd0d4011-9678-429b-8bd1-66c818cc1fe0 /home/patriot/work ext4 errors=remount-ro 0 0


В результате получил такой набор:
 $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       6,8G  5,4G  1,1G  83% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
udev            995M  4,0K  995M   1% /dev
tmpfs           202M  1,1M  201M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none           1008M  976K 1007M   1% /run/shm
none            100M   16K  100M   1% /run/user
/dev/sda3        12G  719M   10G   7% /home/patriot/work


Кому-то необходимо иметь весь диск одним куском, тогда необходимо будет загрузиться в гостевой ОС с загрузочного диска и с помощью утилиты типа GParted разбить диск и передвинуть партиции.