How-To

How to Fix VirtualBox “UUID already exists” Errors

Fix UUID Errors in VirtualBox

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!


32 Comments

32 Comments

  1. E1000i  

    This will work also for linux (ubuntu-debian) atleast:

    just can directly execute wherever your located a slightly different command:

    vboxmanage internalcommands sethduuid “newPathto.vdi”

    thanks for the post, it saved me a lot of reserach and reading!

  2. Victor  

    Thank you very much. 😀

  3. Thx
    It works fine
    🙂

  4. Thank you, Austin!
    You saved me a lot time!

  5. saif  

    thinks man realy thinks you realy helpe me

  6. Alguien  

    Thank you! It works!!

  7. remih  

    Thanks !!!
    Solution works great on Windows 8 and
    saved me a lot of time !:)

  8. KP  

    Thanks for your blog.
    But i am stuck at another error that my vmdk file already exists …..

    actually i am importing the virtual alliance to VM box … so the moment i change the uuid and start importing again it gives the error cannot create because vmdk already exists.. Then i delete machine and start importing same UUID error occurs then again after fixing vmdk exists … So i am kind of looping in it …

  9. AbdreyS  

    Excellent!!! Thank you very much! Best regards, Andrey from Russia

  10. Jazzy  

    I had moved a *.vmdk over to a network drive and everything got the above error. Tried this and it worked, brilliant.

  11. Amro  

    Thanks a lot it worked.

  12. Sandro  

    TKS

  13. Alex Heresmann  

    It worked perfectly!!!

  14. Koez  

    Hi, guys. Need help here. I did occur the same problem, but when i enter the following command, it returns this-> VBoxManage.exe : error : Format autodetect failed: VERR_FILE_NOT_FOUND

    • FRTV  

      How did you solve the problem?

    • Experian  

      Odds are you left the ” ” on each side of the filename. Do not put
      VBOXMANAGE.EXE internalcommands sethduuid “c:\vms\myvm.vdi”
      Put
      VBOXMANAGE.EXE internalcommands sethduuid c:\vms\myvm.vdi

      I tried with the “” and it gave me the same issue. Not sure what to do if your path has spaces in it. I’d say just move the file to a top level directory with no spaces. That will work for sure.

    • Juan Olivier  

      I got the same error when I used the following:
      VBOXMANAGE.EXE internalcommands sethduuid D:\Virtuele Rekenaars\Oracle VM VirtualBox\Windows 7.vdi”

      Then I cut the file to the top directory and removed the space in the name like the following:
      VBoxManage internalcommands sethduuid D:\Windows7.vdi

      Then it worked

      c:\Program Files\Oracle\VirtualBox>VBoxManage internalcommands sethduuid D:\Windows7.vdi
      UUID changed to: 9257de09-2a9c-4c13-ac6d-00d9fea8dcea

  15. Laura  

    Nice! works perfectly! thanks

  16. Mohit  

    Worked like a charm, Thank you!

  17. Ahmed  

    a lot of thanks to you sir

  18. D Lee  

    much appreciated!!! Worked like a charm!

  19. Cristian  

    How to type if the file is on the dextop and there name is Serverfilelist Mt2WordOnline.vdi

  20. Ricardo  

    Thank you.

  21. JORGE B  

    Gracias…me salvó

  22. Yang Hang  

    Thanks. Saved my day!

  23. Peter  

    Dude thank you! This was exactly what I was looking for!
    (Windows 10.0.10586 Home, VirtualBox 5.0.10)

  24. KAMAL KUMAR  

    Thanks.. it saved my time.

  25. Helmut  

    In the Virtualbox version 5.1.6 there is unfortunately no VBOXMANAGE.EXE what now?

    • Foden  

      Hi Helmut

      (Win 10 64bit Pro)

      VBoxManage.exe does still exist in Virtualbox v 5.1.6. You need to run the commandlline from the install location of Virtualbox (default is C:\Program files\Oracle\Virtualbox – I believe) or you can add the Virtualbox path to the path environment variable

  26. rleonard  

    Austin,

    This was a real life-saver.

    Thanks for saving my sanity!

  27. Grant  

    There’s an easier way to deal with this. In the main Virtual Box window, go to File -> Virtual Media Manager and you’ll see a list of disks.

    The disk that you moved should appear with a yellow warning symbol (since VirtualBox can’t find it at its previous location). Click the disk, click “Remove”, and confirm. You can now add the disk back to your virtual machine and VirtualBox won’t complain about conflicting UUIDs.

  28. kahn  

    It’s work.
    Thank you very much.

Leave a Reply

Your email address will not be published. Required fields are marked *

 

To Top