IT技术博客大学习 共学习 共进步

VirtualBox 虚拟机镜像文件 UUID 已存在问题

vpsee.com 2014-11-24 23:44:23 浏览 2,266 次

   使用虚拟机的一个好处就是可以带着虚拟机镜像文件到处走,需要的时候新建一个虚拟机加载相应的镜像文件就可以了。不过在 VirtualBox 上貌似有个问题,已使用过的镜像文件拷贝到其他硬盘不能直接用,需要给镜像文件生成新的 UUID,原因是这个 UUID 已经在本机的 VirtualBox 里注册过了。今天从 USB 盘上加载一个 Windows 虚拟机就碰到这个问题,说这个 Windows 的 VDI 磁盘镜像文件的 UUID 已经存在了:

   Cannot register the hard disk ‘windows.vdi’ because a hard disk ‘windows.vdi’ with UUID already exists.

virtualbox cannot register the hard drive


VirtualBox 界面选项里面没有提供解决办法,记得以前用 VMware 的时候遇到类似情况会给个提示然后可以继续强制使用已注册过的磁盘,还好,VirtualBox 提供了有用的命令行工具。

   使用 VBoxManage internalcommands sethduuid 命令重新给 VDI 磁盘镜像文件生成新 UUID,后面的 /Volumes/16gb/winxp.vdi 是 VDI 文件的路径:

$ cd /Applications/VirtualBox.app/Contents/MacOS

$ VBoxManage internalcommands sethduuid /Volumes/16gb/winxp.vdi
UUID changed to: 434b7690-d86f-400a-9d82-a374946f0961

   然后新建一个虚拟机加载这个镜像文件就可以了。

建议继续学习

  1. Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解 (阅读 6,000)
  2. Python模块学习之UUID (阅读 3,981)
  3. JAVA虚拟机简介 (阅读 3,581)
  4. puppet vagrant 管理VirtualBox 虚拟机 (阅读 3,442)
  5. 服务器间同步/镜像/备份配置备忘录 (阅读 3,261)
  6. 服务器间同步/镜像/备份配置备忘录 (阅读 3,081)
  7. 分布式系统中唯一ID的生成 (阅读 2,961)
  8. xen虚拟机的迁移类型 (阅读 2,702)
  9. 服务器间同步/镜像/备份配置备忘录 (阅读 2,641)
  10. Erlang虚拟机基础设施dtrace探测点介绍和使用 (阅读 2,481)