Подтвердить что ты не робот

Как изменить размер файла vmdk VirtualBox

У меня закончилось свободное пространство на диске виртуальной машины, который является vmdk и вам нужно изменить размер виртуального изображения. Изменение размера с помощью команды

vboxmanage modifyhd Machine-disk1.vmdk --resize 30720

дает ошибку

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

Как изменить размер изображения vmdk?

4b9b3361

Ответ 1

Я смог изменить размер vmdk, клонируя его, а затем изменяя и изменяя размер.

vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720

Ответ 2

Если вы хотите прекратить резервное копирование жесткого диска vmdk (может быть, вы заинтересованы в использовании диска также в vwmare), выполните следующие шаги:

VBoxManage clonemedium "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifymedium "cloned.vdi" --resize 51200
VBoxManage clonemedium "cloned.vdi" "resized.vmdk" --format vmdk

Выше будет изменить размер жесткого диска до 50 ГБ (50 * 1024 МБ).

Чтобы завершить вещи, вам нужно изменить размер диска тоже! Чтобы достичь этого, вы можете загрузить gparted iso и загрузиться с этого iso, чтобы изменить размер вашего диска (выберите iso в настройках виртуального ящика).

PS Если ваш новый размер слишком мал, вы получите такую же ошибку даже с вашим новым vdi файлом.

Ответ 3

У меня есть клиент Windows 7 на хосте Mac, и этот пост был ОЧЕНЬ полезен. Благодарю.

Я бы добавил, что я не использовал gparted. Я сделал это:

  • Запустить новое увеличенное изображение vmdk.
  • Перейдите в меню "Пуск" и щелкните правой кнопкой мыши "Компьютер" и выберите "Управление".
  • Выберите "Управление дисками"
  • Вы должны увидеть какое-то серое пространство на вашем (в моем случае) диске C
  • Щелкните правой кнопкой мыши диск C и выберите Extend Volume.
  • Выберите размер и нажмите

Сладкое! Я предпочел использовать сторонний инструмент с предупреждениями о потере данных.

Ура!

Ответ 4

VBoxManage делает трюк, но не забывайте, что вам нужно использовать GParted или другой инструмент для выделения свободного пространства, созданного с помощью VBoxManage.

Посмотрите на мое сообщение в блоге, чтобы получить подробную информацию и пошаговые скриншоты.

Ответ 5

Собственно, нужны только эти команды:

VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200

Затем вы можете выбрать cloned.dvi в хранилище графического интерфейса Virtualbox.

После этого запустите виртуальные окна и разверните свой диск C как методы Code Chops.

Нет необходимости конвертировать файл *.vdi в файл *.vmdk.

Ответ 6

Так как это файл vmdk, вы можете использовать VMWare vdiskmanager, если он доступен для вашей платформы. VMWare имеет версии x86 Linux, Windows и OS X здесь.

И тогда вы просто выполните:

1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk

Это позволяет избежать клонирования, а затем развернуть диск. Теперь вам нужен дополнительный инструмент, а vmdk - формат диска VMWare, и вы все еще используете Virtualbox, поэтому могут быть несовместимости.

qemu-img также может работать, но я не уверен, поддерживает ли он изменение размера файлов vmdk. Это выглядело бы так:

qemu-img resize Machine-disk1.vmdk +8G

И только напоминание, с обоими, вам все равно придется разбить раздел после изменения размера базового диска. Все эти инструменты в основном dd if=/dev/old_disk of=/dev/new_disk bs=16M.

Ответ 7

Вы можете использовать проигрыватель Vmware для изменения размера vmdk. Это удаляет конверсию в оба конца (см. Другие сообщения), если вы хотите сохранить ее в формате vmdk. Просто убедитесь, что при добавлении vmdk в vmware не выбирайте формат обновления при появлении запроса, сохраните текущий, если VirtualBox не примет его.

Ответ 8

Для размера сокращения Я использую следующие шаги:

  • На клиентской машине cat /dev/zero > z;sync;sleep 3;sync;rm -f z
  • Завершить работу клиентского компьютера
  • На хосте VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
  • На хосте VBoxManage modifyhd cloned.vdi --compact
  • На хосте VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

Ответ 9

Как указано в ответе Луки, необходимо выполнить следующие шаги:

  1. Клонировать образ VMDK в формат VDI

    VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi

  2. Изменить размер изображения VDI

    VBoxManage modifyhd "cloned.vdi" --resize 51200

  3. Клонировать обратно в формат VMDK

    VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

Шаг 3 является необязательным, если вместо него можно использовать образ VDI.

Все эти шаги могут быть выполнены и в графическом пользовательском интерфейсе VirtualBox, в File → Virtual Media Manager. Выберите диск, который хотите клонировать, а затем выберите " Copy. Откроется диалоговое окно, в котором можно выбрать формат диска и параметры. Чтобы изменить размер изображения VDI, просто используйте ползунок внизу (нажмите " Properties если он не виден).

Наконец, вам может потребоваться изменить размер диска в гостевой ОС:

  1. Запустите гостевую ОС и измените размер раздела (ов) диска. Если вы работаете в Linux, вы можете использовать gparted или kparted.

Ответ 10

Перепробовал все решения здесь, но ничего не получалось. После нескольких часов копания я нашел этот пост в блоге и, как по волшебству, все работает. Я должен был сделать небольшие корректировки, так что вот модифицированная версия. Протестировано с версией Docker 17.06.0-ce, сборка 02c1d87.

Как только разработчики действительно начинают контейнировать свои приложения, они часто генерируют большое количество изображений и быстро заполняют пространство на жестком диске 20 ГБ, выделенное для виртуальной машины Docker по умолчанию. Чтобы на виртуальной машине Docker было достаточно места на диске, мы должны изменить размер /dev/sda1 до более разумного числа.

  1. Загрузите загрузочный образ GParted Live CD/USB/HD/PXE.
  2. Остановите Docker-машину виртуальной машины Docker по docker-machine stop default.

  3. Установщик пакета Boot2Docker поставляется с томом VMDK, размер которого собственные инструменты VirtualBox не могут изменить. Чтобы изменить размер тома Docker, сначала клонируйте том VDI из тома VMDK по умолчанию vboxmanage clonehd/full/path/to/disk.vmdk/full/path/to/disk_resized.vdi --format VDI --variant Standard.

  4. Измените размер вновь клонированного тома VDI до желаемой емкости. Мы рекомендуем по крайней мере 64 ГБ vboxmanage modifyhd/full/path/to/disk_resized.vdi --resize <size in MB>.
  5. Запустите приложение VirtualBox, выберите виртуальную машину по default и нажмите кнопку "Настройки" сверху. VirtualBox Manager
  6. Нажмите на значок "Хранение". Удалите том VMDK по умолчанию. enter image description here
  7. Добавьте новый контроллер IDE. IDE controller
  8. Смонтируйте GParted ISO с помощью опции "Добавить устройство CD/DVD". Add CD/DVD Device
  9. Смонтируйте клонированный том VDI с помощью опции "Добавить устройство CD/DVD". Mount volume
  10. Если вы используете Docker на компьютере с твердотельным жестким диском, убедитесь, что для клонированного тома VDI выбран параметр "Твердотельный накопитель". Solid-state Drive
  11. Нажмите на значок "Пуск", чтобы загрузить виртуальную машину Docker, которая запустит GParted ISO. Выберите "GParted Live (Настройки по умолчанию)". GParted Live (Default settings)
  12. Установите политику для обработки раскладок клавиш на "Не прикасаться к раскладке клавиш". keymaps
  13. Установите языковые предпочтения для опции "33", которая соответствует "US English". US English
  14. Выберите опцию "1" для запуска "Forcevideo" и настройте X вручную. Forcevideo
  15. Оставьте разрешение по умолчанию "1024 × 760", выбрав опцию "2". 1024×760
  16. Оставьте по умолчанию "vesa" в качестве VGA-карты. Leave blank if default is desired
  17. Оставьте значение глубины цвета по умолчанию "24", выбрав опцию "0". Colour depth
  18. После запуска GParted нажмите значок "Изменить размер/Переместить". GParted
  19. Установите новый размер тома диска на нужный размер, перетащив ползунок. В этом примере максимальный размер составляет 127 035 МБ. Нажмите кнопку "Изменить размер/Переместить", чтобы начать процесс. Disk volume size
  20. Подтвердите операцию изменения размера, нажав кнопку "Применить". Bake it
  21. Выключите машину после завершения операции изменения размера. Hard reset, np :)
  22. Удалите GParted ISO. Your almost done
  23. Войдите в виртуальную машину Docker, чтобы убедиться, что изменение размера тома прошло успешно, запустив машину по docker-machine start default
  24. Если у вас возникли проблемы с сетью, перезапустите докер-машину

Ответ 11


VirtualBox для Windows

Изменение размера файла на диске при сохранении настроек виртуальной машины!


Шаг 1 - Изменить размер файла на диске

Запустите cmd.exe

cd в каталог Oracle VM VirtualBox (в 64-разрядных системах: "C:\Program Files\Oracle\VirtualBox\")

Запустите эти команды (как указано выше):

VBoxManage clonehd "C:\path\to\source.vmdk" "C:\path_to\cloned.vdi" --format vdi
VBoxManage modifyhd "C:\path\to\cloned.vdi" --resize 51200

Проводник Windows и "копирование адреса в виде текста" через адресную строку должны помочь вам найти нужный путь.

В системе Windows каталог VirtaulBox VM под вашим пользователем может содержать файл базы данных в формате XML с настройками, которые вы настроили для своей виртуальной машины. Переименуйте этот файл с .bak расширением (он имеет .vbox расширения). Переименуйте исходный .vmdk файл с .bak расширением, а также, чтобы избежать повторения ошибок. Теперь вы можете безопасно выполнить третий шаг без сообщения об ошибке, чтобы преобразовать машину обратно в формат .vmdk или с ошибкой "дубликат диска".

VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk

Вам будет представлен токен UID. Скопируйте этот токен, выделив его перетаскиванием из окна Windows Command Interpetor и используя Ctrl+C

Откройте файл .vbox.bak в текстовом редакторе, например Notepad++. Вам будет представлен XML-подобный файл базы данных. Ищите эти строки:

<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-windows">
  <Machine uuid="{some uid}" name="source disk name" OSType="the_vbox_OS" snapshotFolder="Snapshots" lastStateChange="2043-03-23T00:54:18Z">
    <MediaRegistry>
      <HardDisks>
        <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...

В строке <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk"... удалите старый маркер UID между скобками и вставьте тот, который вы скопировали из окна командной строки. Убедитесь, что вы оставили скобки на месте !

Сохраните этот файл и выйдите из текстового редактора. Переименуйте файл .vbox.bak чтобы вернуть ему ожидаемое расширение .vbox.


Шаг 2 - Удалить мусор

Теперь безопасно удалить файлы .bak оставшиеся в каталоге. То, что остается, - это .vmdk размер .vmdk с обновленной .vbox данных .vbox то время как с ранее сохраненными настройками VirtualBox Manager.


Шаг 3 - Измените размер раздела на диске, чтобы заполнить свободное пространство

Теперь вы можете запустить VirtualBox VM Manager и запустить вашу виртуальную машину, используя соответствующие инструменты для операционной системы, чтобы заполнить новое свободное пространство.

Для виртуальных машин Windows используйте diskpart из командной строки, загруженной из Windows Recovery Consule (раздел восстановления), в SELECT DISK 1, LIST PARTITION и соберите номер раздела вашего диска C:\, затем SELECT PARTITION #. Вы можете использовать EXTEND SIZE=mb чтобы изменить размер диска Windows C:\до соответствующего значения. Не забудьте оставить место для разделов восстановления и загрузки! Чтобы получить это значение, можно безопасно вычесть 4096 МБ из вашего нового размера виртуального диска из-за файлов теневого копирования и восстановления Windows.

Для виртуальных машин Linux, действующий .ISO gparted, который вы можете загрузить с дисковым файлом виртуальной машины, можно найти по адресу: http://gparted.org/. Он откроет вам прямо в gparted-gtk на основе графического интерфейса пользователя, откуда вы можете может заполнить ваше свободное пространство.

Для виртуальных машин PPC/Mac Disk Utility из Finder поможет вам заполнить свободное пространство, но вы можете рассмотреть вариант gparted Linux, так как в настоящее время единственным способом загрузки MacOSX в VirtualBox является hackintosh, и вы не можете расширить его. ваш объем при загрузке в MacOSX. Вы также можете временно gparted параметры виртуальной машины для gparted, чтобы загрузить его. Разделы MacOSX распознаются gparted как разделы HFS - "Heaping File System".


Шаг 4 - Фотографии кошек

Потому что интернет. ;) Вы закончили. Наслаждайтесь вашим новым .vmdk виртуального .vmdk диска .vmdk с VirtualBox для Windows!

Ответ 12

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


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

На хосте:

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

    В 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"
    
  • Измените виртуальную машину на использование нового диска.

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

Ответ 13

У меня здесь, потому что мне нужно было изменить размер диска для моей среды разработки Docker (CoreOS).

CoreOS docs говорит, что нет необходимости изменять размер раздела ОС - это фиктивный. После изменения размера виртуального диска вы должны следовать этим инструкциям и изменить размер раздела ОС через GParted:

https://docs.docker.com/articles/b2d_volume_resize/

Ответ 14

Быстрый и простой вариант:

  • Отключите машину.
  • Создать новый виртуальный диск с нужным размером
  • Переместите содержимое с старого диска на новый диск:

    vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
    
  • Включить машину

  • Возможно, вам придется изменить размер раздела в ОС, чтобы заполнить остальную часть диска.

Внимание

Если новый диск короче источника, вы потеряете данные, расположенные с новой позиции размера диска на исходном диске.

Вы можете предотвратить это дезадаптирующее дельта-пространство, где delta = размер (исходный-диск) - размер (новый-диск), в конце исходного диска внутри ОС до этапа 1.

Ответ 15

Загрузите/установите/используйте рабочую станцию ​​VMWare и создайте новую виртуальную машину На основе текущего файла vmdk, а затем вы можете изменить размер vmdk. Для получения дополнительной информации по этому вопросу google для VMWare.

Ответ 16

Просто выполните следующие действия:

  • Выключите компьютер.
  • Щелкните правой кнопкой мыши имя виртуальной машины > Настройки > Хранение
  • Нажмите "Контроллер": "SATA" > "Добавить жесткий диск".
  • Выберите размер нового жесткого диска и нажмите "Создать".
  • Отменить состояние машины.
  • Вставьте компакт-диск Ubuntu Live.
  • Загрузка с компакт-диска ubuntu live.
  • Откройте "gparted" (он установлен, не требуется установка).
  • Проверьте, видит ли система ваш новый созданный жесткий диск.
  • Открыть терминал.
  • Введите следующий код.
  • sudo dd if =/dev/sda of =/dev/sdb (первый - это старый путь к файлу, второй - новый путь к файлу).
  • Дождитесь окончания копирования данных (этот шаг может занять некоторое время в соответствии с вашими спецификациями хоста).
  • После завершения копирования вернитесь к gparted и выберите обновленные устройства.
  • Выберите новый раздел /dev/sdb, он должен быть типичным для старого после выполнения команды dd.
  • Показывает расширенное пространство как неактивные данные.
  • Удалить раздел подкачки/Расширенный раздел.
  • Щелкните правой кнопкой мыши на корневом разделе /​​dev/sdb > Изменить размер
  • Выделите все пространство без размещения подкачки.
  • Создать новый расширенный раздел > Выбрать расширенный > Создать
  • Создайте новый раздел Linux-swap > выберите linux-swap > Создать
  • Теперь выключите свою рабочую машину.
  • Щелкните правой кнопкой мыши по машине > настройки > Хранение.
  • Извлечь ubuntu live cd.
  • Щелкните правой кнопкой мыши на старом жестком диске > удалить вложение.
  • Теперь вы можете запустить свой vm с вновь созданного жесткого диска.
  • Проверьте хранилище, введите команду df -kh.
  • Он должен показать вам новый размер.

Поздравляем, наслаждайтесь свободным пространством.
Это видео поможет вам: https://youtu.be/ikSIDI535L0