Как открыть.VHDX файлы в virtualbox?
Я использовал disk2vhd от Microsoft, поэтому я попытался создать новый виртуальный ящик, используя его, и я получил эту ошибку
Failed to open the hard disk C:\Users\user\Documents\Virtual Box Images\win7vir.VHDX
Could not open the medium 'C:\Users\user\Documents\Virtual Box Images\win7vir.VHDX'.
VHDX: Required flag of metadata item does not meet expectations 'C:\Users\user\Documents\Virtual Box Images\win7vir.VHDX' (VERR_VD_GEN_INVALID_HEADER).
VHDX: BAT region in image 'C:\Users\user\Documents\Virtual Box Images\win7vir.VHDX' is missing (VERR_VD_GEN_INVALID_HEADER).
VD: error VERR_VD_GEN_INVALID_HEADER opening image file 'C:\Users\user\Documents\Virtual Box Images\win7vir.VHDX' (VERR_VD_GEN_INVALID_HEADER).
Result Code: E_FAIL (0x80004005)
Component: Medium
Interface: IMedium {29989373-b111-4654-8493-2e1176cba890}
Callee: IVirtualBox {3b2f08eb-b810-4715-bee0-bb06b9880ad2}
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
7 ответов
Краткий ответ: используйте командную строку powershell для преобразования VHDX в VHD. AFAIK требует наличия hyperv или одного из его вариантов, чтобы иметь доступ к командлету convert-vhd.
Convert-VHD –Path c:\test\MY-VM.vhdx –DestinationPath c:\test\MY-NEW-VM.vhd
Просто снимите флажок "Сделать VHDK". Виртуальная коробка не поддерживает формат.VHDK.
В VirtualBox начиная с версии 4.2 указывается, что добавлена поддержка VHDX "Хранилище: добавлена поддержка только для чтения образов VHDX".
С сегодняшнего дня, марта 2023 года, вы можете использовать для этого внутренние инструменты VirtualBox. Эту команду (Windows) следует выполнить из каталога инструментов управления Vbox:
VBoxManage.exe clonemedium disk D:\path\to\image.vhdx D:\path\to\newimage.vdi --format vdi
Думаю, в GNU/Linux должно быть то же самое:
./VBoxManage clonemedium disk /path/to/image.vhdx /path/to/newimage.vdi --format vdi
(но, пожалуйста, проверьте документацию VBoxManage)
У меня было время, чтобы преобразовать это. Я сделал резервную копию всех своих гиперв перед переходом на Linux, но обнаружил, что вам нужно специально экспортировать их из Hyper-v в формате VHD.
После перехода на Linux я понял, что виртуальный бокс не поддерживает vhdx. Мне пришлось загрузить виртуальную машину Windows 10, переместить файлы, установить Hyper-V и все связанные с ней компоненты, просто чтобы преобразовать этот чертов файл и переместить его обратно.
*Convert-VHD –Path c:\test\MY-VM.vhdx –DestinationPath c:\test\MY-NEW-VM.vhd*
Но, увы, у нас есть успех.
В графическом интерфейсе VirtualBOX при выборе образа диска для подключения к виртуальной машине есть возможность выбрать новый виртуальный диск или тот, который существует.
Если вы решите использовать тот, который существует, в поле со списком есть опция для VHDX, но каждый раз, когда вы пытаетесь это сказать, формат файла не поддерживается.
Почему эта опция VHDX есть? Просто чтобы запутать пользователей?
Кажется, что VirtualBox находится в предварительном состоянии реализованной поддержки VHDX, но некоторые части поступили на стороне пользователя, пока они на самом деле не реализованы.
По крайней мере, до версии 5.1.22
Есть несколько вариантов, которым вы можете следовать.
- Как упоминалось ранее, отключите опцию VHDX и преобразуйте в VHD с помощью Disk2VHD.
- Используйте опцию Convert-VHD, если на вашем компьютере с Windows установлен Hyper-V.
- Используйте опцию клонирования VBoxManage.exe, если на вашем компьютере установлен VirtualBox.
Дополнительную информацию о том, как использовать инструмент VBoxmanage для преобразования VHDX в VHD или VDI, можно найти здесь.