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
  • 相关阅读:
    【队列】队列的分类和实现
    【JSP】EL表达式语言
    【JSP】JSP的介绍和基本原理
    【JSP】JSP Action动作标签
    【Servlet】关于RequestDispatcher的原理
    【JSP】JSP指令
    【JSP】JSP中的Java脚本
    【算法】表达式求值--逆波兰算法介绍
    C语言指针详解
    移动架构-MVVM框架
  • 原文地址:https://www.cnblogs.com/clovershell/p/9965031.html
Copyright © 2011-2022 走看看