Virtualbox увеличивает размер диска Ubuntu

Обновлено: 21.11.2024

Иногда я создаю диск VirtualBox для использования на виртуальной машине определенного размера. Я думаю, этого будет достаточно для того, для чего я хочу использовать виртуальную машину. После некоторого использования виртуальной машины случается (часто), что мне нужно больше места, чем я изначально выделил. Например, если вы хотите установить дополнительное программное обеспечение.

В этом блоге я описываю шаги, которые я предпринял, чтобы увеличить размер гостевого диска VirtualBox Ubuntu без потери данных. Я выполнил стандартную установку Ubuntu 16.04 в качестве гостя в VirtualBox. Если макет вашего раздела отличается, шаги, которые необходимо предпринять, аналогичны, но могут немного отличаться. Подумайте, прежде чем выполнять эти (или подобные) шаги, поскольку, если вы не сделаете их правильно, вы можете испортить свои разделы и потенциально потерять данные.

Если вы создали красивую виртуальную машину и хотите ее распространить, полезно, если объем экспорта виртуальной машины не слишком велик. Это значительно упрощает загрузку и копирование виртуальной машины. В конце этой записи блога я даю несколько советов о том, как сделать экспорт виртуальной машины небольшим.

Описанный ниже метод вызвал проблемы у некоторых людей (см. комментарии), поэтому перед запуском убедитесь, что у вас есть резервная копия вашей виртуальной машины.

Шаг 1. Убедитесь, что у вас есть образ диска VDI

Если вы импортировали файл OVA, вы получите образ диска VMDK. Сначала отсоедините образ от ВМ;

Клонируйте VMDK в файл VDI. Эта операция также имеет преимущество создания резервной копии; исходный файл VMDK все еще там. Если вы уже сделали этот шаг раньше, у вас может быть зарегистрированный файл VDI с таким же именем в вашем VirtualBox Media Manager. В этом случае операция клонирования завершится ошибкой. Прежде чем продолжить, удалите файл VDI из VirtualBox Media Manager. Ниже приведена команда клонирования файла VMDK в файл VDI.

«c:\Program Files\Oracle\VirtualBox\VBoxManage.exe» clonemedium –format VDI kafkaworkshoposajava-disk1.vmdk kafkaworkshoposajava-disk1.vdi
0%…10%…20%…30%…40% …50%…60%…70%…80%…90%…100%
Клонированный носитель создан в формате 'VDI'. UUID: cabc9b44-386d-41af-af70-6b8e73df5596

Шаг 2. Измените размер образа диска VDI

Приведенная ниже команда изменяет размер образа диска VDI до 20 000 МБ.

D:\VM\KafkaWorkshop>”c:\Program Files\Oracle\VirtualBox\VBoxManage.exe”modifymedium kafkaworkshoposajava-disk1.vdi –resize 20000
0%…10%…20%…30%… 40%…50%…60%…70%…80%…90%…100%

Шаг 3. Подключите новый диск VDI и загрузочный ISO-образ Ubuntu

Шаг 4. Загрузите виртуальную машину

Загрузите виртуальную машину и нажмите F12 на экране загрузки. Загрузитесь с компакт-диска

Нажмите "Попробовать Ubuntu"

.

Шаг 5. Настройте диски с помощью GParted

Деактивировать диск

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

Измените размер самого раздела, чтобы заполнить все доступное пространство.

Наконец проверьте диск.

Нажмите зеленый значок V: применить все операции

Шаг 6. Сделайте выделенное место доступным

sudo pvresize /dev/sda5

sudo lvresize -l +100% БЕСПЛАТНО /dev/mapper/ubuntu–vg-root


sudo e2fsck -f /dev/mapper/ubuntu–vg-root
sudo resize2fs /dev/mapper/ubuntu–vg-root

Запустите машину и проверьте результат

Если вы хотите распространить экспорт своей виртуальной машины и сделать ее как можно меньше, вам может помочь следующее:

В гостевой ОС Ubuntu установите и запустите BleachBit для удаления временных файлов. Вы можете сравнить этот инструмент с CCleaner для Windows.

sudo telinit 1
mount -o remount,ro /dev/sda1
zerofree -v /dev/sda1

Обновите файл /etc/fstab и задайте для параметра /dev/mapper/ubuntu–vg-root значение ro, но помните предыдущие параметры! В моем случае до изменения было error=remount-ro.

От имени пользователя root: telinit 1
zerofree /dev/mapper/ubuntu–vg-root
mount -o remount,rw /dev/mapper/ubuntu-vg-root

Обновите fstab с помощью vi и восстановите ранее установленные параметры. Начать сначала. Сейчас свободное место обнулено. В операционной системе вашего хоста (в моем случае Windows) выполните следующие действия:

«c:\Program Files\Oracle\VirtualBox\VBoxManage.exe»modifymedium –compact kafkaworkshoposajava-disk1.vdi

Это гарантирует, что если вы экспортируете VDI, экспортированные диски будут настолько малы, насколько это возможно с их содержимым. Вы можете сделать экспорт еще меньше, используя 7-zip для сжатия результата. Если вам нужно хорошее сжатие, установите размер словаря и размер блока в 7-zip на большие значения.

Виртуальные машины — одни из самых важных инструментов в наборе инструментов ИТ-специалиста. Вы можете протестировать неизвестное программное обеспечение, понять, как работает система, и даже время от времени возиться с ядром. Единственная проблема - хранение.Различные версии пакетов и потерянные пакеты продолжают накапливаться, файлы журналов со временем становятся все больше и больше, и вскоре вам понадобится больше места для хранения. В этом руководстве мы увидим, как увеличить размер виртуального диска вашей виртуальной машины чистым и эффективным способом. .

Мы будем использовать VirtualBox версии 5.2.6, если у вас более ранняя версия, вы можете обновить ее. В этом выпуске в пользовательском интерфейсе изменено несколько важных деталей, и вам может быть трудно следовать им, если ваша версия немного старше.

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

Гость Linux без использования LVM

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

  1. Выберите машину в левом углу под ее меню хранилища, чтобы получить имя виртуального диска, на котором установлена ​​операционная система. В нашем случае диск называется vdi (обычный 20 ГБ).
  2. Теперь нажмите кнопку Общие инструменты в правом верхнем углу панели управления.
  3. Вы можете увидеть много виртуальных дисков, перечисленных в этом разделе. Нас интересует Ubuntu.vdi, как мы узнали на шаге 1. Выберите подходящее имя диска, которое использует ваша виртуальная машина, и измените его размер на желаемое значение. Мы увеличим его размер с 20 ГБ до 40 ГБ. Нажмите применить перед тем, как вернуться в Инструменты для станков.
  4. Теперь мы можем запустить виртуальную машину и посмотреть на гостевую операционную систему. Запустите виртуальную машину, войдите в систему, откройте терминал и введите:

Доступное пространство для корневой файловой системы не показывает никакого увеличения объема памяти. Чтобы понять, почему вы можете запустить следующую команду для получения списка всех блочных устройств хранения, подключенных к виртуальной машине:

Гости Linux, использующие LVM

Если гостевая операционная система использует LVM, нам нужно изменить пару шагов. Прежде всего, когда вы находитесь в пользовательском интерфейсе gparted, вы заметите, что рядом с разделами LVM есть значок замка. Щелкните правой кнопкой мыши эти разделы и выберите параметр деактивации, чтобы разрешить изменение их размера.

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

Следующее, что нужно сделать, это сообщить схеме разбиения lvm о внесенных изменениях. В качестве пользователя root выполните приведенную ниже команду, чтобы увидеть список доступных физических томов:

Вы можете видеть, что для физического тома /dev/sda5 теперь доступно 20 ГБ свободного пространства для увеличения объема работы физического тома:

Теперь давайте посмотрим на блочные устройства.

Запуск lsblk показывает, что корневой раздел по-прежнему занимает всего 17,5 ГБ, тогда как в разделе sda5 – 39,5 ГБ. Это связано с тем, что наш физический раздел вырос, но диспетчер логических томов не знает об этом. .

Также запишите имя тома, смонтированного в каталоге /(root). В приведенном выше выводе он называется ubuntu--lvm--vg-swap_1

Чтобы использовать все доступное свободное пространство, выполните приведенную ниже команду. Возможно, вы захотите щелкнуть вкладку после /dev/ubuntu…, чтобы перейти к соответствующему узлу устройства:

Внесите эти пару изменений, если вы являетесь пользователем LVM, и если вы устанавливаете новую гостевую ОС, старайтесь избегать LVM, если можете.

Об авторе

Ранвир Сингх

Я технический и научный писатель с довольно разнообразным кругом интересов. Твердо верящий в философию Unix. Лишь немногие из моих увлечений включают системное администрирование, компьютерное оборудование и физику.

У меня закончилось место на моей виртуальной машине WinXP, для которой я выделил только 10 ГБ при ее создании. Есть ли простой способ увеличить его, скажем, до 20 ГБ? Я не вижу очевидных опций в настройках VirtualBox.

Предложение ниже дает эту ошибку

Удаление .vdi из VirtualBox перед вызовом команды VBoxManage, а затем добавление его обратно прошло успешно. Но теперь я не могу загрузить виртуальную машину, я получаю этот тревожный экран:

Кстати, там написано FATAL: Не удалось прочитать с загрузочного носителя! Система остановлена.

VDI должен быть повторно подключен к виртуальной машине после выполнения команды VBoxManage. Далее размер раздела нужно будет изменить из ВНУТРИ окон, потому что у вас будет вот это пустое место:

Мне удалось легко изменить размер раздела с помощью бесплатного программного обеспечения EASEUS Partition Master 9.1.0 Home Edition.

Ваша проблема заключается в том, что вы создали символическую ссылку на диск в папке "/media/data" и что он не находится в исходной папке "/home/wim/VirtualBox VM". Я ответил, как я это исправил.

также обратите внимание, что простое изменение размера может не помочь, так как размер "vdi" увеличился бы, но на основе "vm-os-installation" ваш основной раздел остается прежним, а вновь выделенное пространство обычно показан «нераспределенный». Следовательно, вам необходимо выполнить «перераспределение разделов» (см. ссылку выше).

15 ответов 15

Начиная с VirtualBox 6, вы можете использовать графический интерфейс, согласно ответу lenooh.

В противном случае откройте терминал и перейдите в папку с образом диска VirtualBox, затем используйте следующую команду:

замените YOUR_HARD_DISK и SIZE_IN_MB именем вашего изображения и желаемым размером. sudo может быть необходимо на некоторых машинах, или вы можете столкнуться с ошибкой. Этот ответ и более полное объяснение находятся здесь, на webupd8. Спасибо Эндрю за публикацию этого ответа.

После изменения размера дополнительное пространство виртуального жесткого диска необходимо разбить на разделы и отформатировать, чтобы гостевая система могла его использовать. Это можно сделать с помощью gparted, загрузив гостевую систему с живого ISO. Мы также можем изменить размер существующего раздела с помощью gparted. Для этого нам может понадобиться отключить /swap и создать новый раздел подкачки.

Если VBoxManage не найден в вашей системе, просто укажите путь к:

и это должно решить проблему с путями. Убедитесь, что VBoxManage присутствует в этом пути, прежде чем устанавливать его.

+1. Просто использовал это, чтобы увеличить размер моего диска Windows 7 с 20 до 30 ГБ, и он работал очень плавно (отмена регистрации и т. д. не требуется). $ VBoxManage ModifyHD Windows7.vdi --resize 30720 0%. 10%. 20%. 30%. 40%. 50%. 60%. 70%. 80%. 90%. 100% Сначала Windows не обнаружила увеличение места, но после отключения питания это произошло, и тогда я смог использовать встроенный инструмент управления дисками, чтобы увеличить размер моего раздела C:.

Я думаю, что в последних версиях VirtualBox это .\VBoxManage.exe изменить средний диск 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720 сейчас. Модифицирующий hdd также работает — есть обратная совместимость со старыми командами.

Я просто изменил размер файла vdi с 25 ГБ на 120 ГБ, но диспетчер дисков системы Windows 7 по-прежнему не видит нераспределенное пространство. Это вызвано файлом снимка (у меня был снимок раньше), но когда я пытаюсь удалить снимок, отчет виртуального бокса падает, поэтому я не могу удалить снимок. Есть идеи? Моя гостевая win7 до сих пор видит 25G. спасибо.

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

Для доступа к нему выберите Файл -> Диспетчер виртуальных носителей.

Откроется следующее окно

Выберите свой диск и нажмите «Свойства» . Теперь просто переместите ползунок внизу или напишите желаемое значение размера и нажмите «Применить», когда закончите.

После запуска виртуальной машины Windows не распознает новое пространство.

В Windows откройте «Управление компьютером» (найдите его в меню «Пуск»), выберите «Хранилище» -> «Управление дисками» в меню слева (в Windows 10 вы можете найти его как создавать и форматировать разделы жесткого диска прямо из меню «Пуск») . Выберите свой раздел (возможно, C:), щелкните его правой кнопкой мыши и выберите «Расширить том». . Теперь просто щелкните по мастеру, и все готово.

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

Нужно ли перед этим выполнить Release? В настоящее время ползунок серый. Или вы выбрали динамический раздел?

Это должен быть принятый ответ. Все остальные вы потеряете установку и вам придется форматировать диск.

Мне помогло следующее:

Однако я понимаю, как пробег может варьироваться :-) Что касается изменения размера раздела, в Windows 7 я смог изменить размер на показанном вами экране, щелкнув правой кнопкой мыши диск C: на нижней панели и выбрав расширить громкость.

sudo не требуется.Это может привести к повреждению разрешений в вашем домашнем каталоге, что потребует от вас использования sudo для виртуального бокса, что является плохой идеей.

@Lekensteyn: Приятно знать, что в этом нет необходимости. Я использовал его, потому что другие говорили, что он не работает без root. Что касается искажений разрешений, chmod хорошо исправляет такие ошибки.

@Lekensteyn: chown исправит ошибки владения. Я упоминаю chmod и chown, потому что мне приходилось много раз исправлять проблему, на которую вы ссылаетесь :-)

Если вы используете Windows внутри Linux, вам необходимо использовать эти параметры и расширить диск, иначе Windows не добавит дополнительное пространство, которое мы добавили

Вим, я думаю, вам нужно сначала отменить его регистрацию в Vbox. Файл, Медиа-менеджер, Нажмите на свой жесткий диск и отмените его регистрацию. Затем повторите попытку.

После изменения размера и невозможности просмотреть изменение размера на моей гостевой машине с Windows XP мне пришлось

  1. клонировать
  2. измените его размер с помощью "VBoxManagemodifyhdwinxppro\Clone.vdi --resize 30720", и все заработало

Я видел на других форумах, что снимки могут мешать изменению размера и невозможности удалить все снимки из-за разных ошибок, которые я получил, единственным найденным решением для меня было клонировать его, чтобы удалить снимки, а затем изменить их размер, и все заработало. . Для изменения размера за пределами Windows может помочь загрузочный компакт-диск gparted, который можно найти здесь

Если вы находитесь на хосте Windows и пытаетесь увеличить размер VDI Ubuntu, вам может помочь следующая информация:

Получите полный путь к vdi, для меня это был "D:\VirtualBoxImages\Ubuntu\Ubuntu.vdi".

Выполните команду, указанную в сообщении "Помечено как отвеченное":

Выше «C:\Program Files\Oracle\VirtualBox» — это расположение папки, в которой установлена ​​моя виртуальная коробка Windows, 40000 — это 40 ГБ в приведенной выше команде.

После выполнения вышеупомянутого шага перезапустите виртуальную машину Ubuntu.

Измените размер существующего раздела до 40 ГБ:

Затем вы можете подтвердить из "Хранилища", что описанная выше операция сработала:

У меня была та же проблема, когда я переместил диск и заменил оригинал символической ссылкой. После этого это работает нормально, но вы сталкиваетесь с проблемами с командой «modifyhd», так как она, по-видимому, канонизирует путь к vdi-файлу при работе с ним. Создается впечатление, что вы пытаетесь добавить новый диск с тем же UUID, но по другому пути — или что-то в этом роде.

Было две проблемы:

Диск пришлось удалить из ВМ, которая его использовала, а также «из списка жестких дисков VirtualBox». Это было исправлено с помощью команды closemedium, которая удаляет его из этого списка.

Диск, размер которого нужно изменить, является «фиксированным диском», а не «динамическим», и размер можно изменять только для динамических дисков. Это было исправлено с помощью команды «клонировать» (клонирование является динамическим), а затем изменить размер полученного диска.

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

СНЯТЬ ПРИСОЕДИНЕНИЕ К ДИСКУ ОТ ВМ.

ПРОБЛЕМА СОХРАНЯЕТСЯ:

А, диск все еще "в системе":

Удалить/удалить диск из списка дисков VirtualBox ("closemedium"):

Попробуйте изменить размер еще раз:

БЛИН, "фиксированный размер" НЕ РАБОТАЕТ! 'clonehd' на помощь, так как это оставляет 'динамически выделяемый' клонированный диск:

ТЕПЕРЬ ИЗМЕНИТЕ РАЗМЕР (мгновенно):

ЗАТЕМ ПОДКЛЮЧИТЕ К НЕКОТОРЫМ ВМ ДЛЯ ИЗМЕНЕНИЯ РАЗМЕРА. Это делается как root. Предполагается, что у вас есть только один раздел и, возможно, подкачка.

При создании виртуальной машины в VirtualBox у нас есть возможность создать виртуальный жесткий диск для гостевой операционной системы по нашему выбору, что действительно здорово. Однако после того, как он создан и с его помощью установлена ​​виртуальная машина, расширение размера того же виртуального диска будет немного сложным, если вы не знаете, как это сделать. Здесь мы расскажем вам, как использовать команду vboxmanagemodifymedium для увеличения дискового пространства или размера виртуального жесткого диска в VirtualBox, установленном в Ubuntu (Linux)/MacOS или Windows. Это руководство позволяет увеличить размер виртуальных жестких дисков на основе файлов VDI, VHD или VMDK.

Как увеличить дисковое пространство VirtualBox в Ubuntu, Windows и MacOS

Шаг 1. Запустите командную строку от имени администратора

Нажмите клавишу Win + R, чтобы открыть окно «Выполнить». В поле «Выполнить» введите cmd, а затем нажмите кнопку CTRL + Shift и нажмите кнопку ENTER. Когда система запросит у вас разрешение на запуск командной строки под администратором, щелкните правой кнопкой мыши кнопку ДА.

Шаг 1. Перейдите в каталог VirtualBox

Как мы знаем, приложение, которое мы устанавливаем на платформе Windows, по умолчанию его файлы помещаются на диск C:. Таким образом, мы открываем каталог VirtualBox в командной строке, для этого просто скопируйте приведенную ниже команду, вставьте ее внутрь CMD и нажмите кнопку ввода.

Шаг 3. Откройте VirtualBox

После открытия каталога VirtualBox в командной строке оставьте его как есть. Теперь идите и откройте свой VirtualBox. В левой части VirtualBox выберите виртуальную машину (ВМ), фактический размер виртуального диска которой вы хотите увеличить.

Шаг 4. Скопируйте путь к виртуальному диску VDI/VHD/VMDK

В настройках выберите «Хранилище», а затем — виртуальный жесткий диск VDI/VHD/VDMK вашей ВМ. Когда вы выберете его, в правой части появится некоторая информация о нем. Здесь нам нужно расположение нашего диска виртуальной машины Virtualbox. Таким образом, дважды щелкните место, щелкните правой кнопкой мыши, чтобы скопировать и вставить в Блокнот, а затем закройте VirtualBox.

Шаг 5. Теперь увеличьте размер диска Virtualbox

Чтобы увеличить размер диска виртуальной машины, выполните следующую команду:

VBoxManage.exe modifymedium ” вставьте скопированный выше путь к диску ” – измените размер значения в МБ

В приведенной выше команде замените текст зеленого цвета «вставьте скопированный выше шаг.. путь» на путь виртуального диска, который мы скопировали и вставили в блокнот. В то время как значение в МБ заменит размер, который вы хотите добавить к вашему виртуальному диску. Например, мы хотим добавить около 60 ГБ к нашему существующему диску VDI, тогда в нашем случае команда будет такой:

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

Шаг 6. Проверьте увеличенный размер диска VirtualBox

Снова откройте VirtualBox, выберите виртуальную машину с левой стороны, нажмите «Настройки» -> «Хранилище» -> выберите «Диск», и в правой части информации вы увидите увеличенный объем хранилища.

Метод, который мы использовали для увеличения размера виртуального диска VirtualBox выше, применим и в Ubuntu.

Шаг 1. Откройте VirtualBox в Ubuntu и скопируйте путь к диску

Откройте Ubuntu VirtualBox и выберите виртуальную машину, размер которой вы хотите увеличить, затем перейдите в Настройки -> Хранилище-> выберите виртуальный диск-> скопируйте расположение на диске.

Шаг 2. Увеличьте размер диска Ubuntu VirtualBox

Наконец, откройте командный терминал в Ubuntu, вы можете использовать сочетание клавиш CTRL+ATL+T. В командном терминале используйте команду

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

См. скриншот для справки:

Шаг 3. Просмотр увеличенного размера виртуального диска Ubuntu VB

Снова перейдите к настройке виртуальной машины, выберите диск и на этот раз посмотрите размер хранилища. Вы можете видеть, что на шаге 1 размер диска был около 20 ГБ, а сейчас — около 50 ГБ.

Шаг 1. Скопируйте путь к диску ВМ

Вы можете увидеть, как скопировать путь к диску, размер которого вы хотите увеличить, в приведенных выше шагах для Windows и Ubuntu, которые будут одинаковыми и для MacOS. Скопировав путь, запишите его где-нибудь, а затем выключите виртуальную машину и закройте VirtualBox.

Шаг 2. Откройте приложение «Терминал» в MacOS

В терминале MacOS вставьте приведенную ниже команду, чтобы перейти в каталог приложения VirtualBox:

Шаг 3. Увеличьте размер диска Mac VirtualBox

Например, предположим, что мы хотим увеличить размер некоторых гостевых систем Windows, таких как файл VDI виртуальной машины Windows 10, который находится в папке /Users/h2s/Documents/VM/Windows10.vdi. И мы хотим добавить 30 ГБ в наш существующий виртуальный диск, синтаксис будет таким:

VBoxManage изменить носитель «/Users/h2s/Documents/VM/Windows10.vdi» — изменить размер на 30000

Шаг 4. Перезапустите VirtualBox

Когда на этот раз вы откроете VirtualBox на своем MACOS, вы увидите увеличение размера диска виртуальной машины.

Читайте также: