Initially I've installed windows 7 sp1 via dism as I couldn't boot the normal installer. Then I couldn't boot the installed Windows in (U)EFI mode of course, so I added hybrid MBR to the disk, booted in legacy mode and performed initial OS configuration as well as Bootcamp drivers installation.
Now tried this project to boot in (U)EFI mode properly. I've deleted the hybrid MBR using gdisk and ran bcdboot
from Windows 10 to generate boot files. From UEFISeven's output it seems that all went well, however booting fails:
- normal boot: just see black screen, then machine reboots
- safe mode: reboot happens after I see message about loading
CLASSPNP.sys
I saw identical behavior when trying to boot without this project.
Output:
UefiMain: UefiSeven 1.30
UefiMain: You are running in verbose mode, press Enter to continue
InitializeDisplay: Found a GOP display adapter
SwitchVideoMode: Resolution 1024x768 not supported.
PrintVideoInfo: Current mode:
PrintVideoInfo: HorizontalResolution = 1440
PrintVideoInfo: VerticalResolution = 900
PrintVideoInfo: PixelFormat = 1
PrintVideoInfo: PixelsPerScanLine = 2048
PrintVideoInfo: FrameBufferBase = C0000000
PrintVideoInfo: FrameBufferSize = 7372800
PrintVideoInfo: Available modes (MaxMode = 1):
PrintVideoInfo: Mode0: 1440x900
UefiMain: Current display does not seem to support changing to 1024x768 resolution
UefiMain: which is the minimum requirement of Windows 7.
UefiMain: It is likely that Windows might fail to boot even with the handler installed.
UefiMain: Press Enter to try a new 'hack' that will force the display driver to work.
UefiMain: The display might be glitchy but it will be able to provide a workable screen.
IsInt10hHandlerDefined: Int10h IVT entry points at location (0000:0000) outside VGA ROM memory area (C0000..D0000), rejecting handler
EnsureMemoryLock: Success unlocking memory at C0000 with EfiLegacyRegionProtocol
UefiMain: VESA information filled in, Int10h handler address=C0200 (C000:0200)
EnsureMemoryLock: Success locking memory at C0000 with EfiLegacyRegionProtocol
UefiMain: Int10h IVT entry modified to point at C000:0200
IsInt10hHandlerDefined: Int10h IVT entry points at location within VGA ROM memory area (C000:0200)
IsInt10hHandlerDefined: First Int10h handler instruction at C000:0200 (3D) valid, accepting handler
UefiMain: Pre-boot Int10h sanity check success
FileExists: Opened file '\EFI\Microsoft\Boot\bootmgfw.original.efi' for reading
UefiMain: Found Windows Boot Manager at '\EFI\Microsoft\Boot\bootmgfw.original.efi'
Launch: Loaded 'PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)/HD(1,GPT,5AC2CD0B-C869-4F81-B91B-27C3B1725F62,0x28,0x64000)/\EFI\Microsoft\Boot\bootmgfw.original.efi'
Launch: Addresss behind FileImageHandle=A7F68898
CheckBootMgrGuid: Found 9DEA862C-5CDD-4E70-ACC1-F32B344D4795
Launch: File matches an EFI loader signature
WaitForEnter: Press Enter to continue
I've tried 2 ways of booting: with iGPU (Intel i5 Arrandale) and dGPU (Nvidia GT330M), windows 8.1 and 10 boot fine with either. Also prior to booting tried mm
commands in the EFI Shell to set dGPU to bus master, activate VGA on the PCI bridge and disable iGPU completely (this procedure helps using dGPU properly in Windows 10 UEFI mode), but no luck either.
Then also by accident I've renamed bootmgfw.original.efi
to something else which failed to attempt booting windows of course, but after renaming it back and second attempt the program's output was a bit different, although the result didn't change, not sure if it matters though.
UefiMain: UefiSeven 1.30
UefiMain: You are running in verbose mode, press Enter to continue
InitializeDisplay: Found a GOP display adapter
SwitchVideoMode: Resolution 1024x768 not supported.
PrintVideoInfo: Current mode:
PrintVideoInfo: HorizontalResolution = 1024
PrintVideoInfo: VerticalResolution = 768
PrintVideoInfo: PixelFormat = 1
PrintVideoInfo: PixelsPerScanLine = 2048
PrintVideoInfo: FrameBufferBase = C0030000
PrintVideoInfo: FrameBufferSize = 6291456
PrintVideoInfo: Available modes (MaxMode = 1):
PrintVideoInfo: Mode0: 1440x900
IsInt10hHandlerDefined: Int10h IVT entry points at location within VGA ROM memory area (C000:0200)
IsInt10hHandlerDefined: First Int10h handler instruction at C000:0200 (3D) valid, accepting handler
UefiMain: Int10h already has a handler, no further action required
FileExists: Opened file '\EFI\Microsoft\Boot\bootmgfw.original.efi' for reading
UefiMain: Found Windows Boot Manager at '\EFI\Microsoft\Boot\bootmgfw.original.efi'
Launch: Loaded 'PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)/HD(1,GPT,5AC2CD0B-C869-4F81-B91B-27C3B1725F62,0x28,0x64000)/\EFI\Microsoft\Boot\bootmgfw.original.efi'
Launch: Addresss behind FileImageHandle=A77FC498
CheckBootMgrGuid: Found 9DEA862C-5CDD-4E70-ACC1-F32B344D4795
Launch: File matches an EFI loader signature
WaitForEnter: Press Enter to continue
I've also tried the original VgaShim from https://github.com/driver1998/VgaShim but it didn't help either.
Any idea what else to try?
P.S. My MBP has EFI version 1.10.