【VBox】解决复制VBox虚拟机后提示硬盘UUID 已经存在的问题

解决复制VBox虚拟机后提示硬盘UUID 已经存在的问题

一、修改硬盘文件的uuid(后缀名vdi)

在dos命令行,执行
“C:\Program Files\Oracle\VirtualBox\VBoxManage.exe” internalcommands sethduuid c:\vbox\test.vdi

命令执行完毕会自动生成新的uuid,类似结果如下
UUID changed to: d2322ac8-6a76-42c8-adec-cf05eaa4c2c9

注意前面是VBox的安装路径,如果有空格,需要用双引号把整个命令括起来。后面是需要修改的虚拟机硬盘文件

把这个命令运行两次,都复制记录下来

二、修改对应项目文件(后缀名vbox)

用文本编辑器打开对应的vbox文件

搜索HardDisk和Image,把这两处的uuid改成第二次生成uuid
在这里插入图片描述

在这里插入图片描述

搜索Machine,把后面的uuid改成第一次生成uuid

在这里插入图片描述

到此就可以用双击test.vbox,打开虚拟机了

### 使用 Vagrant 移动虚拟机 #### 背景说明 Vagrant 是一种用于创建和管理开发环境的工具,通常与 VirtualBox 配合使用来管理和运行虚拟机。当需要将虚拟机从一台主机移动到另一台主机时,可以通过导出和导入的方式完成操作。 --- #### 方法一:通过 VirtualBox 导入导出功能实现迁移 1. **导出虚拟机** 在源机器上打开 VirtualBox GUI 或者使用命令行执行以下操作: ```bash VBoxManage export <vm_name> -o <output_file>.ova ``` 这里的 `<vm_name>` 是目标虚拟机的名字,`<output_file>.ova` 是要保存的文件名[^2]。 2. **传输 OVA 文件** 将生成的 `.ova` 文件复制到目标机器上。可以使用 USB、网络共享或其他方式完成文件传输。 3. **导入虚拟机** 在目标机器上的 VirtualBox 中,选择 `File -> Import Appliance` 并指定刚才传输过来的 `.ova` 文件。完成后,启动虚拟机验证其正常工作状态。 4. **关联 Vagrant** 如果希望继续使用 Vagrant 来管理该虚拟机,则需要手动配置新的 `Vagrantfile`。假设已经成功导入虚拟机并知道它的 UUID(可通过 `VBoxManage list vms` 查看),则可以在新目录下初始化一个新的 Vagrant 环境,并修 `config.vm.provider` 的设置以匹配现有的虚拟机实例[^3]。 --- #### 方法二:利用 Vagrant 自带插件简化过程 为了更加方便地处理此类场景,还可以借助一些专门设计用来支持这些需求的第三方插件: 1. **安装必要的插件** 执行如下命令安装所需插件: ```bash vagrant plugin install vagrant-vbox-manage ``` 2. **打包现有 VM** 假设当前正在使用的项目路径中有对应的 Vagrantfile 和相关资源,在原环境中运行下面这条指令即可把整个环境压缩成单个文件形式存储下来供后续恢复用途。 ```bash vagrant package --base <existing_vm_name> ``` 3. **解压包至新位置** 把上述得到的结果转移到目的端之后再依据实际情况调整好对应关系参数最后加载起来就可以了。 --- #### 注意事项 - 不同操作系统之间可能存在兼容性差异,请确保两者的架构一致或者能够相互识别所涉及的技术栈版本号等细节信息无误后再行动作以免造成不必要的麻烦。 - 对于磁盘空间不足的情况可考虑先扩展分区大小再做进一步动作以防万一中途失败浪费时间精力成本过高[^4]。 ```python import os print(os.getcwd()) ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值