VirtualBox UUID already exists 解决方法
![](https://i-blog.csdnimg.cn/blog_migrate/12cc040dcdc0972e229d02abab24828d.png)
打开硬盘文件D:\VM\ubuntu1204-server\ubuntu1204-server.vdi 失败.
Cannot register the hard disk
'D:\VM\ubuntu1204-server\ubuntu1204-server.vdi'
{408d31e7-8909-453e-bf49-755f9af88151}
because a hard disk
'D:\VM\ubuntu1204-server-gitlab\ubuntu1204-server-gitlab.vdi' with UUID
{408d31e7-8909-453e-bf49-755f9af88151} already exists.
2,错误代码:
返回 代码:E_INVALIDARG (0x80070057)
组件:VirtualBox
界面:IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554}
被召者 RC:VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
二,解决办法
1,打开 cmd 窗口
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\songguoqiang>
2,切换到 Virtual Box 的安装目录(我的VBox 安装在 D:\Program Files\Oracle\VirtualBox)
C:\Users\songguoqiang>D:
D:\Program Files\Oracle\VirtualBox>
3,执行 vboxmanage 生成新的 UUID
格式: vboxmanage internalcommands sethduuid X:\path\xxx.vdi
D:\Program Files\Oracle\VirtualBox>vboxmanage internalcommands sethduuid "D:\VM\
ubuntu1204-server\ubuntu1204-server.vdi"
4,执行结果
UUID changed to: 2e7d8cf8-669b-40b0-b81c-d055b5bbabd1
D:\Program Files\Oracle\VirtualBox>
三,命令及解释:
Oracle VM VirtualBox Command Line Management Interface Version 4.3.26
(C) 2005-2015 Oracle Corporation
All rights reserved.
Usage: VBoxManage internalcommands <command> [command arguments]
Commands:
loadmap <vmname|uuid> <symfile> <address> [module] [subtrahend] [segment]
This will instruct DBGF to load the given map file
during initialization. (See also loadmap in the debugger.)
loadsyms <vmname|uuid> <symfile> [delta] [module] [module address]
This will instruct DBGF to load the given symbol file
during initialization.
sethduuid <filepath> [<uuid>]
Assigns a new UUID to the given image file. This way, multiple copies
of a container can be registered.
sethdparentuuid <filepath> <uuid>
Assigns a new parent UUID to the given image file.
dumphdinfo <filepath>
Prints information about the image at the given location.
listpartitions -rawdisk <diskname>
Lists all partitions on <diskname>.
createrawvmdk -filename <filename> -rawdisk <diskname>
[-partitions <list of partition numbers> [-mbr <filename>] ]
[-relative]
Creates a new VMDK image which gives access to an entite host disk (if
the parameter -partitions is not specified) or some partitions of a
host disk. If access to individual partitions is granted, then the
parameter -mbr can be used to specify an alternative MBR to be used
(the partitioning information in the MBR file is ignored).
The diskname is on Linux e.g. /dev/sda, and on Windows e.g.
\\.\PhysicalDrive0).
On Linux or FreeBSD host the parameter -relative causes a VMDK file to
be created which refers to individual partitions instead to the entire
disk.
The necessary partition numbers can be queried with
VBoxManage internalcommands listpartitions
renamevmdk -from <filename> -to <filename>
Renames an existing VMDK image, including the base file and all its exten
ts.
converttoraw [-format <fileformat>] <filename> <outputfile>
Convert image to raw, writing to file.
converthd [-srcformat VDI|VMDK|VHD|RAW]
[-dstformat VDI|VMDK|VHD|RAW]
<inputfile> <outputfile>
converts hard disk images between formats
repairhd [-dry-run]
[-format VDI|VMDK|VHD|...]
<filename>
Tries to repair corrupted disk images
modinstall
Installs the necessary driver for the host OS
moduninstall
Deinstalls the driver
debuglog <vmname|uuid> [--enable|--disable] [--flags todo]
[--groups todo] [--destinations todo]
Controls debug logging.
passwordhash <passsword>
Generates a password hash.
WARNING: This is a development tool and shall only be used to analyse
problems. It is completely unsupported and will change in
incompatible ways without warning.