Import a VMware Virtual Machine to Oracle Cloud Infrastructure

September 20, 2021 | 3 minute read
Lawrence Gabriel
Solutions Architect
Text Size 100%:

Migrate VMware Virtual Machines to OCI

For almost a year, Oracle Cloud Infrastructure has supported the ability to bring your own Windows images to the platform. If your IT initiatives include moving existing applications to the cloud, custom-image import enables you to move Windows virtual machines running on VMware directly to Oracle Cloud Infrastructure. Creating a custom image from existing virtual machines means that your application configuration can remain unchanged while Oracle Cloud Infrastructure provides the underlying infrastructure.

You can move virtual machines that are in either VMDK or QCOW2 format from your existing data centers to your Oracle Cloud Infrastructure tenancy. Depending on which operating system the virtual machine is running, you can launch custom images in either emulated or paravirtualized mode on both bare metal and virtual machine instances.

This post is a companion to a demonstration about how to import a VMware virtual machine to Oracle Cloud Infrastructure, available on the Oracle Learning Library YouTube channel. It provides import information that is specific to Windows, although the phases can be used as a guide to import any custom virtual machine image. In addition, the post consolidates links to our official documentation for easy reference.


Regardless of the operating system, a VMDK or QCOW2 formatted virtual machine must have the following attributes:

  • Enabled for BIOS booting.
  • Able to boot with a single, nonencrypted boot drive with MBR partitioning.
  • Configured with a single, DHCP-enabled network interface.
  • Formatted as VMDK or QCOW2, and less than 300 GB in size. VMDKs must be either "single growable" or "stream optimized."

For more information, see Custom Image Requirements.

Windows Specific

Because the virtual machine in the companion demo was running Windows Server 2008R2, IDE device drivers need to load at boot time to function in emulation mode. For more information, see Load IDE Driver at Boot Time.


When you create a custom image, the Oracle Cloud Infrastructure Object Storage service is the destination for the virtual machine files. To overcome the upload size limit of 2 GB when using the Console, you can use the Oracle Cloud Infrastructure CLI instead. For information about how to set up restricted object uploads with the CLI, see Restricted Object Storage Buckets and the Oracle Cloud Infrastructure CLI. This post includes an example of using oci_cli_rc files and the CLI profiles to make frequent uploads simpler.

Import a VMware Virtual Machine

Custom compute images are created by importing the properly formatted virtual machine disk files from Object Storage. For buckets that are in the same tenancy and region, you can use a structured URL to import images:


For example:

Optionally, the object URL path (URI) is in the object details in the Console. For more information, see Object Storage Service URLs.

Windows Specific

For Windows instances, you must select the correct version during import to ensure compliance with your Microsoft licensing agreement. For more information, see Importing Custom Windows-Based Images.


After the custom image is imported, you can create a new instance directly from the custom image details page.

Windows Specific

Custom Windows images running on Oracle Cloud Infrastructure must use the Oracle-provided Key Management Service.

You must verify Windows time zone settings to ensure proper clock adjustments during instance reboots and hardware clock synchronization. For more information, see Windows System Time Issue on Custom Windows Instances.

Oracle Cloud Infrastructure Free Trial

If you don't have an Oracle Cloud Infrastructure account, you can sign up for a free trial, which includes the ability to create custom images. For details, visit to get US$300 in free credits.

Happy Clouding!

Lawrence Gabriel

Solutions Architect

Lawrence is a Solutions Architect focusing on helping customers migrate workloads to Oracle Cloud Infrastructure.

His journey through technology started over 15 years ago with installing and maintaining military communication systems for the government. After graduating from the University of Washington with a degree in Informatics, Lawrence worked with enterprises to streamline their storage infrastructure operations.

Previous Post

Capgemini Weighs In: How Industries and Customers Differentiate with Cloud

Shanelle Thadani | 3 min read

Next Post

Oracle Autonomous Database Vanity URLs Part 2: Blocking APEX Developer and Administrator Tools

Todd Bottger | 10 min read