Virtualbox ошибка uuid

create-hyper-v-virtual-machine

VirtualBox runs well enough under normal circumstances, but once you start moving VHDs around, it might spit out errors. Here’s how to fix a common problem after moving a VHD.

If you’re running VirtualBox on a Windows computer, you’ll probably run into errors from time to time. When I migrated my virtual hard drives from one physical disk to another, I ran into a permissions error. Apparently, when Virtualbox creates a .vhd (or another format virtual hard drive), it bakes in a universally unique identifier that it uses to recognize VHDs. Usually it doesn’t cause problems, but in this case, it prevents duplicates or moved virtual disks from running from an unknown location.

The error looks like this:

virtualbox error - failed to open hard disk uuid

“Failed to open the hard disk E:\VirtualBox VMs\Windows 8 \Windows 8 Enterprise2.vhd.

Cannot register the hard disk ‘E:\VirtualBox VMs\Windows 8 \Windows 8 Enterprise2.vhd’ {ca2bdc6a-a487-4e57-9fcd-509d0c31d86d} because a hard disk ‘E:\VirtualBox VMs\Windows 8 Enterprise\Windows 8 Enterprise2.vhd’ with UUID {ca2bdc6a-a487-4e57-9fcd-509d0c31d86d} already exists.

Result Code:
E_INVALIDARG (0x80070057)

Component:
VirtualBox

Interface:
IVirtualBox {3b2f08eb-b810-4715-bee0-bb06b9880ad2}

Callee RC:
VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)”

Oracle has a chapter in the VirtualBox manual that covers UUID problems, which may reveal how to fix this. Or you can just follow the steps below.

How to Reset the UUID

To fix this, you’ll need to run some text commands. Open up the Command Prompt. In both Windows 8 and Windows 7, it can be found by typing “cmd” into the Start Menu search box.

launch cmd prompt windows 7windows 8 command prompt

Now change the cmd prompt’s directory to the folder you installed VirtualBox in. If you put it in the default the command is this:

cd C:\Program Files\Oracle\VirtualBox\

cd to the virtualbox directory

Now type in the following command (or copy/paste using right click):

VBOXMANAGE.EXE internalcommands sethduuid “pathtovhdfile”

uuid changed

If everything worked, you should see a message saying “UUID change to: …” and then the VirtualBox should work. All fixed!

Hello readers, we all know that Virtual machines are gaining popularity with time. But there are many errors associated with them that the users have to face. One of the errors is “Failed to open the hard disk file <Nameofvirtualdisk.vdi> because a hard disk with the same UUID already exists” or “VirtualBox cannot register the hard disk ”. Here, we will come across methods about how we can resolve it. 

Another error “Failed to open the disk Image File – Cannot Register Hard Disk” which is faced because the VM Disk Image File that we try to open has the identical UUID with other Virtual Disk Image file. The error is displayed in the following way. virtual box error

“Failed to open the hard disk E:\VirtualBox VMs\Windows 8 \Windows 8 Enterprise2.vhd.

Cannot register the hard disk ‘E:\VirtualBox VMs\Windows 8 \Windows 8 Enterprise2.vhd’ {ca2bdc6a-a487-4e57-9fcd-509d0c31d86d} because a hard disk ‘E:\VirtualBox VMs\Windows 8 Enterprise\Windows 8 Enterprise2.vhd’ with UUID {ca2bdc6a-a487-4e57-9fcd-509d0c31d86d} already exists.

Result Code:

E_INVALIDARG (0x80070057)

Component:

VirtualBox

Interface:

IVirtualBox {3b2f08eb-b810-4715-bee0-bb06b9880ad2}

Callee RC:

VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)”

Methods to FIX Error- VirtualBox cannot register the hard disk / Failed to open virtual hard disk file (.VDI) because hard disk already exists

We will be discussing some easy Troubleshoot methods for this error. Follow the complete steps. 

Fix 1 – Using Virtual Media Manager remove Missed Virtual Disks

The error that we are discussing generally appears if we move the virtual hard disk to another location and then try to re-add the virtual hard disk (from the new location) to an existing or new virtual machine, without having previously removed the missed disk from VirtualBox. Now in this situation, using the VirtualBox Media Manager, we have to release the missing virtual disk file. For that

1. Firstly, visit the VirtualBox File menu and open the Virtual Media Manager.

2. Now, Highlight the missed Virtual Disk (Having error sign)* and click on Release

Note-  If no missed disk is visible, continue to method-2 covered ahead. 

3. Hit on Remove option to remove the missing virtual hard disk.

4. Exit the Virtual Media manager and highlight the VM where you wish to add the Virtual Hard Drive file (.VDI) and click on the Settings option. 

5. Now, select the Storage option and then click the ‘Add hard disk‘ icon.

6. Hit on Choose existing disk and then choose the virtual hard disk file that you want to add and click on Open.

7. Now exit the Virtual Machine settings by clicking OK and start the virtual machine. 

Fix 2 – Cloning Virtual Disk using Virtual Media Manager

To avoid the “Failed to open the disk Image File, Cannot Register the Hard Disk” or “VirtualBox cannot register the hard disk” error from happening,  we can clone Virtual Disk image files (VDI, VHD, VHDX, etc.), using the VirtualBox Media Manager by following the below steps. 

1. Firstly, Go to Virtualbox’s File menu and select Virtual Media Manager or press ctrl+D.

2. Now, select the Virtual Hard disk for cloning and click on Copy.

3. Now, decide regarding the “Disk Image File Type” & “Size” (or leave the default settings) and provide a name for the new disk image.

4. Hit on Copy and wait for the new disk image creation completion. 

5. Lastly, When copy completes, use the copied disk image to create a new virtual machine in Virtualbox.

Fix 3 – Reset the Virtual Disk UUID

Another solution to solve “VirtualBox cannot register the hard disk ” or “VirtualBox UUID already exists” problem, is to change the UUID of the Virtual Disk file (VDI). For that.

1. Firstly, Open Command Prompt and select Run as Administrator. 

2. Now, simply Copy & Paste in the command prompt the following command and hit Enter:

  • cd C:\Program Files\Oracle\VirtualBox

3. After that type the following command and press Enter

  • vboxmanage internalcommands sethduuid “%Full_Path_To_VHD_File%”

Note- In “%Full_Path_To_VHD_File%” fill the complete address of the virtual disk image file that you want.

4. Now, we will get a message that the UUID has changed.

5. Lastly, exit from the command prompt and try to attach the virtual hard disk to a new Virtual machine.

Hopefully, after following the above methods you would be able to overcome the VirtualBox cannot register the hard disk error. But still, if you are unable to recover from the error then there are chances that the VHD files are corrupted or damaged. 

If VHD files are corrupted or damaged?

There is no need to worry if you are facing VHD files corruption or damage. You can simply use the VHD recovery tool. The tool is developed with highly advanced technologies that will recover the damaged files. The tools hold an interactive GUI that allows even the non-technical persons to use it. 

Final Verdict 

In this technical guide, we have provided many solutions to troubleshoot VirtualBox cannot register the hard disk error. Even after following the methods, if you are not getting the solution it means that the VHD file is corrupted. For that also we have mentioned a solution. So, we hope after reading this guide you will be able to recover from this situation. 

При попытке добавить скопированный или перемещенный файл (*.vhd) образа диска виртуальной машины Oracle VirtualBox, вы получите ошибку:

VirtualBox - Error
Failed to open the hard disk image file FilePath.vhd.
Cannot register the hard disk FilePath.vhd <GUID> because a hard disk DifferentFilePath.vhd with UUID <GUID> already exists.
Result Code: E_INVALIDARG (0x80070057)
Component: VirtualBoxWrap
Interface:IVirtualBox {GUID}
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

ошибка регистрации диска VirtualBox Cannot register the hard disk FilePath.vhd <GUID> because a hard disk DifferentFilePath.vhd with UUID <GUID> already exists

Проблема связана с тем, что UUID данного виртуального диска является не уникальным и не был изменен при переносе/копировании vhd/vdi файла.

В VirtualBox для идентификации виртуальных дисков каждому диску присваивается уникальный UUID, который вместе с полным путем к файлу сохраняется в конфигурационном файле и регистрируется в Virtual Media Manager. Если вы изменили путь к файлу, VirtualBox заблокирует регистрацию нового виртуального диска с уже существующим UUID.

Этот UUID уже существует в VirtualBox

Изменить UUID виртуального диска можно с помощью утилиты vboxmanage.

В Ubuntu Linux нужно перейти в каталог с файлом образа диска виртуальной машины:

# cd /mnt/path/vms/

Вывести список всех UUID дисков, которые доступны в VirtualBox:

# vboxmanage list hdds

Получить информацию о виртуальном диске (в том числе выведет текущий UUID):

# vboxmanage showhdinfo yourfile.vdi

Сгенерируйте новый UUID:

# VBoxManage internalcommands sethduuid yourfile.vdi

В Windows нужно открыть командную строку с правами администратора и выполнить команду:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" internalcommands sethduuid "E:\VirtualBoxVMs\VMname\yourfile.vdi"

Должна появится надпись

UUID changed to: NewUUID

VBoxManage.exe sethduuid - сбросить uuid диска

Также вы можете удалить старый виртуальный диск в Virtual Media Manager. Перейдите в VirtuaBox -> File -> Virtual Media Manager (или нажмите CTRL+D).

VirtuaBox Virtual Media Manager

Выберите файл виртуального диск и нажмите Release. После этого можно удалить запись о старом виртуальном диске из VirtualBox. Нажмите кнопку Remove.

отключить лиск виртуальной машины в oracle virtualbox media manager

Вы можете удалить диск из конфигурации Virtual Media Manager по его UUID или полному пути к файлу из командной строки:

# vboxmanage closemedium disk <uuid/полный путь>

Это удалит виртуальный диск только из конфигурации VirtualBox, и не удалит файл на vhd/vdi диске.

После этого вы сможете подключить новый диск к виртуальной машине (откройте настройки ВМ -> Storage –> Add Attachment Add Hard Disk -> Choose existing disk).

Вы можете вручную удалить старый виртуальный диск из конфигурационного файла ВМ. Проверьте, что VirtualBox Manager не запущен и отредактируйте файлы \.VirtualBox\VirtualBox.xml и \.VirtualBox\VirtualBox.xml-prev с помощью текстового редактора.

Удалите секцию <HardDisks>…</HardDisks> для диска, который вы хотите удалить:

<HardDisks>
<HardDisk uuid="{xxxxxxxxxxxxxxxxxxxxxxxxxxxx}" location="~/VirtualBox VMs/VM1/box-disk001.vmdk" format="VMDK" type="Normal"/>
<HardDisk uuid="{yyyyyyyyyyyyyyyyyyyyyyyyyyy}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>

Затем запустите VirtualBox Manger.

Клонирование/перемещение файлов виртуальных дисков в VirtualBox

Ошибка VBoxManage.exe:: Cannot register the hard disk because a hard disk with UUID already exists появится, если вы вручную переместили файл диска на другой диск или папку.

Вы можете удалить диск из конфигурации Virtual Media Manager по его UUID или полному пути к файлу из командной строки:

# vboxmanage closemedium disk <uuid/полный путь> 

Вместо ручного копирования/вставки файлов виртуальных дисков VirtualBox (VDI, VHD) средствами операционной системы, вы должны перемещать/копировать диски через Virtual Media Manager

  1. Запустите Virtual Media Manager (Ctrl+D);
  2. Выберите виртуальный диск;
  3. Нажмите кнопку Copy или Move (в зависимости от операции, которую вы хотите выполнить) и укажите новый путь к виртуальному диску;переместить vhd файл виртуального диска в virtualbox
  4. Если вы переместили диск, это автоматически изменит путь к нему в настройках виртуальной машины;
  5. Если вы создали копию диска, вы можете добавить его к виртуальной машине. Выберите Add hard disk -> Choose existing disk -> Укажите путь к диску.

Для копирования виртуальных дисков можно использовать команду:

$ VBoxManage clonehd /home/user1/VMs/vm1/vm1.vdi /home/user1/VMs/vm1/vmnew.vdi --variant Standard
При этом новому диск сразу будет назначен новый UUID. Обратите внимание, что VBoxManage создает полный клон исходного диска. Это значит он будет занимать на диске столько же места, что и исходный файл. Если вы хотите, чтобы файл диска занимал на хосте столько место, сколько фактически заполнено в виртуальной файловой системе, используйте утилиту Disk2vhd от Microsoft.

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

… то получится следующая ошибка:

Trying to open a VM config … which has the same UUID as an existing virtual machine.

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

Идея в том, чтобы заменить UUID виртуальной машины и UUID образа диска виртуальной машины на новые уникальные UUID.

Вначале надо дважды дать команду:

VBoxManage internalcommands sethduuid файл.vdi

Эта команда при каждом запуске прописывает новый UUID в файл формата *.vdi. Первый запуск делается для того, чтобы просто получить в консоль новый случайный UUID. Да, он пропишет в *.vdi-файл новый UUID, но этот UUID будет заменен при втором запуске команды. Таким образом в консоли будет видно два UUID. Первый — это просто уникальный UUID, второй — это новый UUID, прописанный в *.vdi-файле.

Примечание: в операционной системе Linux вместо двух запусков VBoxManage можно обойтись одним. Вместо первого запуска VBoxManage, чтобы получить в консоли первый уникальный UUID, можно воспользоваться следующей командой (в новых ядрах Linux механизм генерации UUID через спецфайл присутствует по-умолчанию):

cat /proc/sys/kernel/random/uuid

Таким образом будут получены два UUID:

  • Первый — это новый UUID машины, который необходимо будет прописать в *.vbox-файле
  • Второй — это новый UUID диска, который уже прописан в *.vdi-файле, и который надо прописать в *.vbox-файле

Далее нужно открыть файл *.vbox, найти там строку с идентификатором машины:

<Machine uuid=»{84786b5b-1abd-48e1-be7d-9ff50195dfca}» …

И заменить UUID на новый UUID машины.

Затем надо найти следующие строки:

<HardDisk uuid=»{5915f240-a13a-4f7d-a05f-bc3239eb140b}» …

<Image uuid=»{5915f240-a13a-4f7d-a05f-bc3239eb140b}»/>

И заменить в них UUID на новый UUID диска. Тег Image может встречаться несколько раз в *.vbox-файле. Заменять нужно только для Image, относящегося к жесткому диску. Если встечаются Image, относящиеся к CD-ROM, их заменять не нужно.

UUID жесткого диска может встретиться в *.vbox-файле дважды: один раз в разделе HardDisks, второй раз как AttachedDevice. Естественно, в обеих этих местах надо заменить идентификатор на UUID жесткого диска.

Что еще можно поменять?

В элементе Machine рекомендуется поменять атрибут name, чтобы добавляемый образ имел уникальное имя в списке виртуальных машин.

И кроме того, сами файлы *.vbox и *.vdi можно переименовать, чтобы не путать их с другими машинами. При этом надо не забыть поменять в *.vbox файле свойство localian для HardDisk, в котором записано имя *.vdi-файла диска.

Итого, после всех вышеуказанных действий можно будет добавлять образ виртуальной машины в GUI VirtualBox, ошибка больше не будет появляться.

Этот быстрый совет поможет решить проблему «hard disk with UUID already exists» в VirtualBox на Linux.

Сегодня я попытался перенести одну из моих виртуальных виртуальных машин в KVM.

Я выполнил следующую команду для преобразования образа VDI virtualbox в формат RAW:

$ vboxmanage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img

И получил ошибку:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...
Progress state: NS_ERROR_INVALID_ARG
VBoxManage: error: Failed to clone medium
VBoxManage: error: Cannot register the hard disk '/home/sk/CentOS_8_Server.img' {894f84e2-dda6-41ab-aea6-387bc60e0fe4} because a hard disk '/home/sk/CentOS_8_Server.img' with UUID {afff3db8-b460-4f68-9c02-0f5d0d766c8e} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox
VBoxManage: error: Context: "RTEXITCODE handleCloneMedium(HandlerArg*)" at line 1071 of file VBoxManageDisk.cpp

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

Как исправить “hard disk with UUID already exists”

Заглянув на форум VirtualBox, я обнаружил фактическую причину этой проблемы.

Несколько дней назад я преобразовал тот же виртуальный диск VDI в формат RAW с помощью команды vboxmanage и удалил виртуальный диск сегодня, не выпуская его должным образом из диспетчера носителей Virtualbox.

Таким образом, Virtualbox все еще думает, что существует уже зарегистрированный образ виртуального диска с тем же UUID и отказался создавать новый.

Чтобы это исправить, я должен выпустить, а затем удалить зарегистрированный носитель.

Мы можем освободить и удалить носитель (жесткий диск или CDROM) двумя способами:

  • Используя команду vboxmanage,
  • Используя Virtual Media Manager.

Освободим носители с помощью команды Vboxmanage

Чтобы правильно освободить жесткий диск из командной строки, выполните команду vboxmanage:

$ vboxmanage closemedium disk afff3db8-b460-4f68-9c02-0f5d0d766c8e

Замените этот UUID «afff3db8-b460-4f68-9c02-0f5d0d766c8e» на фактический UUID вашего диска.

UUID указан в самом сообщении об ошибке.

С помощью Virtual media manager

Откройте приложение VirtualBox и перейдите в File -> Virtual Media Manager.

В окне Virtual Media Manager выберите жесткий диск, который вы хотите удалить, и нажмите кнопку «Remove» в строке меню.

Закройте диспетчер виртуальных носителей и главное окно Virtualbox.

Теперь я могу без проблем cконвертировать виртуальный диск VDI в образ RAW.

Понравилась статья? Поделить с друзьями:
  • Virtualbox ошибка no bootable medium found system halted
  • Virtualbox ошибка 0x80bb0005
  • Virtualbox ошибка 2503 при установке
  • Virtualbox ошибка 1912
  • Virtualbox ошибка 0xc000000e