
VirtualBox is a virtual machine software that can run a couple of operating systems. A virtual machine is usually
using a disk image instead of a real hard disk. A common operation is copying disk images in a clone-like manner.
Unfortunately copying images with the command line cp command won't work:
VirtualBox will tell you it already knows this disk images UUID.
There's a very easy solution for this problem that is not so obvious. You can change a disk images
UUID using the sethduuid command of the virtual box management command.
It's important that you specify the absolute path to the disk image, otherwise you'll
get a cryptic error message and the command will fail.
Example:
fury@io:~$ VBoxManage internalcommands sethduuid /home/fury/Blah.vdi Oracle VM VirtualBox Command Line Management Interface Version 3.2.6 (C) 2005-2010 Oracle Corporation All rights reserved. UUID changed to: 364cf332-f11b-43f6-9f6c-498f3d259073 fury@io:~$ VBoxManage internalcommands sethduuid /home/fury/Blah.vdi Oracle VM VirtualBox Command Line Management Interface Version 3.2.6 (C) 2005-2010 Oracle Corporation All rights reserved. UUID changed to: 3d4d6145-82f2-40a2-b2f7-44567661d33f fury@io:~$As you can see the command above just sets the disks UUID to a new random value that is probably not used.
Please also be aware that there's an official approach using
VBoxManage clonehd /path/infile /path/outfile