Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be available on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1572831 - windows 2016 vmdk based image can not boot
Summary: windows 2016 vmdk based image can not boot
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virtio-win
Version: 7.5
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: pre-dev-freeze
: ---
Assignee: Vadim Rozenfeld
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-04-28 01:49 UTC by Chen
Modified: 2021-06-10 16:01 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-09-07 02:45:33 UTC
Target Upstream Version:


Attachments (Terms of Use)
windows 2016 can not boot (35.48 KB, image/png)
2018-04-28 01:49 UTC, Chen
no flags Details
picture1 (100.83 KB, image/png)
2018-05-07 09:48 UTC, Peixiu Hou
no flags Details
picture2 (64.53 KB, image/png)
2018-05-07 09:49 UTC, Peixiu Hou
no flags Details
Code31_info (73.80 KB, image/png)
2018-05-07 09:54 UTC, Peixiu Hou
no flags Details

Description Chen 2018-04-28 01:49:16 UTC
Created attachment 1427926 [details]
windows 2016 can not boot

Description of problem:

windows 2016 vmdk based image can not boot
The screenshot (attached) shows the VM can not find the device

Version-Release number of selected component (if applicable):

w2k16
virtio-win-1.9.4-2.el7.noarch

How reproducible:

100%

Steps to Reproduce:
1. Install a windows 2016 in VMware vsphere
2. Install virtio-win (viostor) in the VM
3. Dump the vmdk and create glance based on it
4. Boot the instance using that image

Actual results:

Windows 2016 can not find the device

Expected results:

Windows 2016 should be able to boot

Additional info:

If I set hw_disk_bus='ide' then the instance can boot successfully.

Comment 3 Chen 2018-05-02 01:00:32 UTC
Hi Vadim,

>If it is not an option for you, then try to run VM as IDE with a secondary 
>disk attached as virtio-blk device, install viostor device "normally",
>shutdown VM, change IDE to virtio-blk, and then run your VM again to give it a try.

This is exactly what I want.

VMware created IDE device for Windows 2016 but OpenStack (KVM based private cloud product) 
will use virtio-blk. I wanted to install viostor in an existing Windows 2016 to let OpenStack
identify the Windows's block device.

I'm not quite sure the exact steps to install viostor driver "normally". I provided 
my steps in comment #1. If there is something wrong, would you please point me the 
correct steps to install viostor in an existing Windows 2016 ?

Best Regards,
Chen

Comment 4 Vadim Rozenfeld 2018-05-02 04:22:31 UTC
(In reply to Chen from comment #3)
> Hi Vadim,
> 
> >If it is not an option for you, then try to run VM as IDE with a secondary 
> >disk attached as virtio-blk device, install viostor device "normally",
> >shutdown VM, change IDE to virtio-blk, and then run your VM again to give it a try.
> 
> This is exactly what I want.
> 
> VMware created IDE device for Windows 2016 but OpenStack (KVM based private
> cloud product) 
> will use virtio-blk. I wanted to install viostor in an existing Windows 2016
> to let OpenStack
> identify the Windows's block device.
> 
> I'm not quite sure the exact steps to install viostor driver "normally". I
> provided 
> my steps in comment #1. If there is something wrong, would you please point
> me the 
> correct steps to install viostor in an existing Windows 2016 ?
> 
> Best Regards,
> Chen

Hi Chen,
There are two different ways to do it - by using virt-v2v (https://access.redhat.com/articles/1353463) or do it manually (first you need to run your VM with IDE as the system disk and then convert it to virtio by following the steps described at http://setdosa.blogspot.com.au/2013/09/moving-your-windows-guest-from-ide-to.html).

btw, are you sure that VMware uses IDE? I was thinking that they prefer emulated  LSI SCSI HBA over IDE. In any case you should be able to run your VM with emulated IDE controller first, and then switch it to virtio by following the steps described in the article mentioned above.

But if you are thinking of some more or less massive VM migration from VMW to KVM, then virt-v2v looks to me as a way more appropriate solution to do it right  and simpler.   

Best,
Vadim.

Comment 11 Peixiu Hou 2018-05-07 09:48:34 UTC
Created attachment 1432545 [details]
picture1

Comment 12 Peixiu Hou 2018-05-07 09:49:21 UTC
Created attachment 1432546 [details]
picture2

Comment 13 Peixiu Hou 2018-05-07 09:54:13 UTC
Created attachment 1432548 [details]
Code31_info

The virtio-blk device properties. Shown error "This device is not working properly because Windows cannot load the drivers required for this device,(Code 31)
A device which does not exist was specified".

Comment 14 Chen 2018-05-07 10:39:13 UTC
Hi,

So sorry for the confusion. I revisited the case and the customer said both windows 2012 and 2016 were hitting this issue.

I also noticed that Code 31 error. I thought the error means windows didn't find a device which was suitable for the viostor driver. I personally thought that error can be ignored. 

Best Regards,
Chen

Comment 15 Vadim Rozenfeld 2018-09-07 02:45:33 UTC
I would suggest go through the formal v2v conversion procedure, which should work properly in this case.

Closing as notabug.
Vadim.


Note You need to log in before you can comment on or make changes to this bug.