First of all, thank you very much for responding!

On 09/03/15 19:08, Larry Cleeton wrote:
> The way I would debug this would be to modify the BCD store in the ISO to 
> turn on debugging in bootmgr,  winload, and the windows kernel.   
> 
> The BCD used by bootmgr on the ISO is efi\microsoft\boot\bcd.
>  
> Extract the ISO files to a writeable file system

Okay, I can do this.

> and then modify the BCD.  The following commands assume your current 
> directory is at the root of the extracted ISO files.
> 
> bcdedit /store efi\microsoft\boot\bcd /set {bootmgr} bootdebug on
> 
> bcdedit /store efi\microsoft\boot\bcd /set {default} bootdebug on
> 
> bcdedit /store efi\microsoft\boot\bcd /set {default} debug on

I can do this in a Windows VM.

> Recreate an ISO from the files.

Here I have a question. For the ISO image to be bootable under UEFI, it
needs an appropriate El Torito boot image. I've created such before,
with "genisoimage", but I'm unsure what I should pack back into it when
recreating the Windows installer ISO.

Hm... actually I could figure that out, simply by looking at the current
El Torito image on the original ISO, from the UEFI shell. Okay.

> Boot the ISO with a Windows debugger "connected" to the VM's COM1.
> I realize I'm leaving out a lot of details about this "connection"
> but I'm not familiar with how COM ports are plumbed on other
> virtualization hosts.

I think I've done this before. I can start another VM with WinDbg
running in it, and I can connect the virtual COM1 ports via a unix
domain socket. The *timing* of these virtual COM ports isn't very close
to the real thing (they're far enough to trip up the UDK debugger for
example!), but I *think* I've had some success with WinDbg.

Thank you!
Laszlo

> 
> Regards,
> Larry
> 
> -----Original Message-----
> From: Laszlo Ersek [mailto:[email protected]] 
> Sent: Thursday, September 03, 2015 3:08 AM
> To: edk2-devel-01 <[email protected]>
> Cc: Larry Cleeton <[email protected]>; Kris Harper 
> <[email protected]>
> Subject: UEFI requirements for 32-bit Windows 8.1?
> 
> Hi,
> 
> 64-bit Windows 8.1 boots on QEMU + OVMF just fine. (The "pc" (i440fx) machine 
> type of QEMU has "always" worked, and we recently fixed "q35" too.)
> 
> However, 32-bit Windows 8.1 (ie. the installer of it) crashes with a BSoD on 
> the 32-bit build of OVMF *immediately*. This happens regardless of the QEMU 
> machine type. The error message I'm getting is:
> 
> http://people.redhat.com/~lersek/windows-on-ovmf32/win8-ovmf32.png
> 
> According to <https://msdn.microsoft.com/en-us/library/cc704588.aspx>,
> the error code 0xc0000185 means "STATUS_IO_DEVICE_ERROR".
> 
> I also tried with Windows 10:
> 
> http://people.redhat.com/~lersek/windows-on-ovmf32/win10-ovmf32.png
> 
> Here I get 0xc000000d, "STATUS_INVALID_PARAMETER".
> 
> The Windows ISOs I tried with were:
> - en_windows_8.1_pro_n_vl_with_update_x86_dvd_6051127.iso
> - en_windows_10_enterprise_2015_ltsb_n_x86_dvd_6848317.iso
> 
> Can someone please help me debug this? The difference between x64 and
> x86 is "inexplicable".
> 
> Thanks!
> Laszlo
> 

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to