VMware 的文件導入 VirtualBox


VirtualBox and VMware's ovftool have a different idea of how a storage controller should be described. This prevents exporting a VM from, e.g. VMware Fusion, and then importing it into VirtualBox. However, this can be worked around.

Ovftool produces output like

<Item>
  <rasd:Address>0</rasd:Address>
  <rasd:Description>SATA Controller</rasd:Description>
  <rasd:ElementName>sataController0</rasd:ElementName>
  <rasd:InstanceID>3</rasd:InstanceID>
  <rasd:ResourceSubType>vmware.sata.ahci</rasd:ResourceSubType>
  <rasd:ResourceType>20</rasd:ResourceType>
</Item>

but VirtualBox wants a tag named Caption, not ElementName. It also wants ResourceSubType to be just 'AHCI'. See the code below

case ResourceType_OtherStorageDevice:        // 20       SATA controller
{
    /* <Item>
        <rasd:Description>SATA Controller</rasd:Description>
        <rasd:Caption>sataController0</rasd:Caption>
        <rasd:InstanceID>4</rasd:InstanceID>
        <rasd:ResourceType>20</rasd:ResourceType>
        <rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
        <rasd:Address>0</rasd:Address>
        <rasd:BusNumber>0</rasd:BusNumber>
    </Item> */
    if (    i.strCaption.startsWith("sataController", RTCString::CaseInsensitive)
         && !i.strResourceSubType.compare("AHCI", RTCString::CaseInsensitive)
       )
    {
        HardDiskController hdc;
        hdc.system = HardDiskController::SATA;
        hdc.idController = i.ulInstanceID;
        hdc.strControllerType = i.strResourceSubType;

        vsys.mapControllers[i.ulInstanceID] = hdc;
    }
    else
        throw OVFLogicError(N_("Error reading \"%s\": Host resource of type \"Other Storage Device (%d)\" is supported with SATA AHCI controllers only, line %d"),
                            m_strPath.c_str(),
                            ResourceType_OtherStorageDevice,
                            i.ulLineNumber);
    break;
}

If you modify the ovf file to make these changes, the import should succeed. After modfying it, be sure to update the sha1sum of the ovf file in the mf file.

 


就是修改.vof文件,對應配置,
增加<rasd:Caption>sataController0</rasd:Caption>
 修改值<rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
另外,.mf文件裏面的sha1值要修改下,下個軟件來算下新的vof文件sha1值就可以了!不改的話,導入時校驗sha1會失敗.
發佈了46 篇原創文章 · 獲贊 9 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章