Virtualbox увеличить размер виртуального диска
Для тестирования разработок держу у себя в VirtualBox ОС Debian 6 со стандартным комплектом установленных серверных программ (nginx, mysql, php-fpm, memcached и т.д.) Образ Debian для VirtualBox брал готовый с торрентов. Соответственно виртуальный носитель был размечен в образе заранее, размером в 8 Гб.
Долгое время успешно пользовался этой виртуалкой, заливал туда разрабатываемые проекты (запускал локальный сервер из VirtualBox), некоторые из этих проектов были с довольно большими БД (1-2 Гб.)
Сегодня в процессе заливки в виртуалку очередной большой БД импорт внезапно прервался ошибкой. После этого консоль сервера начала (сама, без нажатий чего-либо) выдавать ошибки Exception, ошибка доступа к памяти и что-то вроде того. Затем консоль и сервер окончательно зависли. Ни на какие команды консоль не отвечала, выключить виртуальный сервер через сам VirtualBox было невозможно. Выключить сервер вместе с VirtualBox удалось только через Ctrl + Alt + Delete.
Сейчас при попытке запустить образ с сервером загрузка зависает на следующем моменте:
По всем признакам мне кажется что причина в переполнении виртуального жёсткого диска (8 Гб). У меня это вызывает некоторое недопонимание в виду того, что в настройках образа носитель обозначен как «динамически расширяющийся»:
Плюс тут ясно показано, что как минимум ещё 3 Гб. свободно (впрочем, этот момент отбросим из предположения, что остаток места съедает своп при запуске).
Вопрос следующий: можно ли как-то изменить размер виртуального носителя (поставить, допустим, не 8, а 40 Гб) образа уже после того, как этот образ начал использоваться? В настройках нигде такого не нашёл. Или это только через удаление образа из VirtualBox и создание заново нового образа с нужным размером?
Если это имеет значение, то VirtualBox использовал версии 4.2.0, сейчас обновился до 4.2.6 — ничего не изменилось. Основная ОС на компе, из-под которой запускается VirtualBox — Windows 7.
Виртуальные машины достаточно часто используются в наше время для тестирования различных операционных систем и выполнения других задач. Одна из самых популярных свободных программ для запуска виртуальных машин - VirtualBox. Когда вы создаете новую машину, вам необходимо создать для нее жесткий диск и указать его размер. Но вы не всегда можете угадать сколько места будет занимать та или иная машина.
Есть, конечно, динамические виртуальные диски, которые занимают место только при записи в них файлов, но это неполное решение проблемы, потому что нельзя все спланировать наперед. В этой статье мы рассмотрим как увеличить размер виртуального диска VirtualBox.
Выводы
В этой статье мы рассмотрели как увеличить размер виртуального диска virtualbox с помощью командной строки и как предоставить полученное пространство вашей гостевой системе. Если у вас остались вопросы, спрашивайте в комментариях!
При создании виртуальной машины в программе VirtualBox пользователю необходимо указать объем, который он хочет выделить под нужды гостевой ОС. В некоторых случаях выделенного количества гигабайт со временем может перестать хватать, и тогда актуальным будет вопрос об увеличении объема виртуального накопителя.
Способ 1: Утилита VBoxManage
В арсенале VirtualBox есть утилита VBoxManage, которая позволяет управлять размерами дисков через командную строку или терминал в зависимости от типа операционной системы. Мы рассмотрим работу этой программы в Windows 10 и CentOS. Условия для изменения объема в этих ОС следующие:
- Формат хранения: динамический;
- Тип диска: VDI или VHD;
- Состояние машины: выключена.
Прежде, чем начать изменение, вам нужно узнать точный размер диска гостевой ОС и путь, где хранится виртуальная машина. Это можно сделать через VirtualBox Менеджер.
На панели меню выберите «Файл» > «Менеджер виртуальных носителей» или просто нажмите Ctrl+D.
Напротив ОС будет указан виртуальный размер, а если выделить ее кликом мыши, то внизу появится информация о расположении.
Подключение виртуального диска в Windows
Эта ОС после подключения накопителя все еще не будет видеть дополнительный HDD, поскольку он не был инициализирован.
-
Запустите виртуальную машину.
Теперь диск виден в Проводнике и готов для работы.
2. Решение проблемы
Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант - динамически расширяемый.
- Запустить VirtualBox.
- Открыть менеджер виртуальных дисков (сочетанием клавиш Ctrl + D)
- Во вкладке Жесткий диск, выбрать из списка тот, который расширяем
- Ниже, во вкладке Атрибуты, увеличиваем объём диска с помощью бегунка
- Так же можно увеличить объём диска, вручную прописав его размер в окошке справа от бегунка
- Подтверждаем
- После короткого ожидания, размер диска увеличен
- Далее необходимо запустить гостевую ОС и расширить диск уже там
Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант - фиксированный.
- Открыть менеджер виртуальных носителей
- Выбрать диск
- Сверху, кнопки с вариантами действий над диском
- "Копировать"
- В открывшемся окне необходимо открыть "Экспертный режим"
- В правой части окна "Хранение на жёстком диске"/"Storage on physical hard disk", нужно выбрать Динамически расширяемый вариант создания диска
- Подтвердить копирование
- Займет какое-то время
- В менеджере виртуальных носителей появится копия диска, только уже тип диска будет динамический.
- Выбрать диск и расширить его
- После расширения, копию расширенного диска необходимо примонтировать в виртуальной машине, вместо старого
Способ 2: Создание второго виртуального накопителя
Способ изменения размера диска через утилиту VBoxManage не единственный и не самый безопасный. Гораздо проще подключить второй виртуальный накопитель к созданной машине.
Конечно, имеет смысл создавать второй диск, только если планируется существенно увеличить объем накопителя, и не планируется хранить файл (-ы) большого размера.
Опять же рассмотрим способ добавления накопителя на примерах Windows 10 и CentOS.
3. Расширение дискового пространства в гостевой системе
Гостевая ОС, Windows
- Запустить гостевую ОС
- Открыть управление дисками.
- для Win7 - правым кликом по иконке Мой компьютер - Управление - Управление дисками
- для Win10 - правым кликом по иконке Windows/Пуск - Управление дисками
Гостевая ОС, думаю любой дистрибутив GNU/Linux
Я расширял в Debian-Arch подобныхПриветствую, меня зовут Иван, я системный администратор. Решил попробовать писать такие вот заметки на задачи, которые делаю редко, чтобы потом вспомнить, если понадобится. Надеюсь и ещё кому-то пригодится.
Все пути и имена разделов мои, меняйте соответственно на своё. Все действия на свой страх и риск, делайте бэкапы.
Задача следующая. Есть виртуалка, к ней подключен виртуальный диск, на нём система Debian 10, разметка сделана автоматически с LVM, отдельные разделы /var , /tmp , /home и т.д. Требуется расширить существующий раздел /root не добавляя дополнительный том в LVM
(И да, если вам удобнее - есть возможность расширять разделы LVM добавляя дополнительные физически тома в группу томов, я такой способ сейчас не описываю, у меня немного другая задача)
Пункт 1. Увеличение размера диска средствами VM
Этот пункт зависит от используемой вами VM и типа виртуального диска, так что я опишу только свой пример.
Для начала отключаем виртуалку и увеличиваем размер виртуального диска. У меня она на VirtualBox, диск динамический .vhd. Так же, насколько помню, без проблем изменяется динамический .vdi, с другими не подскажу.
Для примера увеличим с 200 до 250 Гб.
Пункт 2. Увеличение раздела средствами системы
После этого мы видим, что в системе "физический" том sda увеличился
Наш раздел LVM - sda5, но есть нюансы, о них ниже
Я использовал утилиту parted, так как она меняет размер без размонтирования, соответственно корневой раздел меняется без лишних заморочек.
Gparted тоже весьма удобно, но только если у вас есть графическая оболочка, либо если вы загрузились с соответствующего LiveCD. (описывать изменение раздела в gparted я не буду, там всё просто, разберётесь.)
Если у вас таблица разделов MBR - разметка будет похожа на мою, и раздел lvm sda5 будет находиться внутри расширенного раздела sda2, поэтому чтобы нам увеличить sda5 нужно будет сначала увеличить sda2
Ести таблица у вас GPT - расширенного раздела скорее всего не будет, так что просто увеличиваем раздел с флагом LVM.
Команда p показывает нам текущий список разделов.
Размер меняется командой
resizepart [номер раздела]
Указать можно как итоговый желаемый раздел диска (250gb например) так и размер в процентах (100%) - то есть использовать всё свободное пространство. Для примера ниже я показал оба варианта.
Выходим из parted командой q
Пункт 3. Увеличение LVM разделов
LVM ещё не знает, что размер её "физического" раздела увеличился. Подсказать можно командой:
pvresize [путь к устройству]
После этого можно посмотреть через утилиту pvs , что появилось свободное место в колонке PFree (там было ноль)
Путь к разделу состоит из /dev/[имя группы разделов]/[имя раздела]. Где LV - имя раздела, VG - имя группы разделов. Посмотреть можно командой lvs
Затем увеличиваем размер интересующего нас логического раздела командой.
lvresize --resizefs --size 15g /dev/ElasticLog-vg/root
можно изменять размер не обязательно на конкретное значение, а допустим +15g или -15g
Через lvs мы видим тут, что раздел root увеличился до 15 ГБ.
В целом на этом всё. Если я что-то упустил, либо вы знаете способы лучше - с радостью поправлю статью.
1. О типах виртуальных носителей
Выдержка из документации, приведена ниже. Ссылка на доку. Искать часть 5.2. Disk Image Files (VDI, VMDK, VHD, HDD)
Файл образа диска виртуальной машины находится на хостиг-системе и воспринимается гостевой системой, как жёсткий диск определённой геометрии. Когда гостевая ОС читает с диска или записывает на него, VBox перенаправляет запрос в файл образа.Как и физический диск, виртуальный носитель имеет размер и ёмкость, которые необходимо указать при создании диска. Только в отличие от физического носителя его можно расширять.
VBox поддерживает типы виртуальных носителей:
- VDI. Собственный тип, формат контейнера жёсткого диска от VBox
- VMDK. Популярный открытый формат контейнера, используется многими другими продуктами виртуализации
- VHD. Тип виртуального носителя, который использует Microsoft
- HDD. Также поддерживаются файлы изображений Parallels версии 2
Варианты создания диска внезависимости от выбранного типа виртуального носителя:
- Фиксированный размер. Если создаём образ с фиксированным размером, то на хостинг-системе будет создан файл образа примерно такого же размера, как и емкость виртуального диска. Таким образом, для диска размером 10 ГБ у нас будет файл размером 10 ГБ
- Макимальный объём диска, расширить нельзя.
- Максимальный объём диска можно увеличить.
Увеличение файловой системы
То, что вы увеличили доступный размер диска еще ничего не меняет, как ничего не поменяет и то, что вы добавите новый жесткий диск к системе. Дальше вам нужно загрузится в вашу виртуальную машину расширить диск virtualbox и увеличить пространство, занимаемое файловой системой, для этого можно использовать утилиту Gparted. В дистрибутивах Linux она поставляется по умолчанию, запустите утилиту:
Здесь вы увидите отмеченное серым доступное пространство в конце диска. Теперь вы можете изменить размер для последнего раздела нажав на нем правой кнопкой и вызвав контекстное меню, затем выбрав "изменить размер/переместить":
Когда завершите, не забудьте нажать "Apply" чтобы применить все операции.
Читайте более подробно о том, как пользоваться Gparted в отдельной статье. Если у вас в качестве гостевой системы установлена Windows, вы можете использовать стандартную утилиту управления дисками или скачать ISO образ Gparted.
Как увеличить размер виртуального диска VirtualBox
В VirtualBox можно использовать три основных формата дисков - это VDI, VHD и VDMK. Я не буду здесь рассматривать чем они отличаются. Но важно то, что изменить размер можно только для VDI и VHD. Для дисков VDMK есть обходной путь.
Для увеличения размера диска нужно использовать команду в терминале или в командной строке, в графическом интерфейсе такой функции, к сожалению, нет. Также вам нужно знать полный путь к вашему диску. Допустим, наш диск находится по адресу ~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi в Linux. Давайте посмотрим информацию о нем, чтобы знать текущий размер:
VBoxManage showhdinfo ~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi
Здесь размер отмечен в поле capacity и в данном примере он составляет 22075 мегабайта. Важно знать размер в мегабайтах, так как именно его мы будем использовать для увеличения диска. Чтобы увеличить размер виртуального диска virtualbox используется та же команда, только с параметром modifyhd:
VBoxManage modifyhd ~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi --resize 32075
Здесь мы увеличили размер диска на 10 гигабайт. Важно чтобы размер, который вы указываете в параметре resize был не меньше текущего размера диска, иначе данные операционной системы могут быть повреждены и вся суть этой операции теряет смысл.
Если у вашей машины есть снимки состояния, то их размер тоже нужно изменить, иначе ничего не заработает. Для этого можно использовать такой цикл:
for x in ~/VirtualBox\ VMs/Ubuntu17.04/Snapshots/*.vdi ; do VBoxManage modifyhd $x --resize 32075 ; done
Помните, что размер и имена дисков должны совпадать во всех командах для одной машины. Для формата VDMK увеличение размера диска VirtualBox не поддерживается, но зато можно его конвертировать в vdi, увеличить, как описано выше и конвертировать обратно:
VBoxManage clonehd "~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdmk" "~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi" --format vdi
VBoxManage modifyhd "~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi " --resize 32075
VBoxManage clonehd "~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi " "~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi_resized.vmdk" --format vmdkИспользование VBoxManage в Linux
Вам потребуются root-права для работы с терминалом и самой утилитой.
vboxmanage modifyhd ВАШ_UUID --resize 25600
В Linux невозможно расширить раздел, пока запущена сама ОС.
Либо в поле «Новый размер» впишите число, которое указано в строке «Максимальный размер».
Увеличение диска VirtualBox в Windows
В ОС Windows команда будет выглядеть немного по-другому, а путь к файлу будет начинаться с диска C:. Чтобы выполнить команду VBoxManage сначала необходимо перейти в папку с исполняемыми файлами VirtualBox:
cd “C:\Program Files\Oracle\VirtualBox”
Затем, запустите команду чтобы увеличить размер диска virtualbox, как было описано раньше, путь к файлу замените на свой:
VBoxManage showhdinfoC:\Users\Admin\VirtualBox VMs\Windows 7\Windows 7.vdi
Затем изменяем размер этого диска, помните, что размер нужно указать в мегабайтах, и он должен быть больше чем текущий.
VBoxManage modifyhd "C:\Users\Admin\VirtualBox VMs\Windows 7\Windows 7.vdi" --resize 32075
Способы увеличения размера диска в VirtualBox
Точно рассчитать размер, который понадобится после установки системы в ВиртуалБокс, удается не всегда. Из-за этого некоторые пользователи сталкиваются с нехваткой свободного пространства в гостевой ОС. Есть два способа добавить свободное пространство к виртуальной машине без удаления образа:
- Использование специальной утилиты от VirtualBox;
- Добавление второго виртуального жесткого диска.
Создание дополнительного накопителя в VirtualBox
- Выделите виртуальную машину и на панели инструментов нажмите на кнопку «Настроить».
Использование VBoxManage в Windows
- Запустите командную строку с правами администратора.
CD C:\Program Files\Oracle\VirtualBox
vboxmanage modifyhd "Путь до виртуальной машины" --resize 33792
vboxmanage modifyhd "D:\Virtualbox VMs\Windows 10\Windows 10.vdi" --resize 33792
"D:\Virtualbox VMs\Windows 10\Windows 10.vdi" — путь, где хранится сама виртуальная машина в формате .vdi (обратите внимание на кавычки — без них команда не будет работать).
--resize 33792 — атрибут, который ставится через пробел от закрывающих кавычек. Он обозначает новый объем диска в мегабайтах.
После успешного изменения объема диска необходимо настроить саму виртуальную ОС, поскольку она будет продолжать видеть прежнее количество ГБ.
-
Запустите операционную систему.
Дальнейшие действия возможны исключительно на Windows 7 и выше. Windows XP не поддерживает возможность расширения тома, поэтому потребуется использование сторонних утилит вроде Acronis Disk Director.
Подключение виртуального диска в Linux
В отличие от Виндовс, в дистрибутивах на базе Линукс не нужно инициализировать накопители. После создания и подключения диска к виртуальной машине, остается проверить, все ли сделано правильно.
-
Запустите виртуальную ОС.
Это были распространенные и наиболее удобные варианты увеличения размера диска виртуальных машин в ВиртуалБокс. Не забывайте делать резервные копии важных ОС, если решили пользоваться утилитой VBoxManage, и следите за тем, чтобы на основном диске, откуда выделяется место для виртуального накопителя, было достаточно свободного места.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Еще статьи по данной теме:
Спасибо! все понятно, первый проще, а второй с линуксом еще возиться. Только вот возник у меня такой вопрос: обязательно ли все действия проделывать через менеджер виртуальных носителей HDD «Vbox» для разделения в неформатированного пространства, или можно проделать все то же самое через обычные программы не относящиеся к виртуальным машинам, например парагон, Acronis Disk Director, MiniTool Partition Wizard Technician… ведь эти программы тоже позволяют разделять пространство, как не занятое без повреждения файлов… будет ли работать такой способ?
Здравствуйте, если вы хотите сторонними программами увеличить пространство виртуального HDD, то сделать это не получится. Акронис, МиниТул и др. воспринимают даже виртуальный жесткий диск как отдельный накопитель, идентичный физическому. Соответственно, они не понимают, откуда брать еще гигабайты для увеличения пространства. Утилита VBoxManage взаимодействует с реальным жестким диском, поэтому только она позволяет прибавить к виртуальному пространству еще несколько ГБ, резервируя их на физическом винчестере. А уже затем, для слияния нераспределенного пространства с виртуальным HDD идут в ход перечисленные вами проги.
и возможно еще один вариант, создать новый виртуальный HDD и перекинуть туда все файлы со старого
спустя ночь у меня все же нашелся вариант по увеличению места на VHD/
создаем новый VHD с объемом который нужен, далее, создаем образ нашего VHD, на котором не достаточно места, через Acronis True Image, после создания образа c расширения tib, делаем восстановление этим созданным файлом в новый увеличенный объемом VHD… старый vhd придется переименовать, а новый переименовать под старый и путь файла vhd должно оставаться таким же.если vhd занят системой то перезагрузите и переименуйте.
способ может не подойти тем у кого очень мало места, ведь по мимо того чтоб создать образ в acronis true нужно еще создать новый vhd и при этом хранить старый на случай как бэкап.Добрый день, хочу увеличить диск на виртуал боксе, но есть проблема, мне нужно ввести в строку команду CD C:\Program Files\Oracle\VirtualBox , но директория не меняется и я не могу продвинуться, хотя путь до папки указан верно, что мне сделать посоветуйте.
Здравствуйте, а в чем, собственно, у Вас проблема? Судя по скриншоту, путь сменился с стандартного C:\Windows\System32 на C:\Program Files\Oracle\VirtualBox.Теперь вводите команду vboxmanage modifyhd в соответствии с рекомендациями, описанными в этой статье.
Добрый день , всё сделал как написано, но VBoxManage область не создаётся , что делать?
Добрый день, у меня всё не хватает памяти и сильно лагает виртуальный комп, может это из за того что у меня на CD дисководе 0 байт? , можно ли как то увеличить , и 55 мб я не устанавливал на CD диске. Что можно сделать?
Здравствуйте, нет, дело не в CD — это инструмент «Дополнения VirtualBox» и он эмулируется как компакт-диск (особенность работы виртуальной машины). Здесь и не должно быть свободного места, т.к. этот CD предназначен не для записи, а для считывания данных, поэтому ничего с эмулированным дисководом делать не стоит. Лагает десятка, скорее всего, из-за того что вы не настроили виртуальную машину правильно. Зайдите в ее настройки, установите ОЗУ от 4 ГБ (чем больше, тем лучше), другие рекомендации по настройке вы найдете в этой статье (раздел «Настройка параметров виртуальной машины»).
Что касается выделенного количества — да, 35 ГБ под Windows 10 маловато, но не критично. Я могу вам посоветовать либо воспользоваться этой статьей, добавив еще хотя бы 15 ГБ, либо создать новую виртуальную машину с десяткой, выделив побольше места под системный раздел. Если вы не можете выделить 4 ГБ оперативной памяти для виртуальной Win 10, можете попробовать установить 32-битную версию (конечно, при условии, что 64-бита — не обязательный критерий для вас).
Ну я же уже выделил ещё 5 гб на диск E, и + ещё там не вся память закончилась , поменял настройки дк у меня вообще теперь перестало заходить , а стало выдавать вот эту ошибку, а создать новую виртуальную машину- для этого придётся удалить старую, а на старой виртуалке стоит андройд студия , и я с ней возился неделю так как не открывает шаблоны из за нехватки памяти, если я создам новую мне уже ни кто не поможет с андройд студио. Поэтому хотелось бы оставить как то старую , и сделать так что бы она не лагала.
Зашёл в папку основную где установлена программа, там были видео на 3 гб видимо машина записывала действия мои и я удалил ух, точнее перенёс , потом зашлё в вируал бокс а у меня там куда то всё подевалось, я обратно видео вставил но ни чего не помогло и в итоге у меня делась куда то вирт машина , хотя память так и занята.
Ваши машины хранятся в папке Virtualbox VMs, если вы там найдете виртуальный жесткий диск с Windows 10 в расширении .vdi, можете монтировать ее в хостовую Виндовс через тот же Daemon Tools Lite. В таком случае он появится как подключенный жесткий диск уже в основной операционной системе и все файлы будут доступны для использования — вы сможете скопировать папки и файлы Андроид Студио и перенести их на новую виртуальную Windows, так как судя по вашему комментарию под другой статьей, вы начали устанавливать Windows 10 заново.
А вообще вы можете попробовать подключить найденный .vdi с десяткой в папке Virtualbox VMs. Для этого откройте VirtualBox, зайдите в «Файл» — «Менеджер виртуальных носителей», найдите в списке .vdi с десяткой и подключите его. Если нужно, укажите путь к этому диску, используя поле «Расположение». И когда диск с десяткой появится в списке, сверху нажмите «Подключить» (у меня на примере он уже подключен, поэтому вместо этого кнопка «Отключить»).
После ресайза виртуального диска и запуска управления дисками видна приведенная на скриншоте картинка. Опция «расширить том» — не активна. Видны две дополнительные области -Разделы восстановления. Помечены стрелками. Может из-за них нераспределенная область не присоединяется к основной?
Здравствуйте, нет, дело не в этих разделах восстановления. Вы же хотите изменить системный том (С:), добавив к нему нераспределенную область. Этого не получится сделать утилитой «Управление дисками». Скачайте для таких целей бесплатные MiniTool Partition Wizard Free или Aomei Partition Assistant. Через них присоедините свободные 32 ГБ, и они в режиме PreOS (при перезагрузке и до запуска Windows) добавят эту область к разделу С.
Спасибо за отличный совет! Воспользовался им в обоих вариантах. Все прекрасно сработало. Ваш сайт — супер!
Во время работы с VBox так вышло, что однажды мне не хватило места на виртуальном диске. Почитав гайды в интернете, нашёл как увеличить размер диска. Только ничего не получилось. Оказалось, что при создании диска, был выбран фиксированный размер дискового пространства.
Задачи
- Разобраться с типами дисков
- Расширить виртуальный диск с фиксированным объёмом
- Завершить расширение диска в гостевой ОС
- Не потерять данные на расширяемом виртуальном диске
Читайте также: