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:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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: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
This is a new one for me. I have a few suggestions, but they're all shots in the dark:
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.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 (maybeBCDOBJECT={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).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.