VMLite与VirtualBox实际上是一样的
  • VMLite 与VirtualBox实际上是一样的
     
     
     
        今天,想起来运行一下以前安装的VMLite 的虚拟机,但是,却无法启动。想修复一下,却说,已经安装了VirtualBox,我好像没有安装过。
     
        不过,既然说我装,干脆就把VMLite 卸载了,装VirtualBox。
     
        装了以后,但是,却不能导入原来由VMLite 创建的虚拟机。
     
        VMLite 的配置文件的扩展名是xml,而VirtualBox 的扩展名为vbox。
     
        不过,打开一看,原来格式是一样的。
     
        于是,把xml 改成vbox,就可以导入了。
     
        但是,有两个问题:
     
        1、就是要重新激活了。
     
        2、原来的共享空间的网络名称不同了:
     
    //.host/sfs/ 改成//vboxsvr/
     
    一、配置文件
     
    VMLite 的配置文件在%USERPROFILE%/VMLite/ VirtualBox.xml
     
    VirtualBox的配置文件在%USERPROFILE%/. VirtualBox/ VirtualBox.xml
     
    如果要手工修改VMLite 的配置文件,必须中止两个进程:VMLite 和VBoxSvc,实际上,是要中止第二个进程就可以了。只要运行过VMLite 运行过,这两个进程就会常驻,且第一个进程,每运行一次,会增加一个,因此,也就顺便中止好了。如果不中止这两个进程,手工修改的配置无效,即,一启动VMLite 所有的配置全都恢复了。刚开始,我注意到这是进程没有中止的问题。所以,为了这个,我到处寻找,是否在其他地方还有配置文件。当然是没有。
     
    第二,配置文件分成两部分,一是前面说的,即,全局的配置文件,其中,主要描述了每个虚拟机、虚拟硬盘、快照等的位置。另一个是具体的虚拟机的配置文件,保存在每个虚拟机的目录下,文件名,即虚拟机的名字,扩展名也是.xml。
     
    第三,VMLite 没有打开虚拟机的功能,也就是说,一旦主配置文件丢失,会有很大的麻烦。但是,新版本的VirtualBox 就有打开的功能,比较方便。
     
     
     
    二、让VMLite 与VirtualBox 共存
     
    分别建两个批处理文件:
     
    1、VMLite
     
    d:
     
    cd"D:/Program Files/VMLite/VMLite Workstation"
     
    start /waittaskkill /f /im vboxsvc.exe
     
    start /waittaskkill /f /im vmlite.exe
     
    start /waittaskkill /f /im virtualbox.exe
     
     
     
    regsvr32 /svboxc.dll
     
    start vboxsvc
     
    vmlite
     
     
     
    2、VirtualBox
     
    d:
     
    cd"D:/Program Files/Oracle/VirtualBox"
     
    start /waittaskkill /f /im vboxsvc.exe
     
    start /waittaskkill /f /im vmlite.exe
     
    start /waittaskkill /f /im virtualbox.exe
     
     
     
    regsvr32 /s /uvboxc.dll
     
    regsvr32 /svboxc.dll
     
    start vboxsvc
     
    virtualbox
     
     
     
    上面加了start 的原因,一是为了结束不能正常退出的进程;二是为了不等vboxsvc 退出就执行下一条启动虚拟机的命令。因为,如果退出了,VirtualBox 就启动不了。
     
     
     
    三、利用高版本的VBoxManage 进行管理
     
    1、修改磁盘的uuid
     
    用internalcommans sethduuid
     
    老版本的命令只能重新uuid,但不能指定uuid。
     
    由于在摸索VMLite 的过程中,没有注册已有虚拟机的功能,用了从磁盘新建虚拟机的方法,导致重新产生了磁盘的uuid,与配置文件中已有的描述不一致。当然,如果磁盘没有快照的话,改一下配置中的uuid,也就好了。但是,如果磁盘有快照,它不仅有uuid,还有一个叫parentuuid,指向父磁盘。这时候,如果不重设父磁盘的uuid 的话,快照就没有办法访问了。
     
    2、修改磁盘的parentuuid
     
    用internalcommanssethdparentuuid
     
    但是,没有成功。虽然命令没有出错,好像没有效果。
     
    3、打算修改一下默认配置文件的位置。
     
        暂时没有找到。

    摘自 hadstj的专栏

     

  • 点这里复制本页地址发送给您QQ/MSN上的好友
  • 300*300广告