Seem to be having trouble with rEFInd 0.7.2. MacBookAir3,2 trying to boot Windows (Legacy/BIOS boot) seems to hang at the Windows logo forever.
I tracked it down to function StartEFIImageList to an IsValidLoader call.
for (DevicePathIndex = 0; DevicePaths[DevicePathIndex] != NULL; DevicePathIndex++) {
FindVolumeAndFilename(DevicePaths[DevicePathIndex], &Volume, &Filename);
// Some EFIs crash if attempting to load driver for invalid architecture, so
// protect for this condition....
// HANG WHEN CALLING ISVALIDLOADER
if (IsValidLoader(Volume->RootDir, Filename)) {
// DOES NOT GET HERE
ReturnStatus = Status = refit_call6_wrapper(BS->LoadImage, FALSE, SelfImageHandl...
Replacing the IsValidLoader call with if (1 == 1) makes everything work fine again. I think Volume or Filename must be NULL. If I try if (Volume != NULL && Filename != NULL) rEFInd no longer hangs, but Legacy booting gives error "Invalid loader file!"
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Seem to be having trouble with rEFInd 0.7.2. MacBookAir3,2 trying to boot Windows (Legacy/BIOS boot) seems to hang at the Windows logo forever.
I tracked it down to function StartEFIImageList to an IsValidLoader call.
Replacing the IsValidLoader call with if (1 == 1) makes everything work fine again. I think Volume or Filename must be NULL. If I try if (Volume != NULL && Filename != NULL) rEFInd no longer hangs, but Legacy booting gives error "Invalid loader file!"
Sorry about that. I've fixed the problem and uploaded a new version (0.7.3).
0.7.3 works great. Thanks!