Я пытаюсь выяснить, как изменить размер файла VDI. Я новичок в VirtualBox, и мне нужно многому научиться. Но я думаю, что понял основы. Я уже установил Windows 7 в качестве моего первого гостя. Хостом также является Windows 7. Я не был уверен, сколько дискового пространства выделить, поэтому я выбрал VDI размером 40 ГБ и фиксированный размер для увеличения производительности. Но сейчас я передумал и хочу добавить еще 10 ГБ. Я перебираю программу и читаю содержимое меню Справка, но это не помогает. Здесь объясняются контроллеры дисков, SAS, SATA, SCSI, yada, yada, но не то, что я ищу.
Я искал ответы во всемирной паутине, форум VirtualBox говорит, что вы должны использовать Gparted, если вы хотите самый простой способ (в некоторых модах есть стикеры). Некоторые пользователи обсуждают использование dd
команды. Но это все, что связано с Linux. Кроме того, в SU много вопросов, касающихся увеличения и уменьшения размеров файлов VDI, но все они касаются использования Linux в качестве хоста и Windows в качестве гостя.
Я нашел этот хороший пост в блоге о том, как это сделать с помощью modifyhd
команды VBoxManage. Этот парень также делает это на Linux в качестве хоста ОС. Он даже хотел того же размера (50 ГБ) для своего файла VDI, что и я для своего, какое совпадение. Так что я подумал, что все равно попробую, сделаю или сломаю. Что может пойти не так? ... а? Ну, это ужасный сюрприз, который я получил.
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "%userprofile%\virtua
lbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab.vdi" --resize 51200
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize hard disk operation for this format is not impleme
nted yet!
C:\Program Files\Oracle\VirtualBox>
Скажите, что сейчас?! ... не можете изменить размер виртуальных жестких дисков формата VDI? Вы не говорите? Не поддерживает свой собственный формат? Теперь как насчет этого ...
Неужели нет простого способа изменить размер файла VDI, желательно с помощью нескольких кликов внутри VirtualBox? Что-нибудь в процессе?
источник
modifyhd
в настоящее время известно как ,modifymedium
но остается обратная совместимость - см virtualbox.org/manual/ch08.html#vboxmanage-modifyvdiОтветы:
Резюме:
VBoxManage.exe modifyhd --resize
может увеличить (но не уменьшить) логический размер образа диска (размер, видимый гостевой ОС).VBoxManage.exe modifyhd inputfile.vdi --compact
может уменьшить размер образа физического диска (размер файла образа на диске, видимый операционной системой хоста). Это, однако, не меняет размер логического диска. Обратите внимание, что это работает только в том случае, если в гостевой ОС сначала было обнулено свободное место.modifyhd
работает только с вариантом динамического формата («динамически размещаемое изображение»).modifyhd
работает только с изображениями VDI и VHD.Подробнее см. Раздел 8.23. VBoxManage modifyhd в руководстве.
Причина, по которой уменьшение размера логического диска VDI еще не было реализовано, состоит в том, чтобы предотвратить повреждение данных, которое может произойти, и в результате вы получите не загружаемые виртуальные машины. Поэтому при использовании этой
--resize
опции новый размер диска должен быть больше текущего размера. Не допускается, чтобы он был меньше или равен текущему размеру. Другими словами, размер диска 40 ГБ можно изменить только до 41 ГБ или больше, его нельзя изменить до 40 ГБ (это просто глупо) или 39 ГБ или меньше.Старые версии VirtualBox создавали файлы VDI как «фиксированный» вариант формата. Новая настройка по умолчанию теперь создает варианты «динамического» формата при создании новых файлов VDI (образ виртуального диска). (Я предполагаю, что это так с момента введения варианта динамического формата, какой бы версии он не был представлен.)
Поэтому сообщение об ошибке «операция для этого формата еще не реализована» означает, что в вашем файле VDI используется «фиксированный» вариант формата. Чтобы обойти эту проблему, вам нужно будет клонировать ваш файл VDI с помощью
clonehd
команды. Чтобы посмотреть, в каком формате находится ваш VDI-файл, вы можете использоватьshowhdinfo
команду.Рабочий пример
Показать VDI информацию о текущем диске.
Входная команда:
vboxmanage.exe showhdinfo path\inputfile.vdi
Видите, где написано «фиксированный дефолт»? Вот почему он выдает ошибку выше, когда вы пытаетесь изменить его размер.
Клонировать старый файл VDI в новый файл VDI.
Входная команда:
vboxmanage.exe clonehd path\inputfile.vdi path\outputfile.vdi
Вуаля! Старый файл теперь клонирован в новый файл. Поскольку по умолчанию в новых версиях VirtualBox используется вариант «динамического» формата, вам не нужно это явно определять. Хотя, если вы работаете с более старой версией VirtualBox, вам может потребоваться установить параметр «динамический» (если он вообще доступен), чтобы обеспечить лучшую совместимость и / или гибкость с будущими версиями VirtualBox.
Показать VDI информацию о клонированном диске.
Входная команда:
vboxmanage.exe showhdinfo path\inputfile_clone.vdi
Видите, как сейчас написано «динамический дефолт»? Как мило!
(Примечание: причина, по которой здесь указан физический размер 7806 МБ, заключается в том, что я использовал
--compact
опцию в исходном файле VDI в попытке принудительного преобразования в вариант динамического формата. Просто то, что я читал на форуме VirtualBox, предположительно работал бы со старыми версиями, поэтому я подумал, что могу попробовать. Это не сработало.)Изменение размера клонированного диска.
Входная команда:
vboxmanage.exe modifyhd path\inputfile.vdi --resize 51200
Успех! Никакого формата фигня больше нет. Только не забудьте изменить размер нового клонированного диска, а не исходного. Имейте в виду, что размер выражается в МБ. Я считаю, что вы можете использовать, например,
51200
а также50G
(или, возможно, "ГБ"). Существует также опция,--resizebyte
которая может быть использована для выражения размера в байтах.Показать информацию VDI об измененном диске клона.
Входная команда:
vboxmanage.exe showhdinfo path\inputfile_clone.vdi
Это оно! Отсюда нужно добавить этот клонированный диск в качестве нового VDI для виртуальной машины. Вы делаете это внутри VirtualBox. Я не буду вдаваться в это. Если вы смогли прочитать и понять это до сих пор, то вам, вероятно, больше не нужно руководствоваться. Вы можете удалить старый «исправленный» файл или оставить его в качестве резервной копии. Убедитесь, что вы протестировали новый файл VDI, прежде чем удалить исходный файл.
Запись! Вы не сразу увидите новый размер клонированного диска. Вы должны загрузить виртуальную машину вместе с ней, а затем использовать инструмент управления разделами, чтобы расширить раздел для заполнения виртуального диска (или создать больше разделов). Для Windows просто запустите,
diskmgmt.msc
и вы сможете расширить раздел там.Скриншоты
Ссылка
источник
modifymedium
/modifyhd
к самому файлу снимка.Вот довольно простой процесс, который помог мне изменить размер диска фиксированного размера VirtualBox (v. 4.3.16) на динамический диск 60 ГБ на моем Mac (OS X 10.9.4) с Linux (Ubuntu 14.04), работающей в качестве гостевой ОС:
В Терминале на Mac вставьте компакт-диск в каталог с файлом VDI и введите следующее:
В разделе хранилища приложений VirtualBox добавьте mydiskClone.vdi в качестве второго HD, затем запустите ВМ в обычном режиме.
В командной оболочке гостевой ОС введите:
Перезагрузите гостя. Когда он вернется, снова зайдите в оболочку и введите:
Завершение работы гостевой ОС.
Снова в разделе хранилища приложений VirtualBox установите mydiskClone.vdi в качестве загрузочного диска. Затем запустите гостевую ОС и проверьте новый размер диска, используя свойства «Компьютер» в файловом браузере.
источник
Клонирование на самом деле является лучшим решением, и есть более простой способ сделать это.
В меню «Файл» выберите «Virtual Media Manager», затем нажмите «Копировать». Источником будет ваш оригинальный жесткий диск vdi с фиксированным размером, а местом назначения будет что-то новое по вашему выбору (включая опцию нового).
источник
ОК, так что я сделал это без клонирования .
У меня был VDI-файл объемом 100 ГБ (фиксированный формат) с Ubuntu. Работает нормально. Я хотел освободить место в хосте за счет сокращения виртуальной машины.
шаги:
Удалил ненужные файлы. 45 ГБ бесплатно. Мне нужно только 30 ГБ, чтобы освободиться.
У меня только один раздел, поэтому я ничего не могу сделать из гостевой Ubuntu. Установил Ubuntu Live в виртуальную машину и загрузился с нее.
Используется
gparted
для сокращения раздела до 70 ГБ. Создан новый раздел в неиспользуемом пространстве вext4
.Свободное место в новом разделе (30 ГБ).
Следуйте этому руководству: Сжатие виртуального жесткого диска в Ubuntu в качестве гостевой и хост-ОС с использованием zerofree
Мой новый раздел был
/dev/sda3
.Компактный VDI
VBoxManage modifyhd "ubuntu.vdi" compact
Это заняло некоторое время, но это сработало!
источник
--compact
работает только для динамически распределяемых изображений, а не для изображений фиксированного размера.Как-то поздно на вечеринку здесь, но я добавлю свои 2 цента. Сначала я скажу, что это запутанный процесс, который сведет с ума большинство случайных пользователей, пытающихся разобраться. Почему Oracle не включил это в графический интерфейс VBox - загадка.
Шаг 1: Используйте командную строку Windows (VBoxmanage), чтобы увеличить размер диска. Совет здесь заключается в том, чтобы использовать идентификатор диска vdi вместо того, чтобы бесконечно пытаться ввести местоположение файла и получать сообщения об ошибках.
Шаг 2: Затем вам нужно расширить основной раздел, чтобы использовать новое пространство. Загрузите gparted iso и создайте новую виртуальную машину в VBox, используя ее в качестве источника IDE. Затем используйте существующий диск VDI в качестве диска SATA. Не создавайте виртуальный диск для этой машины. Загрузите новую машину, и у вас будет запущен gparted Gui. Это может занять пару перезагрузок, чтобы разобраться в себе.
После запуска gparted вы увидите разделы вашего диска vdi, размер которых вы хотите изменить. ВАЖНО: Вам нужно будет удалить расширенный раздел и заменить файловое пространство, чтобы иметь возможность увеличить размер основного раздела, поэтому не выделяйте все новое пространство для PP. После того, как вы это сделаете, вам нужно будет указать оставшееся пространство для нового расширенного раздела и создать в нем новое пространство подкачки. Я обнаружил, что это намного проще, чем суетиться с командной строкой.
Не кусок пирога, но это выполнимо ... мне потребовалось около полдня на изучение сети, чтобы понять это. Запуск win8.1 / Ubuntu на VBox
Вилли
источник
Вот как я изменил размер / увеличил / расширил фиксированный образ VDI (мой процесс их сжатия находится в другом ответе):
dd if=/dev/sda of=/dev/sdb status=progress bs=128M
и дождитесь ее завершения. Это позволит скопировать исходный диск на новый побайтный диск, включая MBR и т. Д. (Примечание. Это может занять некоторое время в зависимости от размеров исходного диска, скорости диска на хосте и т. Д.). (Примечание: если вашей гостевой виртуальной машине выделено более 1 ГБ ОЗУ, вы можете изменить параметр «bs» на «bs = 256M», что может немного увеличить скорость копирования).Несмотря на то, что вышеописанное отлично сработало для меня несколько раз, кажется, если использовать LVM, потребуется еще несколько шагов. (ПРИМЕЧАНИЕ. Если используется LVM, вы можете просто добавить новый диск нужного размера, а затем добавить этот диск в группу томов.) В CentOS 6.6, где используется LVM, мне также пришлось увеличить пространство внутри LVM. Итак, после загрузки нового диска, созданного выше, я сделал что-то вроде этого (различные части этого будут различаться в зависимости от имен вашей установки):
Получить информацию о настройке LVM:
Расширить физический объем (PV) (группа томов (VG) автоматически будет отражать такое же увеличение):
Расширить логический том (LV):
Расширить файловую систему:
До:
Команда:
После:
источник
Вот как я изменил размер / уменьшил / уменьшил фиксированный образ VDI (мой процесс его расширения находится в другом ответе в этой же теме):
Сначала краткая справка о том, зачем мне это нужно (поскольку существует множество сценариев сокращения VDI, некоторые из которых могут оказаться неосуществимыми при таком подходе): Несколько лет назад я создал фиксированный VDI для гостевой системы Windows Server и оценил его в 600 ГБ. Я не помню, почему я выбрал этот размер, но на сегодняшний день я использовал только 100 ГБ в этом госте и хочу вернуть большую часть оставшегося пространства. Поэтому в моем случае я хочу сохранить все данные в гостевой системе и просто хочу освободить неиспользуемое пространство в гостевой системе.
(Следующие шаги в основном основаны на моей памяти за последние 2 часа, поэтому извиняюсь, если что-то здесь упустил.)
Загрузите гостевую виртуальную машину (должна загрузиться в gparted live). Изнутри gparted окружающей среды:
Предполагая, что ваш «оригинальный» диск - / dev / sda, а «новый» - / dev / sdb (если нет, измените следующую команду соответствующим образом), то мы будем копировать каждый раздел по одному. Для каждого раздела, отмеченного на шаге выше, введите в терминале следующую команду:
и дождаться его завершения. Это скопирует раздел 1 с исходного диска в раздел 1 на байтовом диске нового диска.
Повторите команду для каждого оставшегося раздела:
Примечания:
Последний шаг, который я должен был сделать для моего гостя Windows, был установить / исправить MBR и / или BCD. (Я не знаю, требуется ли что-либо из этого для гостя Linux, поскольку я еще этого не сделал.) Если я просто загрузился с моего нового VDI, у меня появилось окно с сообщением об ошибке загрузки Windows с этим содержимым (к сожалению, я не сделал этого) скриншот, прежде чем я решу проблему):
Получите ISO-образ установки или восстановления Windows (в идеале тот, который соответствует вашей версии ОС) и настройте гостевую виртуальную машину для загрузки с нее (опять же, Настройки хранилища).
Запустите гостевую виртуальную машину и выберите загрузку с CD / DVD.
Как только вы в командной строке, выполните следующие команды (спасибо http://loverofcode.blogspot.com/2013/11/fixed-0xc000000e-boot-error.html за информацию!):
Эта последняя команда должна найти вашу установку Windows и предложить добавить ее в BCD. Ответьте «Y».
источник
Я предоставляю ответ, распространяющийся на любую размещенную операционную систему, работающую на любой операционной системе. Этот ответ предполагает, что вы хотите увеличить размер (расширить).
Примечание. Как указано djule5 (см. Комментарий сразу после вопроса),
modifyhd
теперь он известен какmodifymedium
(но остается обратно совместимым). Здесь я используюmodifymedium
.1. Выйдите из своей работающей виртуальной машины
Да, этот ответ для файла VDI, уже используемого виртуальной машиной VirtualBox.
2. Откройте терминал на вашем хосте, чтобы изменить размер образа диска
Командная строка VBoxManage не хочет изменять размер образа диска, используя имя файла VDI.
Поэтому определите UUID вашего образа диска.
Увеличьте размер образа диска.
3. Используйте инструмент разделения, чтобы расширить логический раздел
Запустите размещенную виртуальную машину. Затем используйте инструмент разбиения .
Некоторые инструменты для хостинга GNU / Linux:
Если размещенная система использует Windows:
4. Проверьте свободное место в разделе
Размер вашего файла VDI (в вашей хост-системе), возможно, не изменился, поскольку ваша виртуальная машина еще не использовала дополнительный объем пространства. Веселиться.
источник
Это будет работать для меня и должен указать общий объем емкости жесткого диска. Не пространство, что нам нужно увеличить ...
источник