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

enter image description here

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


Следующее предложение дает эту ошибку

wim@wim-ubuntu:/media/data/winxp_vm$ VBoxManage modifyhd wim.vdi --resize 20000
VBoxManage: 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 exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "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. Кроме того, размер раздела нужно будет изменить из окон WITHIN, потому что у вас будет это пустое пространство:

enter image description here

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

297
задан 24 April 2012 в 02:32

15 ответов

Откройте терминал и перейдите в папку с образом диска 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" присутствует на этом пути перед его настройкой.

350
ответ дан 24 April 2012 в 02:32

Raha varavarankely ny milina fampiantranoanao, dia azonao atao ny mihazakazaka ity baiko manaraka ity mba hampiakarana na hampihenana ny haben'ny kapila vdi ao anaty boaty virtoaly:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "C:\Users\your_user_name\VirtualBox VMs\Ubuntu18LTS\Ubuntu18LTS.vdi" --resize 20000

Ao amin'ny baiko etsy ambony dia soloo ny ny_user_name -ao amin'ny tena izy mpampiasa Windows ary 20000 dia haben'ny kapila MB.

2
ответ дан 24 April 2012 в 02:32

Убедитесь, что вы вошли в систему как пользователь с правами записи в файл образа диска. Затем запустите

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB  

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

2
ответ дан 24 April 2012 в 02:32

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

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

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

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

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

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

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

     cd «Мои виртуальные машины».
     
  3. Создайте новый диск VirtualBox с желаемым именем файла, размером (в мегабайтах) и форматом (либо Стандартный (динамический), либо Фиксированный ). Например, для создания диска фиксированного формата 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» - существующий
     
  5. Изменение размера выполнено! Вы можете проверить свойства нового диска, если хотите:

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

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

1
ответ дан 24 April 2012 в 02:32

Для тех, у кого Windows на VHD, как я сначала преобразуйте в VDI путем клонирования с помощью следующей команды Linux. (Обратите внимание: виртуальная машина Windows выключена.)

VBoxManage clonehd Windows10.vhd Windows10.vdi --format vdi

Это будет дублировать vhd.

Затем размер VDI можно изменить следующим образом. Обратите внимание, что VDI фактически не будет расти, пока он не будет использован.

VBoxManage modifyhd Windows10.vdi --resize 80000

После исправления монтажа хранилища в программном обеспечении хоста виртуальной машины и включения виртуальной машины Windows загружается, но размер раздела останется прежним. Google для инструмента Windows, который может изменять размер раздела диска C. Я использовал EaseUs Partition Master, чтобы увеличить раздел диска C до моего нового размера.

Наконец, VHD можно удалить.

1
ответ дан 24 April 2012 в 02:32

На самом деле кажется, что только modifyhd в некоторых случаях не приносит вам никакой пользы. Я фактически расширил свой WinXP vdi, клонировав образ после расширения.

Вот полное пошаговое руководство, которое помогло мне пару недель назад: http://libtronics.com/2011/07/ resize-virtualbox-disk-for-winxp-guest /

1
ответ дан 24 April 2012 в 02:32

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

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

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

11
ответ дан 24 April 2012 в 02:32

Надежный способ сделать это так же, как перейти на жесткий диск большего размера, который не работает на виртуальной машине. Сначала используйте ccleaner или аналогичную программу в XP, чтобы очистить все ненужные файлы, которые это возможно. Затем создайте вторичный виртуальный жесткий диск нужного размера. Загрузитесь с clonezilla ISO на виртуальном приводе ODD и выполните клонирование вместе с выбранной опцией «изменить размер до нового размера раздела». Затем установите новый виртуальный жесткий диск в качестве основного и не удаляйте старый, пока не убедитесь, что он работает.

2
ответ дан 24 April 2012 в 02:32

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

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

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

Computer management screen

28
ответ дан 24 April 2012 в 02:32

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

18
ответ дан 24 April 2012 в 02:32

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

2
ответ дан 24 April 2012 в 02:32

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

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

5
ответ дан 24 April 2012 в 02:32

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

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

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

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

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

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

52
ответ дан 24 April 2012 в 02:32

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

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

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

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

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

УДАЛИТЕ АССОЦИАЦИЮ С ДИСКОМ ИЗ ВМ.

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

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
VBoxManage: 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 exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
VBoxManage: 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 hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

UUID:        6cd99209-e4db-4178-a6c2-53f9581b1fad
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi
State:       created
Type:        normal

Удалите / удалите диск из списка дисков VirtualBox («closemedium»):

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

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

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: 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.vdi
0%...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/sdb1

e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks

# resize2fs /dev/sdb1

resize2fs 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.
8
ответ дан 24 April 2012 в 02:32

Если вы находитесь на хосте 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

2
ответ дан 5 January 2021 в 23:47

Другие вопросы по тегам:

Похожие вопросы: