cloudbase / windows-imaging-tools

Tools to automate the creation of a Windows image for OpenStack, supporting KVM, Hyper-V, ESXi and more.
Apache License 2.0
680 stars 227 forks source link

INACCESSIBLE_BOOT_DEVICE #9

Closed david-hill closed 6 years ago

david-hill commented 10 years ago

Hi Alex,

First of all, this is great! I tried it and it works flawlessly with WS2012R2 but I'm less fortunate with WS2012 as I get INACCESSIBLE_BOOT_DEVICE when I try to boot the VM in KVM with the virtio drivers ... Did you do anything different for that OS?

Dave

alexpilotti commented 10 years ago

We had no issues with WS2012. Can you please add more details to help reproduce your case?

Thanks

alexpilotti commented 10 years ago

Also, in our experience this happens when booting on QEMU, not KVM.

takahashi-masayuki commented 10 years ago

I have same trouble as David. My environment is Icehouse with Ubuntu 12.04 and 14.04 in VMware vSphere ESXi 5.1.0. I tried booting with Win2012R2 by QEMU, KVM. In QEMU booting, there was Error Code: 0x000000C4. I guess this error means virtulazation support's config, but I think my config is no problem. In KVM booting, happend INACCESSIBLE_BOOT_DEVICE error.

Is it really work is Icehouse and Win2012R2? I have spent two weeks on this issue. So I wanna beat this problem. If you have nice advice, please give it.

rcs123 commented 8 years ago

Did you resolve this ? I'm having the same problem ? It boots the Windows VM in Openstack , but the Windows boot manager via the console view complains about a change in hardware and gives error 0xc00000001 If I reboot it tries to restart several times but always gives the same error.

ader1990 commented 8 years ago

Hello,

First of all, you need to use kvm(hardware acceleration), and not qemu, when running Windows as a vm with qemu-kvm. If you are using OpenStack, you can enable it in your nova compute node's nova.conf, in the [libvirt] section, virt_type = kvm. Secondly, you need to install the virtio drivers on Windows if you are using a virtio device(virtio-net adapter type or virtio-scsi disk type). The drivers can be found here http://alt.fedoraproject.org/pub/alt/virtio-win/stable/. After you have downloaded the ISO with the virtio drivers, use "-VirtIOISOPath $virtIOISOPath" to specify to the script from where to get the virtio drivers: New-WindowsCloudImage -WimFilePath $wimFilePath -ImageName $image.ImageName -VirtualDiskFormat QCow2 -VirtualDiskPath $virtualDiskPath -SizeBytes 16GB -ProductKey $productKey -VirtIOISOPath $virtIOISOPath

Thanks.

rcs123 commented 8 years ago

Hi

I checked and double checked and found I was doing everything as you describe. I ran the powershell through the Power Shell ISE Debugger and stopped in the module AddVirtIODriversFromISO, in the WinImageBuilder.psm1 file as this seemed to be driver related.

I'm using Windows 2012R2 Update with Image Version of 6.3.9600.17415 I'm using the latest virtio drivers virtio-win-0.1.102.iso

I found that the $image.ImageVersion.Major was reporting as 6, but the $image.ImageVersion.Minor was 3. However in the AddVirtIODriversFromISO function, these values were setting the $virtioVer to "8.1" for Windows 8.1 and not "2k12r2" for Windows 2012. I've amended it and rerun, and now the VM Instance Launches and configures itself in OpenStack, definately getting passed the problem I had above.

If I'm right ... It looks like a bug in the AddVirtIODriversFromISO function. There seems to be a duplicate section of code with the same version number tests for later versions of Windows.... At least one of the tests is wrong. This was causing it to install the Windows 8.1 drivers for Windows 2012r2. Rather than the Windows 2012r2 drivers.

derjohn commented 8 years ago

@rcs123 https://github.com/derjohn/windows-openstack-imaging-tools/commit/74c8612fc2e5bce25ef9d96e5af2c0cd3584b2b1

jackchenjie commented 7 years ago

i meet some problem. when i deploy windows server 2012 by ironic on inspur server .

the system is appear to windows_boot_manager

error_code: status:0xc0000001

the picture:

INACCESSIBLE_BOOT_DEVICE

jackchenjie commented 7 years ago

@ader1990

ader1990 commented 7 years ago

Hello,

The problem you have is definitely a storage controller driver problem. Please check on the oem's website for the Windows Server storage drivers and you can add them to the image using the DriversPath parameter.

Thank you, Adrian Vladu

jackchenjie commented 7 years ago

hi ader:

i add servers SATA driver to windows server 2012 image , and i use ironic deploy windows serve 2012,appear to new error:

error_logs:

windows boot manager

file:\windows\System32\drivers\arcsas.sys

status: 0xc0000359

@ader1990

ader1990 commented 7 years ago

At first, as a best practice, you can attach a windows iso to the machine, attach the drivers device (which can be a virtual usb or another iso) and then load manually the drivers if no disks are found.

Thank you, Adrian Vladu

On May 25, 2017 11:59 AM, jackchenjie notifications@github.com wrote:

hi ader:

i add servers SATA driver to windows server 2012 image , and i use ironic deploy windows serve 2012,appear to new error:

error_logs:

windows boot manager

file:\windows\System32\drivers\arcsas.sys

status: 0xc0000359

@ader1990https://github.com/ader1990

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/cloudbase/windows-openstack-imaging-tools/issues/9#issuecomment-303959973, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABWNWmTsFwJPP-QZ9cCXlka-1VURu44vks5r9ULtgaJpZM4BVsDO.

ader1990 commented 6 years ago

closing issue, as it is more than one year old.