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


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.


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

enter image description here

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


234
2017-12-18 11:51


происхождения


Ваша проблема заключается в том, что вы привязали диск к местоположению '/ media / data' и что он не находится в исходном местоположении «/ home / wim / VirtualBox VM». Я ответил, как я это исправил. - stolsvik
Я подробно рассказал о своем опыте: kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size   «принятый» ответ ниже - далеко не правильный. - kmonsoor
Существует еще одна возможность «копирования существующего vdi» на «новый пустой vdi, размер которого больше существующего» (см. justintung.com/2011/01/06/... ) - parasrish
также обратите внимание, что просто изменение размера может не помочь, так как размер «vdi» увеличился бы, но на основе «vm-os-installation» ваш основной раздел останется прежним, а вновь выделенное пространство обычно отображается «нераспределенное ». Вы должны, следовательно, выполнить «перераспределение раздела» (см. Ссылку выше). - parasrish


ответы:


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

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

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

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


299
2017-12-18 12:07



+1. Просто использовал это, чтобы увеличить размер моего диска с Windows 7 с 20 до 30 ГБ, и он работал очень плавно (без регистрации и т. Д.). $ VBoxManage modifyhd Windows7.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  Сначала Windows не обнаружила увеличенного пространства, но после отключения питания, и затем я смог использовать встроенный инструмент управления дисками, чтобы увеличить размер моего раздела C :. - Jonik
+1 Это, безусловно, самый чистый способ сделать это. - Starx
@asd Изменение размера диска недостаточно, вам также необходимо изменить размер раздела. - Bruno
ЭТО БУДЕТ РАБОТАЕТ! Однако вам необходимо увеличить раздел после того, как окна смогут зарегистрировать новое пространство. Лучший и быстрый / простой способ: howtogeek.com/howto/windows-vista/... - tfont
Я думаю, что в последних версиях VirtualBox это .\VBoxManage.exe modifymedium disk 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720 Теперь. modifyhd также работает, но есть обратная совместимость со старыми командами. - TranslucentCloud


Следующие работали для меня:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

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

Computer management screen


23
2018-04-15 11:53



sudo является не необходимо. Это может привести к повреждению разрешений в вашем домашнем каталоге, что потребует использования sudo для виртуального бокса, который является Плохо идея. - Lekensteyn
@Lekensteyn: Приятно знать, что это необязательно. Я использовал его, потому что другие говорили, что он не работает без корня. Что касается сбоев в доступе, chmod хорошо работает, чтобы исправить такие ошибки. - Richard Povinelli
@Lekensteyn: chown исправит ошибки владения. Я упоминаю chmod и chown, потому что мне пришлось исправить проблему, на которую вы ссылаетесь много раз :-) - Richard Povinelli
Это отлично подходит для Windows, но если у вас гостевая ОС Linux, эта ссылка может помочь в изменении размеров разделов: forums.virtualbox.org/viewtopic.php?f=35&t=50661 - Jon
Если вы работаете с окнами внутри Linux, вам необходимо следовать этим параметрам и расширять диск, иначе окна не будут добавлять дополнительное пространство, которое мы добавили - Ajith R Nair


Вим, я думаю, вам нужно сначала отменить регистрацию с Vbox. File, Media Manager, нажмите на hdd и отмените регистрацию. Затем повторите попытку.


17
2017-12-19 11:40



Не требуется для Linux в VirtualBox. Сначала нужно было полностью закрыть гостевую ОС. - Underverse


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

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

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


7
2018-05-28 11:11





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

Существовали две проблемы:

  1. Диск должен был быть удален из виртуальной машины, которая использовала его, но затем также «из списка виртуальных дисков hdds». Это было исправлено командой «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!

DAMN, «фиксированный размер» НЕ РАБОТАЕТ! «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.

5
2018-04-09 12:01



Это сработало для меня, а затем руководство: yinfor.com/2015/05/... - marijnz0r


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

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


2
2018-01-24 17:55



Отлично. Не должен ли это быть принятым ответом, по крайней мере, для последних версий VirtualBox? - AlwaysLearning


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


1
2017-12-19 14:03





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


1
2018-02-01 09:34



Некоторые люди сообщили об этом, поскольку домашний каталог имеет плохие разрешения - Jonathan