zoukankan      html  css  js  c++  java
  • 虚拟机virtualbox,直接复制本机虚拟硬盘vdi使用, 会提示错误的解决方法

    提示语句为:
    
    打开硬盘文件D:Virtualboxdebian9 - 副本.vdi 失败. 
    明细(D)     Cannot register the hard disk ‘D:Virtualboxdebian9 - 副本.vdi’     {e0c7ce1c-049c-4f55-89b9-05e13b281319
    }     because a hard disk ‘D:Virtualboxdebian9.vdi’     with UUID {e0c7ce1c-049c-4f55-89b9-05e13b281319} already exists.


        返回 代码:   E_INVALIDARG (0x80070057)
        组件:       VirtualBoxWrap
        界面:       IVirtualBox {9570b9d5-f1a1-448a-10c5-e12f5285adad}
        被召者 RC:  VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

     

    是因为uuid重复,需要修改。

    新建批处理文件文件 sethduuid.bat,复制下面代码,保存运行。

    注意:其中的变量 vboxmanagepath 和 hdvdipath 需要修改为实际位置。

    @echo off
    
    :: 直接复制vdi, 会提示虚拟电脑控制台-错误
    :: 根据错误提示可知,无法直接使用复制过来的vdi文件作为已有的虚拟硬盘文件原因是同一主机下两个vdi文件的UUID重复。
    :: 因此修改其中一个vdi文件的UUID即可解决。
    :: 我们通过VBoxManage + internalcommands sethduuid这一子命令加vdi文件所在路径来对拷贝后vdi文件的UUID进行修改。
    Rem 参考于 https://www.linuxidc.com/Linux/2017-05/144372.htm
    
    
    :: 设置虚拟机安装VBoxManage所在的位置
    set vboxmanagepath="C:Program FilesOracleVirtualBoxVBoxManage.exe"
    :: 设置需要改变uuid虚拟硬盘的位置
    set hdvdipath="D:Virtualboxdebian9.vdi"
    
    echo=
    %vboxmanagepath% internalcommands sethduuid %hdvdipath%
    pause
    本文参考于 https://www.linuxidc.com/Linux/2017-05/144372.htm
  • 相关阅读:
    关于螺旋矩阵的问题
    JDK 1.5 for 循环的新写法
    Java基础视频笔记(三)
    关于接口的理解
    常用的DOS命令
    Java基础视频笔记(二)
    Eclipse的常用快捷键备忘
    Java基础视频笔记(四):泛型
    异常设计准则
    多重继承和虚继承的内存布局(转)
  • 原文地址:https://www.cnblogs.com/clovershell/p/9965031.html
Copyright © 2011-2022 走看看