Как мне увеличить размер жесткого диска виртуальной машины?

enter image description here

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


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

wim@wim-ubuntu:/media/data/winxp_vm$ VBoxManage modifyhd wim.vdi --resize 20000VBoxManage: error: Cannot register the hard disk '/media/data/winxp_vm/wim.vdi' {46284957-2c09-4e70-8a49-bfbe0f7f681d} because a hard disk '/home/wim/VirtualBox VMs/winxp_vm/wim.vdi' with UUID {46284957-2c09-4e70-8a49-bfbe0f7f681d} already existsVBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupportsContext: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp

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

enter image description here

Кстати, там написано FATAL: Could not read from the boot medium! System halted.


VDI должен быть повторно подключен к виртуальной машине после команды VBoxManage. Кроме того, размер раздела необходимо будет изменить из Windows, потому что у вас будет это пустое пространство:

enter image description here

Я смог легко изменить размер раздела, используя небольшую бесплатную программу под названием EASEUS Partition Master 9.1.0 Домашняя версия.

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

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

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

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

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

set PATH=%PATH%;"C:\Program Files\Oracle\VirtualBox" 

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

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

Чтобы получить к нему доступ, нажмите File -> Virtual Media Manager ...

Откроется следующее окноVirtualBox Virtual Media Manager

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

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

В окнах, открытых Computer Management (найдите его в меню "Пуск"), выберите Storage -> Disk Management в левом меню (в Windows 10 вы можете найти его как create and format hard disk partitions непосредственно из меню "Пуск"). Выберите свой раздел (возможно, C:), щелкните по нему правой кнопкой мыши и выберите Extend Volume .... Теперь просто щелкните по мастеру, и все готово.

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

Для меня сработало следующее:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

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

Computer management screen

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

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

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

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

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

Возникло две проблемы:

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

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

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

УДАЛИТЕ СВЯЗЬ С ДИСКОМ ИЗ ВИРТУАЛЬНОЙ МАШИНЫ.

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

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192VBoxManage: error: Cannot register the hard disk '/datadisk/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' {6cd99209-e4db-4178-a6c2-53f9581b1fad} because a hard disk '/home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' with UUID {6cd99209-e4db-4178-a6c2-53f9581b1fad} already existsVBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupportsVBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp

Ах, диск все еще находится "в системе".:

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hddsUUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8Parent UUID: baseFormat:      VDILocation:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdiState:       locked writeType:        normalUsage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)UUID:        6cd99209-e4db-4178-a6c2-53f9581b1fadParent UUID: baseFormat:      VDILocation:    /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdiState:       createdType:        normal

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

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fadvirt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hddsUUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8Parent UUID: baseFormat:      VDILocation:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdiState:       locked writeType:        normalUsage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

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

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 81920%...Progress state: VBOX_E_NOT_SUPPORTEDVBoxManage: error: Resize hard disk operation for this format is not implemented yet!

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

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage clonehd TestInception\ 64\ bit.vdi TestInception\ 64\ bit-cloned.vdi0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%Clone hard disk created in format 'VDI'. UUID: 8e237500-173b-401a-9e63-9e64da110da9

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

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd --resize 8192 TestInception\ 64\ bit-cloned.vdi 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

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

# fdisk /dev/sdb  # <- The extra disk, just attached to be resized// The procedure looks like this:// m - print help// p - print table// d ... - delete partition (delete both if you have root and swap)// n - new partition (create root/first partition starting on exact same sector as before, typically 2048, but ends on last, or last minus swap)//  ... n.. (.. then add the swap partition. Calculate how many sectors using original table)// t - change type of partition (swap partition, if any, to 82 - not 83 which is "normal Linux").// w - write partition table (write out, with the resized partition)# e2fsck -f /dev/sdb1e2fsck 1.42.5 (29-Jul-2012)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks# resize2fs /dev/sdb1resize2fs 1.42.5 (29-Jul-2012)Resizing the filesystem on /dev/sdb1 to 1965824 (4k) blocks.The filesystem on /dev/sdb1 is now 1965824 blocks long.

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

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

enter image description here

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

"C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd D:\VirtualBoxImages\Ubuntu\Ubuntu.vdi --resize 40000" 

enter image description here

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

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

Перейдите в раздел "Диски".

enter image description here

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

enter image description here

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

enter image description here

Это сработало для меня с Virtualbox 5.2.6, установленным на хост-компьютере Ubuntu 16.04 и гостевой Windows 10: откройте Virtualbox Manager, нажмите "Глобальные инструменты" (в правом верхнем углу) и выберите Virtual Media Manager. Перейдите на вкладку "Жесткий диск" и выберите свою гостевую ОС. В нижней части окна нажмите на вкладку Атрибуты. Внизу вы можете увидеть размер виртуального диска, а с помощью ползунка вы можете увеличить размер по своему вкусу. (С помощью этого метода вы можете только увеличивать, а не уменьшать размер). Нажмите на кнопку Применить. Запустите гостевую ОС Windows, откройте "Управление компьютером", щелкните правой кнопкой мыши на диске C: и выберите "Расширить том", чтобы расширить файловую систему с помощью нераспределенной части.

Это все, что мне нужно было сделать, отлично работает для меня.

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

Progress state: VBOX_E_NOT_SUPPORTEDVBoxManage: error: Resize hard disk operation for this format is not implemented yet!

⚠️ Создайте резервную копию виртуального диска. Никогда не знаешь, что может пойти не так.

На вашем хосте:

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

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

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

    cd "My VMs"
  3. Создайте новый диск 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
  4. Скопируйте исходный диск на новый диск.

    VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
  5. Изменение размера завершено! Вы можете проверить свойства нового диска, если хотите:

    VBoxManage showmediuminfo "MyNewDisk.vdi"
  6. Измените виртуальную машину, чтобы вместо нее использовался новый диск.

Затем в вашей гостевой ОС вам необходимо изменить размер разделов, чтобы использовать вновь доступное пространство.

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

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

я подробно описал свой опыт здесь: http://kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size/
приведенный ниже “принятый” ответ далек от того, чтобы быть даже правильным.

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

Существует еще одна возможность “копирования существующего vdi” в “новый пустой vdi, размер которого больше существующего” (см.- Resize and Expand a Virtualbox Hard Drive and Media in 4 Steps – Justin Tung / )