IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

vpsee.com 2014-11-24 23:44:23 累计浏览 2,377 次
本机暂存

   使用虚拟机的一个好处就是可以带着虚拟机镜像文件到处走,需要的时候新建一个虚拟机加载相应的镜像文件就可以了。不过在 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. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解 (累计阅读 6,105)
  2. 超级BT+无聊的订单号(或唯一编号)生成方法-_- (累计阅读 4,922)
  3. 我的内核配置文件 (累计阅读 4,812)
  4. 深入理解 VXLAN (累计阅读 4,583)
  5. 多IDC环境下的分布式id分配方案 (累计阅读 4,420)
  6. Python模块学习之UUID (累计阅读 4,111)
  7. 从磁盘映像中挂载或提取指定分区 (累计阅读 3,793)
  8. puppet vagrant 管理VirtualBox 虚拟机 (累计阅读 3,569)
  9. Docker在Mac下挂在/Users之外的目录 (累计阅读 3,204)
  10. 订单号的生成规则 (累计阅读 3,121)