Windows 2016 VM disk device - IDE only

Hello,

Our VMware guys converted a VMDK Windows 2016 Server for us following this document until step #4:http://docs.platform9.com/support/migrate-a-windows-vm-from-vsphere-to-kvm”. This implies using “virtio-win-0.1.141.iso” for the VirIO drivers installation.
After that I converted it to QCOW2 and registered into OpenNebula

Well, when instantiating a VM, the only way I can make it boot is setting DEV_PREVIX to “hd”. Anything else fails with the VM not finding its boot device. (DRIVER is been always set to qcow2, by the way.)

According to my readings, I was expecting that “vd” would be the way to go…
Does it mean that something is missing after the VirtIO drivers were installed? Or, in fact, I am missing something on the image definition or VM template?

When looking at a booted VM, Device Manager shows these entries under Storage controllers:
(working) Microsoft Storage Spaces Controllers
(warning sign) Red Hat VirtIO SCSI controller
(warning sign) Red Hat VirtIO SCSI pass-through controller

Our OpenNebula 5.4.6 is running on Ubuntu 16.04.

Below follows the VM template and image definition from a running VM.

Any help would be really appreciated…

Regards,

Alex

VM:
AUTOMATIC_DS_REQUIREMENTS = “"CLUSTERS/ID" @> 0”
AUTOMATIC_REQUIREMENTS = “(CLUSTER_ID = 0) & !(PUBLIC_CLOUD = YES)”
CONTEXT = [
DISK_ID = “1”,
ETH0_CONTEXT_FORCE_IPV4 = “”,
ETH0_DNS = “xxxxxx”,
ETH0_GATEWAY = “xxxxxx”,
ETH0_GATEWAY6 = “”,
ETH0_IP = “xxxxxx”,
ETH0_IP6 = “”,
ETH0_IP6_PREFIX_LENGTH = “”,
ETH0_IP6_ULA = “”,
ETH0_MAC = “02:00:a2:6a:e0:2f”,
ETH0_MASK = “255.255.255.0”,
ETH0_MTU = “1500”,
ETH0_NETWORK = “xxxxxx”,
ETH0_SEARCH_DOMAIN = “”,
ETH0_VLAN_ID = “481”,
ETH0_VROUTER_IP = “”,
ETH0_VROUTER_IP6 = “”,
ETH0_VROUTER_MANAGEMENT = “”,
NETWORK = “YES”,
SSH_PUBLIC_KEY = “”,
TARGET = “hdb” ]
CPU = “2”
CPU_COST = “0.026”
DISK = [
ALLOW_ORPHANS = “NO”,
CLONE = “YES”,
CLONE_TARGET = “SYSTEM”,
CLUSTER_ID = “0”,
DATASTORE = “default”,
DATASTORE_ID = “1”,
DEV_PREFIX = “hd”,
DISK_ID = “0”,
DISK_SNAPSHOT_TOTAL_SIZE = “0”,
DISK_TYPE = “FILE”,
DRIVER = “qcow2”,
IMAGE = “coetvnebula3-flat-2016-AD-VMWtools”,
IMAGE_ID = “70”,
IMAGE_STATE = “2”,
IMAGE_UNAME = “oneadmin”,
LN_TARGET = “NONE”,
ORDER = “1”,
ORIGINAL_SIZE = “40960”,
READONLY = “NO”,
SAVE = “NO”,
SIZE = “40960”,
SOURCE = “/var/lib/one//datastores/1/81e50f9edc30b1026d0715d818517aca”,
TARGET = “hda”,
TM_MAD = “shared”,
TYPE = “FILE” ]
DISK_COST = “6e-07”
GRAPHICS = [
LISTEN = “0.0.0.0”,
PORT = “6079”,
TYPE = “VNC” ]
INPUT = [
BUS = “usb”,
TYPE = “tablet” ]
MEMORY = “4096”
MEMORY_COST = “1.4e-05”
NIC = [
AR_ID = “0”,
BRIDGE = “br481”,
CLUSTER_ID = “0”,
FILTER_IP_SPOOFING = “YES”,
FILTER_MAC_SPOOFING = “YES”,
IP = “xxxxxx”,
MAC = “02:00:a2:6a:e0:2f”,
MODEL = “virtio”,
MTU = “1500”,
NETWORK = “VLAN01”,
NETWORK_ID = “1”,
NETWORK_UNAME = “oneadmin”,
NIC_ID = “0”,
SECURITY_GROUPS = “0”,
TARGET = “one-179-0”,
VLAN_ID = “481”,
VN_MAD = “802.1Q” ]
NIC_DEFAULT = [
MODEL = “virtio” ]
OS = [
ARCH = “x86_64”,
BOOT = “disk0” ]
SECURITY_GROUP_RULE = [
PROTOCOL = “ALL”,
RULE_TYPE = “OUTBOUND”,
SECURITY_GROUP_ID = “0”,
SECURITY_GROUP_NAME = “default” ]
SECURITY_GROUP_RULE = [
PROTOCOL = “ALL”,
RULE_TYPE = “INBOUND”,
SECURITY_GROUP_ID = “0”,
SECURITY_GROUP_NAME = “default” ]
TEMPLATE_ID = “31”
VCPU = “2”
VMID = “179”

IMAGE:

oneimage show 70
IMAGE 70 INFORMATION
ID : 70
NAME : coetvnebula3-flat-2016-AD-VMWtools
USER : oneadmin
GROUP : oneadmin
DATASTORE : default
TYPE : OS
REGISTER TIME : 03/12 15:53:23
PERSISTENT : No
SOURCE : /var/lib/one//datastores/1/81e50f9edc30b1026d0715d818517aca
PATH : /var/tmp/coetvnebula3-flat-2016-AD-VMWtools.qcow2
FSTYPE : qcow2
SIZE : 40G
STATE : used
RUNNING_VMS : 2

PERMISSIONS
OWNER : um-
GROUP : —
OTHER : —

IMAGE TEMPLATE
DEV_PREFIX=“hd”
DRIVER=“qcow2”

VIRTUAL MACHINES

ID USER     GROUP    NAME            STAT UCPU    UMEM HOST             TIME