Как мне увеличить размер жесткого диска виртуальной машины?
На моей виртуальной машине 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, а затем добавление его обратно прошло успешно. Но теперь я не могу загрузить виртуальную машину, я получаю этот тревожный экран:
Кстати, это говорит FATAL: Could not read from the boot medium! System halted.
Vdi должен быть подключен к виртуальной машине после команды VBoxManage. Кроме того, размер раздела нужно будет изменить из окон WITHIN, потому что у вас будет это пустое пространство:
Я смог легко изменить размер раздела, используя бесплатное программное обеспечение EASEUS Partition Master 9.1.0 Home Edition.
14 ответов
Откройте терминал и перейдите в папку с образом диска VirtualBox, затем используйте следующую команду:
VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
замена YOUR_HARD_DISK
а также SIZE_IN_MB
с вашим именем изображения и желаемого размера. sudo
может потребоваться на некоторых машинах или может возникнуть ошибка. Этот ответ и более полное объяснение здесь, на webupd8. Спасибо Андрею за публикацию этого ответа.
После изменения размера дополнительное пространство виртуального жесткого диска необходимо разбить на разделы и отформатировать, чтобы его мог использовать гость. Это можно сделать с помощью gparted, загрузив гостя с живого ISO. Мы также можем изменить размер существующего раздела, используя gparted. Для этого нам может потребоваться отключить /swap
и создайте новый раздел подкачки.
Вы также можете сделать это с помощью меню VirtualBox:
Выбрать File
-> Virtual Media Manager ...
Выберите свой диск и выберите Properties
, Теперь просто переместите ползунок внизу.
После запуска виртуальной машины окна не распознают новое пространство.
В окнах откройте Computer Management
(найдите его в меню "Пуск"), выберите Storage
-> Disk Management
в левом меню. Выберите раздел (возможно, C:), щелкните по нему правой кнопкой мыши и выберите Extend Volume ...
, Теперь просто нажмите на мастера, и все готово.
У меня сработало следующее:
VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Тем не менее, я понимаю, как пробег может меняться:-) Что касается изменения размера раздела, в Windows 7 я смог изменить размер на экране, который вы показали, щелкнув правой кнопкой мыши на диске C: в нижней панели и выбрав расширение громкости.
Если вы находитесь на хосте Windows и пытаетесь увеличить размер VDI Ubuntu, следующая информация может вам помочь:
Получите полный путь к vdi, для меня это был "D:\VirtualBoxImages\Ubuntu\Ubuntu.vdi".
Выполните команду, указанную в сообщении "Отмечено как ответ":
"C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd D:\VirtualBoxImages\Ubuntu\Ubuntu.vdi --resize 40000"
Выше "C:\Program Files\Oracle\VirtualBox" - это расположение папки, в которой установлен мой виртуальный ящик Windows, 40000 - это 40 ГБ в приведенной выше команде.
После выполнения вышеупомянутого шага перезапустите виртуальную машину Ubuntu.
Зайдите в "Диски"
Измените размер существующего раздела, чтобы он составлял 40 ГБ:
Затем вы можете подтвердить из "Хранилища", что вышеуказанная операция сработала:
Вим, я думаю тебе сначала нужно отменить регистрацию в Vbox. Файл, Media Manager, нажмите на жесткий диск и отмените его регистрацию. Тогда попробуйте еще раз.
После изменения размера и невозможности просмотра изменения размера на моей гостевой машине с Windows XP мне пришлось
- клонировать это
- измените его размер с помощью "VBoxManage modifyhd winxppro\ Clone.vdi --resize 30720", и все заработало
Я видел на других форумах, что снимки могут мешать изменению размера и невозможности удалить все снимки для разных ошибок, которые я получил, единственное найденное для меня решение состояло в том, чтобы клонировать их, чтобы удалить снимки, а затем изменить их размер, и все работало. Для изменения размера вне окна может помочь gparted загрузочный компакт-диск, который можно найти здесь
У меня была такая же проблема, когда я переместил диск и заменил оригинал символической ссылкой. Впоследствии это работает нормально, но вы столкнулись с проблемами с командой 'modifyhd', так как она, по-видимому, канонизирует путь к vdi-файлу при работе с ним. Это создает впечатление, что вы пытаетесь добавить новый диск с тем же UUID, но по другому пути - или что-то в этом роде.
Было две проблемы:
Диск должен был быть удален из виртуальной машины, которая использовала его, но затем также "из списка VirtualBox HDD". Это было исправлено с помощью команды closemedium, которая удаляет его из этого списка.
Изменяемый размер диска был "фиксированным", а не "динамическим", и только динамические диски могут быть изменены. Это было исправлено с помощью команды "клон" (клон динамический), а затем измените размер полученного диска.
Это мой журнал о том, как это было сделано. Обратите внимание, что я ни в коем случае не являюсь пользователем 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.
Это сработало для меня с Virtualbox 5.2.6, установленным на хост-машине Ubuntu 16.04 и гостевой Windows 10: откройте Менеджер Virtualbox, нажмите Глобальные инструменты (в верхнем правом углу) и выберите Virtual Media Manager. Нажмите на вкладку жесткого диска и выберите гостевую ОС. В нижней части окна нажмите на вкладку Атрибуты. Внизу вы можете увидеть размер виртуального диска, а с помощью ползунка вы можете увеличить размер по своему вкусу. (Вы можете только увеличивать, а не уменьшать размер с помощью этого метода). Нажмите на Применить. Запустите гостевую ОС Windows, откройте "Управление компьютером", щелкните правой кнопкой мыши диск "C:" и выберите "Расширить том", чтобы расширить файловую систему невыделенной частью.
Это все, что я должен был сделать, прекрасно работает для меня.
Вот способ изменить размер вашего диска VirtualBox, независимо от того, является ли он диском фиксированного или динамического формата. В частности, это предотвращает эту ошибку:
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!
⚠️ Резервное копирование виртуального диска. Вы никогда не знаете, что может пойти не так.
На вашем хосте:
Откройте окно терминала.
В Windows: откройте командную строку
cmd
,Перейдите в каталог с виртуальным диском, размер которого вы хотите изменить. Например:
cd "My VMs"
Создайте новый диск 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
Скопируйте оригинальный диск на новый диск.
VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
Изменение размера сделано! Вы можете проверить свойства нового диска, если хотите:
VBoxManage showmediuminfo "MyNewDisk.vdi"
Измените виртуальную машину, чтобы вместо нее использовать новый диск.
Затем в вашей гостевой ОС вам нужно изменить размер разделов, чтобы использовать только что доступное пространство.
Безошибочный способ сделать это так же, как перейти на больший жесткий диск, который не работает на виртуальной машине. Сначала используйте программу ccleaner или similiar в XP, чтобы очистить все ненужные файлы. Затем создайте дополнительный виртуальный жесткий диск нужного размера. Загрузитесь с ISO-образом clonezilla на виртуальном диске ODD и выполните клонирование вместе с выбранной опцией "изменить размер нового раздела". Затем установите новый виртуальный жесткий диск в качестве основного и не удаляйте старый, пока не убедитесь, что он работает.
Я получал ту же ошибку до тех пор, пока не использовал sudo для запуска команды, затем работал отлично, все еще нужно увеличить раздел из гостевой системы, чтобы использовать дополнительное пространство.
Убедитесь, что вы вошли в систему как пользователь с правами на запись в файл образа диска. Тогда беги
VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Работал для меня в первый раз спрашиваю
Если на вашем хост-компьютере установлена ОС Windows, вы можете выполнить следующую команду, чтобы увеличить или уменьшить размер диска vdi в виртуальной коробке:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "C:\Users\your_user_name\VirtualBox VMs\Ubuntu18LTS\Ubuntu18LTS.vdi" --resize 20000
В приведенной выше команде замените your_user_name реальным пользователем Windows, и 20000 - это размер диска в МБ.
На самом деле, кажется, что modifyhd
одиночество не приносит вам пользы в некоторых случаях. Я фактически расширил свой WinXP vdi, клонировав образ после расширения.
Вот полное пошаговое руководство, которое работало для меня пару недель назад: http://libtronics.com/2011/07/resize-virtualbox-disk-for-winxp-guest/
Для тех, у кого Windows на VHD, как и у меня, сначала конвертируйте в VDI, клонируя с помощью следующей команды Linux. (Обратите внимание, что Windows VM выключена.)
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 может быть удален.