Menu

Booting windows works from built in EFI boot manager, but not from refind

2017-03-15
2017-03-15
  • Alec Schule

    Alec Schule - 2017-03-15

    Hello,

    I have a problem with rEFInd I've had absolutely no luck trying to solve. When I select the auto-detected Windows 7 boot option from refind, I see the "Starting windows" message for a bit, then it black screens. (seemingly forever) The strange thing is that I can hit f2 at boot, select "Windows Boot Manager", and Windows just starts just fine. I feel like there should be an easy solution to have refind start Windows in exactly the same way the built in boot manager does, but I've had no luck figuring it out.

    In my linux install, I can run efibootmgr -v to see this output:

    BootCurrent: 0002
    Timeout: 1 seconds
    BootOrder: 0002,0000
    Boot0000* Windows Boot Manager  HD(1,GPT,45ea2076-8ff2-454d-96c4-3659bf682230,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................
    Boot0002* rEFInd Boot Manager   HD(1,GPT,45ea2076-8ff2-454d-96c4-3659bf682230,0x800,0x32000)/File(\EFI\REFIND\REFIND_X64.EFI)
    

    I've messed around with manual boot stanzas a bit, trying to ensure that bootmgfw.efi is being used, but my manual boot options behave in exactly the same way as the auto-detected one. I tried using an EFI shell to manually start bootmgfw.efi, but it also results in a black screen, so I'm not sure what the problem is.

    If anyone has any insights into what could cause this, I'd greatly appreciate hearing them. Apologies, if this is a known issue, but I couldn't find anything addressing it.

    Thanks in advance,
    Alec

     
  • Roderick W. Smith

    This is a new one for me. I have a few suggestions, but they're all shots in the dark:

    • If rEFInd is loading any EFI filesystem drivers, reconfigure it to not do so, at least as a test. (Renaming the drivers_x64 subdirectory of the rEFInd directory should do this; but of course you'll need to reboot.) If this helps, and if you have more than one EFI driver file, try using only the one(s) you need. My thought is that the Windows loader might be seeing Linux filesystems and files, becoming confused, and flaking out; or an unnecessary driver might be creating problems in some way.
    • It's conceivable that, for some reason, your system is dependent upon options being passed to the Windows boot loader. Those appear after the filename in the efibootmgr output; but it's UTF-16 encoded, which makes it difficult to read from that. You might be able to add this value, or a subset of it (maybe BCDOBJECT={9dea862c-5cdd-4e70-acc1-f32b344d4795}), to the manual boot stanza entry to get it to work. If this helps, my hunch is that there's something weird about your Windows boot loader configuration -- maybe multiple BCD entries that are causing problems. Thus, another solution might be to mess with the BCD, or even re-install the Windows boot loader, but I'm far from a Windows expert, so I'll have to suggest asking about this on a Windows forum for advice (unless somebody with more Windows expertise posts a suggestion here).
    • You may be looking at problems caused by Windows' "Fast Startup" or "Hibernate" features. Read here to learn how to disable Fast Startup and here to learn how to disable Hibernate. Note that the Windows Fast Startup feature is not the same as a feature with a similar name in many EFIs. I'm not sure why this problem would interact with how you choose to launch the boot loader, so this really is a stretch; but it's worth checking nonetheless.
     
  • Alec Schule

    Alec Schule - 2017-03-15

    Thanks for the reply. Changing the name of the drivers folder allowed Windows to boot properly, so I suppose it is getting confused by seeing the Linux filesystem. The only driver in that folder was the btrfs one needed to read the boot files on my Linux partition.

    My current setup doesn't use the driver, and I got linux to boot by copying the boot files to the EFI partition and making a manual boot stanza for it. I'm kind of curious if my problem was caused by the fact that I was using a btrfs filesystem (or if ext4 would have had the same problem), but it's all working now so I'm satisfied!

    Thanks a lot for the help.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.