Как увеличить объем памяти в виртуальной машине. Расширяем фиксированный виртуальный диск в VirtualBox

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

Точно рассчитать размер, который понадобится после установки системы в ВиртуалБокс, удается не всегда. Из-за этого некоторые пользователи сталкиваются с нехваткой свободного пространства в гостевой ОС. Есть два способа добавить свободное пространство к виртуальной машине без удаления образа:

  • Использование специальной утилиты от VirtualBox;
  • Добавление второго виртуального жесткого диска.

Способ 1: Утилита VBoxManage

В арсенале VirtualBox есть утилита VBoxManage, которая позволяет управлять размерами дисков через командную строку или терминал в зависимости от типа операционной системы. Мы рассмотрим работу этой программы в Windows 10 и CentOS. Условия для изменения объема в этих ОС следующие:

  • Формат хранения: динамический;
  • Тип диска: VDI или VHD;
  • Состояние машины: выключена.

Прежде, чем начать изменение, вам нужно узнать точный размер диска гостевой ОС и путь, где хранится виртуальная машина. Это можно сделать через VirtualBox Менеджер.

На панели меню выберите «Файл» > «Менеджер виртуальных носителей» или просто нажмите Ctrl+D .

Напротив ОС будет указан виртуальный размер, а если выделить ее кликом мыши, то внизу появится информация о расположении.

Использование VBoxManage в Windows

После успешного изменения объема диска необходимо настроить саму виртуальную ОС, поскольку она будет продолжать видеть прежнее количество ГБ.


Использование VBoxManage в Linux

Вам потребуются root-права для работы с терминалом и самой утилитой.

  1. Пропишите команду

    vboxmanage list -l hdds

  2. В строке UUID скопируйте значение и вставьте его в эту команду:

    vboxmanage modifyhd ВАШ_UUID --resize 25600

  3. В Linux невозможно расширить раздел, пока запущена сама ОС.

  4. Запустите утилиту . Чтобы сделать ее загрузочной, в VirtualBox Менеджере зайдите в настройки машины.

  5. Переключитесь на раздел «Носители» , и в «Контроллер: IDE» добавьте скачанный GParted Live. Для этого нажмите на «Пусто» и в правой части выберите образ оптического диска с утилитой GParted, как показано на скриншоте.

  6. Сохраните настройки и запустите машину.
  7. В загрузочном меню выберите «GParted Live (Default Settings)» .

  8. Конфигуратор предложит выбрать раскладку. Для расширения диска этот параметр не важен, поэтому можете выбрать любой вариант.

  9. Укажите желаемый язык, введя его номер.

  10. На вопрос о предпочтительном режиме введите ответ «0» .

  11. Запустится GParted. В окне будут отображены все разделы, в том числе добавленная через VBoxManage область.

  12. Правым кликом мыши по системному разделу откройте контекстное меню (обычно это sda2), и выберите пункт «Изменить раздел или переместить» .

  13. При помощи регулятора или поля для ввода установите тот объем, до которого вы хотите расширить раздел. Для этого сдвиньте регулятор вправо:

    Либо в поле «Новый размер» впишите число, которое указано в строке «Максимальный размер» .

  14. Создастся запланированная операция.

  15. На панели инструментов нажмите «Правка» > «Применить все операции» или кликните по самой запланированной операции правой кнопкой мыши и выберите ее применение.

  16. В окне подтверждения нажмите на «Apply» .

  17. Прогресс выполнения отобразится в отдельном окне.

  18. По завершении вы увидите, что размер виртуального диска стал больше.

  19. Виртуальную машину можно выключить, и из настроек ее загрузки убрать носитель GParted Live.

Способ 2: Создание второго виртуального накопителя

Способ изменения размера диска через утилиту VBoxManage не единственный и не самый безопасный. Гораздо проще подключить второй виртуальный накопитель к созданной машине.

Конечно, имеет смысл создавать второй диск, только если планируется существенно увеличить объем накопителя, и не планируется хранить файл (-ы) большого размера.

Опять же рассмотрим способ добавления накопителя на примерах Windows 10 и CentOS.

Создание дополнительного накопителя в VirtualBox


Подключение виртуального диска в Windows

Эта ОС после подключения накопителя все еще не будет видеть дополнительный HDD, поскольку он не был инициализирован.

  1. Запустите виртуальную машину.

  2. Нажмите Win+R , впишите команду diskmgmt.msc .

  3. У вас должно запуститься окно, требующее провести инициализацию. Не меняйте настроек и нажмите «ОК» .

  4. Новый накопитель отобразится в нижней части окна, но его область еще не задействована. Чтобы его задействовать, правым кликом мыши выберите «Создать простой том» .

  5. Откроется специальная утилита. В окне приветствия нажмите «Далее» .

  6. Не меняйте настроек на этом этапе.

  7. Выберите букву тома или оставьте ее по умолчанию.

  8. Параметры форматирования можно не менять. При желании в поле «Метка тома» можете вписать имя (обычно это имя «Локальный диск»).

  9. Кликните «Готово» .

  10. Статус накопителя сменится, и он будет распознаваться системой.

Теперь диск виден в Проводнике и готов для работы.

Подключение виртуального диска в Linux

В отличие от Виндовс, в дистрибутивах на базе Линукс не нужно инициализировать накопители. После создания и подключения диска к виртуальной машине, остается проверить, все ли сделано правильно.


Это были распространенные и наиболее удобные варианты увеличения размера диска виртуальных машин в ВиртуалБокс. Не забывайте делать резервные копии важных ОС, если решили пользоваться утилитой VBoxManage, и следите за тем, чтобы на основном диске, откуда выделяется место для виртуального накопителя, было достаточно свободного места.

Как же расширить виртуальный диск в VirtualBox?

Здравствуйте уважаемые читатели интернет ресурса !!!

Иногда при работе с виртуальной машиной VirtualBox может возникнуть необходимость увеличить объем базового диска. Благо сделать это очень просто, достаточно открыть командную строку, перейти в каталог установки VirtualBox, после чего выполнить команду modifyhd –resize, указав при этом новый объем виртуального жесткого диска. И все было просто прекрасно, если бы не одно небольшое "но".

Расширить таким способом можно только динамический виртуальный диск, с фиксированными дисками этот трюк не пройдет, и в командной строке вы получите ошибку "Resize hard disk operation for this format is not implemented yet!". Сие означает, что данная функция, то есть resize, для фиксированного типа диска не реализована.

Жаль конечно, но пока что никаких способов расширить фиксированный диск в VirtualBox не имеется. Однако мы можем пойти на маленькую хитрость. Мы преобразуем фиксированный диск в динамический, после чего уже известным способом добавим нужный нам объем.

На страницах ряда сайтов, посвященных компьютерной тематике можно встретить описание способа "расширения" фиксированного диска с помощью утилиты SelfImage, способа явно неудобного и громоздкого, ведь при этом пользователю нужно было выполнить, по меньшей мере, восемь разных операций.

Кроме того, помимо самой SelfImage, ныне практически не использующейся, пользователю приходилось прибегать к утилите diskpart, дабы произвести "выравнивание" дисков.

В действительности есть куда более простой и эффективный способ расширить диск и как раз им мы и воспользуемся. Итак, приступим. Откройте командную строку и перейдите в каталог установки VirtualBox:

cd C:/Program Files/Oracle/VirtualBox

Как вы уже знаете, получить информацию по виртуальному диску можно с помощью команды showhdinfo.

VboxManage.exe showhdinfo "D:/Virtual Box/Windows 8.0/Windows 8.0.vdi"

Как видите, в данный момент тип диска (format variant) у нас фиксированный, а размер (capacity) составляет 18432 Мб. Теперь нам нужно преобразовать статический диск в динамический.

Поскольку напрямую этого сделать нельзя, мы клонируем первый и таким образом получим то, что искали. Для этого используем команду clonehd:

VBoxManage clonehd "D:/Virtual Box/Windows 8.0/Windows 8.0.vdi" "D:/Virtual Box/Windows 8.0/Clone Windows 8.0.vdi"

Если в пути к оригинальному образу VDI и его клону имеются пробелы, путь заключаем в прямые кавычки. Процесс клонирования может занять определенное время.

По завершении копирования можете еще раз выполнить showhdinfo и посмотреть, что у вас получилось. Проверяем наш клон:

VboxManage.exe showhdinfo "D:/Virtual Box/Windows 8.0/Clone Windows 8.0.vdi"

Если все пройдет гладко, то format variant уже будет не fixed, а dynamic, что мы и имеем. А вот сейчас можно применить знакомую нам команду resize.

VBoxManage modifyhd --resize 40960 "D:/Virtual Box/Windows 8.0/Clone Windows 8.0.vdi"

Как видите, никаких ошибок не было, и диск удачно расширился до заданного значения. Ну, вот практически и все, осталось только подключить новый образ к контроллеру SATA, после чего открыв виртуальную машину, проследовать в раздел управления дисками и нужным вам образом использовать добавленное нераспределенное пространство. Старый VDI-файл можно удалить.

На этом я и пожалуй закончу свой нетривиальный рассказ всем пока и до новых познавательных встреч с вами дорогие друзья...

16 ответов

Если вы хотите прекратить резервное копирование жесткого диска vmdk (может быть, вы заинтересованы в использовании диска также в vwmare), выполните следующие шаги:

VBoxManage clonemedium "source.vmdk" "cloned.vdi" --format vdi VBoxManage modifymedium "cloned.vdi" --resize 51200 VBoxManage clonemedium "cloned.vdi" "resized.vmdk" --format vmdk

Выше будет изменить размер жесткого диска до 50 ГБ (50 * 1024 МБ).

Чтобы завершить вещи, вам нужно изменить размер диска тоже! Чтобы достичь этого, вы можете загрузить iso и загрузиться с этого iso, чтобы изменить размер вашего диска (выберите iso в настройках виртуального ящика).

PS Если ваш новый размер слишком мал, вы получите такую же ошибку даже с вашим новым vdi файлом.

У меня есть клиент Windows 7 на хосте Mac, и этот пост был ОЧЕНЬ полезен. Благодарю.

  • Запустить новое увеличенное изображение vmdk.
  • Перейдите в меню "Пуск" и щелкните правой кнопкой мыши "Компьютер" и выберите "Управление".
  • Выберите "Управление дисками"
  • Вы должны увидеть какое-то серое пространство на вашем (в моем случае) диске C
  • Щелкните правой кнопкой мыши диск C и выберите Extend Volume.
  • Выберите размер и нажмите

Сладкое! Я предпочел использовать сторонний инструмент с предупреждениями о потере данных.

Собственно, нужны только эти команды:

VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi VBoxManage modifyhd "cloned.vdi" --resize 51200

Затем вы можете выбрать cloned.dvi в хранилище графического интерфейса Virtualbox.

После этого запустите виртуальные окна и разверните свой диск C как методы Code Chops.

Нет необходимости конвертировать файл *.vdi в файл *.vmdk.

Так как это файл vmdk, вы можете использовать VMWare vdiskmanager , если он доступен для вашей платформы. VMWare имеет версии x86 Linux, Windows и OS X .

И тогда вы просто выполните:

1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk

Это позволяет избежать клонирования, а затем развернуть диск. Теперь вам нужен дополнительный инструмент, а vmdk - формат диска VMWare, и вы все еще используете Virtualbox, поэтому могут быть несовместимости.

qemu-img также может работать, но я не уверен, поддерживает ли он изменение размера файлов vmdk. Это выглядело бы так:

Qemu-img resize Machine-disk1.vmdk +8G

И только напоминание, с обоими, вам все равно придется разбить раздел после изменения размера базового диска. Все эти инструменты в основном dd if=/dev/old_disk of=/dev/new_disk bs=16M .

Вы можете использовать проигрыватель Vmware для изменения размера vmdk. Это удаляет конверсию в оба конца (см. Другие сообщения), если вы хотите сохранить ее в формате vmdk. Просто убедитесь, что при добавлении vmdk в vmware не выбирайте формат обновления при появлении запроса, сохраните текущий, если VirtualBox не примет его.

Перепробовал все решения здесь, но ничего не получалось. После нескольких часов копания я нашел этот пост в блоге и, как по волшебству, все работает. Я должен был сделать небольшие корректировки, так что вот модифицированная версия. Протестировано с версией Docker 17.06.0-ce, сборка 02c1d87.

Как только разработчики действительно начинают контейнировать свои приложения, они часто генерируют большое количество изображений и быстро заполняют пространство на жестком диске 20 ГБ, выделенное для виртуальной машины Docker по умолчанию. Чтобы на виртуальной машине Docker было достаточно места на диске, мы должны изменить размер /dev/sda1 до более разумного числа.

VirtualBox для Windows

Изменение размера файла на диске при сохранении настроек виртуальной машины!

Шаг 1 - Изменить размер файла на диске

Запустите cmd.exe

cd в каталог Oracle VM VirtualBox (в 64-разрядных системах: "C:\Program Files\Oracle\VirtualBox\")

Запустите эти команды (как указано выше):

VBoxManage clonehd "C:\path\to\source.vmdk" "C:\path_to\cloned.vdi" --format vdi VBoxManage modifyhd "C:\path\to\cloned.vdi" --resize 51200

Проводник Windows и "копирование адреса в виде текста" через адресную строку должны помочь вам найти нужный путь.

В системе Windows каталог VirtaulBox VM под вашим пользователем может содержать файл базы данных в формате XML с настройками, которые вы настроили для своей виртуальной машины. Переименуйте этот файл с.bak расширением (он имеет.vbox расширения). Переименуйте исходный.vmdk файл с.bak расширением, а также, чтобы избежать повторения ошибок. Теперь вы можете безопасно выполнить третий шаг без сообщения об ошибке, чтобы преобразовать машину обратно в формат.vmdk или с ошибкой "дубликат диска".

VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk

Вам будет представлен токен UID . Скопируйте этот токен, выделив его перетаскиванием из окна Windows Command Interpetor и используя Ctrl+C

Откройте файл.vbox.bak в текстовом редакторе, например Notepad++. Вам будет представлен XML-подобный файл базы данных. Ищите эти строки:

В строке удалите старый маркер UID между скобками и вставьте тот, который вы скопировали из окна командной строки. Убедитесь, что вы оставили скобки на месте !

Сохраните этот файл и выйдите из текстового редактора. Переименуйте файл.vbox.bak чтобы вернуть ему ожидаемое расширение.vbox .

Шаг 2 - Удалить мусор

Теперь безопасно удалить файлы.bak оставшиеся в каталоге. То, что остается, - это.vmdk размер.vmdk с обновленной.vbox данных.vbox то время как с ранее сохраненными настройками VirtualBox Manager.

Шаг 3 - Измените размер раздела на диске, чтобы заполнить свободное пространство

Теперь вы можете запустить VirtualBox VM Manager и запустить вашу виртуальную машину, используя соответствующие инструменты для операционной системы, чтобы заполнить новое свободное пространство.

Для виртуальных машин Windows используйте diskpart из командной строки, загруженной из Windows Recovery Consule (раздел восстановления), в SELECT DISK 1 , LIST PARTITION и соберите номер раздела вашего диска C:\ , затем SELECT PARTITION # . Вы можете использовать EXTEND SIZE=mb чтобы изменить размер диска Windows C:\до соответствующего значения. Не забудьте оставить место для разделов восстановления и загрузки! Чтобы получить это значение, можно безопасно вычесть 4096 МБ из вашего нового размера виртуального диска из-за файлов теневого копирования и восстановления Windows.

Для виртуальных машин Linux , действующий.ISO gparted, который вы можете загрузить с дисковым файлом виртуальной машины, можно найти по адресу: http://gparted.org/. Он откроет вам прямо в gparted-gtk на основе графического интерфейса пользователя, откуда вы можете может заполнить ваше свободное пространство.

Для виртуальных машин PPC/Mac Disk Utility из Finder поможет вам заполнить свободное пространство, но вы можете рассмотреть вариант gparted Linux , так как в настоящее время единственным способом загрузки MacOSX в VirtualBox является hackintosh, и вы не можете расширить его. ваш объем при загрузке в MacOSX. Вы также можете временно gparted параметры виртуальной машины для gparted , чтобы загрузить его. Разделы MacOSX распознаются gparted как разделы HFS - "Heaping File System".

Шаг 4 - Фотографии кошек

Потому что интернет. ;) Вы закончили. Наслаждайтесь вашим новым.vmdk виртуального.vmdk диска.vmdk с VirtualBox для Windows!

Здесь можно изменить размер диска VirtualBox, независимо от того, является ли он фиксированным или динамическим форматом. В частности, он предотвращает возникшую у вас ошибку при фиксированном формате диска.

⚠️ Резервное копирование виртуального диска. Вы никогда не знаете, что может пойти не так.

На хосте:

    Откройте окно терминала.

    В Windows: откройте командную строку cmd .

  • Перейдите в каталог с виртуальным диском, который вы хотите изменить. Например:

    Cd "My VMs"

    Создайте новый диск VirtualBox с желаемым именем файла, размером (в мегабайтах) и форматом (либо Standard (динамический), либо Fixed). Например, чтобы создать диск с фиксированным форматом 50 ГБ с именем MyNewDisk.vdi:

    VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed

    Если VBoxManage не распознается как команда, укажите полный путь к нему. Его можно найти в каталоге установки VirtualBox. В Windows указанная команда будет выглядеть следующим образом:

    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed

  • Скопируйте исходный диск на новый диск.

    VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing

    Размер сделан! Вы можете проверить свойства нового диска, если хотите:

    VBoxManage showmediuminfo "MyNewDisk.vdi"

    Измените виртуальную машину на использование нового диска.

    У меня здесь, потому что мне нужно было изменить размер диска для моей среды разработки Docker (CoreOS).

    Многие серьезные вещи, который приходится настраивать в боевой корпоративной сети на боевых серверах, сначала до блеска шлифуется на виртуальной машине. Если нужна целая локальная сеть, то для этих целей отлично подойдет целый парк таких виртуальный машин. Отлично, что клонировать такую машину проще простого. Дело 2 минут.

    Единственное, что иногда приходится делать – это изменять размер виртуального жесткого диска, так как задачи на виртуальном сервере могут быть обширные.

    Для своих экспериментальных целей я использую VirtualBox, так как он бесплатный, кроссплатформенный и так сложилось уже на протяжении долгого времени, когда рабочий компьютер не поддерживал аппаратную виртуализацию, а кроме VirtualBox запускаться без нее никто не умеет.

    Лично я считаю, что очень серьезным достоинством VirtualBox является возможность управлять его работой через консоль. Есть универсальная команда – VBoxManage , которая позволяет сделать абсолютно все с уже созданной виртуальной машиной.

    К примеру, чтобы увеличить размер виртуального жесткого диска VDI -формата до 20 Gb, необходимо выполнить команду:

    VBoxManage modifyhd “~/VirtualBox VMs/название_жесткого_диска.vdi” --resize 20000

    Соответственно название_жесткого_диска – это название файла, который является у подопытной виртуальной машины жестким диском. Вроде все просто.

    Единственное, что нужно знать наперед это то, что если Вы увеличиваете виртуальный жесткий диск, то добавленное “место” будет определено операционной системой, как неразмеченная область. Нужно использовать какое-нибудь стороннее приложение, которое позволит добавить это неразмеченное место к основному разделу. Если Вы наоборот, уменьшаете размер диска, то дополнительных проблем это не вызовет.

    Если хотите поразить свою девушку своим изысканным кинематографическим вкусом, то Вы должны остановить свой выбор на фильме - "Калейдоскоп любви". Тем более, что можно на сайте kino-max.com . Красивое и доброе кино, которое понравиться любому взрослому и думающему человеку.

    Случайные 7 статей:

    Комментарии

    1. Секрет
      26 Август, 22:36

      Не работает

    2. Настраивальщик
      31 Август, 05:43

      Секрет: Не работает

      Аналогично. Искал инфу, но проблему так и не решил…

    3. Nesh
      4 Октябрь, 17:49

      Всё работает!

      C:\Users\Nesh>CD C:\Program Files\Oracle\VirtualBox

      C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd “D:/VM/XP/XP.vdi” —resiz
      e 20000
      0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%

    4. Demian
      24 Октябрь, 13:03

      Все работает на 100%. Тип виртуального жесткого диска должен быть динамическим. С фиксированным типом виртуального жесткого диска не работает. И еще, машина, на которой изменяется объем HDD , должна быть выключена.

    5. Андрей
      11 Март, 18:07