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