First of all, thank you very much for creating rEFInd. I am very inexperienced in installing boot managers and messing with EFI and such, so bear with me please.
Long story short, I was running rEFInd on my macbook pro, with a dual boot of Max OS X El Capitan and Windows 10. I installed windows 10 via Bootcamp, and when I looked at the msinfo32, it showed Windows running under BIOS / Legacy mode.
I wanted to convert this windows install to UEFI mode without reformatting, so I followed the advice listed here: https://www.reddit.com/r/mac/comments/3dlu2g/convert_a_bootcamp_bios_windows_installation_to/
without fully understanding what I was doing. I inadvertantly created a partition that was too large, tried to delete it, and messed up my Mac OS X partition in the process. I could not boot OS X anymore, and could not boot the OS X recovery partition either.
I proceeded to completely erase my ENTIRE hard drive, by booting and reinstalling from an OS X El Capitan bootable USB, and reinstalled El Capitan from scratch on a brand new partition spanning my entire hard disk.
Now after installing rEFInd, I see THREE entries in rEFInd while booting, instead of just 2:
Boot microsoft Efi Boot from EFI
Boot Mac OS X from Recovery HD
Boot windows from basic data partition: When I try to boot from this, it says: "No bootable device - insert boot disk and press an
I don't know why that 3rd entry is there?
Also, I don't see a Mac OS X Recovery partition anymore when booting. Is this normal?
Now I am wondering: Is there something wrong with my partitions that is left over from when I wanted to convert my existing install to UEFI? Did some messed up stuff stay behind on the EFI partition? Or did my complete erase of the hard drive and reinstall of OS X also erase and 'reset' the EFI partition?
Thank you very much!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The third entry is a BIOS/CSM/legacy-mode boot option for Windows, which won't work because Windows is installed in EFI mode. You can get rid of that option by editing refind.conf: Uncomment the scanfor line and ensure that hdbios is not among the options. Note that you'll probably need to mount your ESP in OS X to edit refind.conf. You can do this with the mountesp script that comes with rEFInd. Once it's mounted, the file will be EFI/refind/refind.conf under whatever mount point is used.
As to the OS X recovery entry, that will normally be a second-row option with an OS X "X" inside a life preserver. That should be detected automatically, but you might double-check the showtools option in refind.conf -- apple_recovery should be among the options (or if the showtools line is commented out or missing, rEFInd uses the default, which includes this option). If that all looks good but the icon is still missing, then it sounds like the recovery boot loader is missing or damaged. It should be com.apple.recovery.boot/boot.efi on the recovery partition (usually called "Recovery HD"), which is not mounted by default. This same partition holds the regular OS X boot loader at System/Library/CoreServices/boot.efi.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Okay, so if I understand correctly, the third BIOS/CSM/Legacy-mode boot option for windows is specific to rEFInd, and not to my system? It is not there because I did something wrong, or something was left over from earlier install?
I will try your steps to get rid of it.
As for the OS X recovery entry, you are correct, it does show up inside the life preserver on the second row. Thank you for pointing that out. I was confused because my earlier install of OS X 10.11 that was upgraded from OS X 10.9 (Mavericks) always showed OS X Recovery as a separate partition in the Apple bootloader and in rEFInd. I guess the clean install I did of El Capitan made it not show up anymore, as detailed here: https://discussions.apple.com/thread/6601122
I am using rEFInd to make Windows detect my iGPU in my Macbook pro using the spoof_osx option. Thanks a lot for implementing that!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
rEFInd scans for boot loaders whenever it starts. By default, rEFInd scans for both EFI and BIOS boot loaders on a Mac. Sometimes it detects too much. In the case of BIOS-mode boot loaders, this may be leftover data or unbootable data that can't be properly distinguished from bootable code (at least, not at the fairly shallow level of analysis that rEFInd supports). One general principle I follow in writing and maintaining that code is to err on the side of presenting too many boot options rather than too few. The presence of unbootable entries does not necessarily mean you've done anything wrong. If you see too many entries, you can trim them via scanfor, dont_scan_volumes, dont_scan_dirs, dont_scan_files, or in various other ways.
rEFInd's display of the Recovery option may have changed because of changes when you updated your OS or if you updated rEFInd -- Apple keeps changing the details of how OS X boots, which has forced me to tweak rEFInd from time to time. It sounds like you might once have been using a combination in which the rEFInd version was a little behind Apple's changes. (It could also be a matter of configuration file options -- you could move the Recovery option to the top row if you wanted to. Using a manual boot stanza would certainly enable this. It's conceivable that adjusting showtools and/or also_scan_dirs could do the trick, but I've not tried that.)
You're welcome for the spoof_osx_version option. FWIW, I implemented that because a user located a standalone program that did the same thing, and it seemed simpler to do it in rEFInd rather than try to launch that program separately. This is one of countless examples of user contributions to rEFInd.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi there,
First of all, thank you very much for creating rEFInd. I am very inexperienced in installing boot managers and messing with EFI and such, so bear with me please.
Long story short, I was running rEFInd on my macbook pro, with a dual boot of Max OS X El Capitan and Windows 10. I installed windows 10 via Bootcamp, and when I looked at the msinfo32, it showed Windows running under BIOS / Legacy mode.
I wanted to convert this windows install to UEFI mode without reformatting, so I followed the advice listed here:
https://www.reddit.com/r/mac/comments/3dlu2g/convert_a_bootcamp_bios_windows_installation_to/
without fully understanding what I was doing. I inadvertantly created a partition that was too large, tried to delete it, and messed up my Mac OS X partition in the process. I could not boot OS X anymore, and could not boot the OS X recovery partition either.
I proceeded to completely erase my ENTIRE hard drive, by booting and reinstalling from an OS X El Capitan bootable USB, and reinstalled El Capitan from scratch on a brand new partition spanning my entire hard disk.
I then installed Windows 10 in UEFI mode from scratch, NOT using Bootcamp assistant, but following the instructions here: https://www.reddit.com/r/mac/comments/3e2ylm/install_windows_81_in_uefi_mode_on_a_mac/
So far so good, everything works, and Windows 10 boots in UEFI mode.
Now after installing rEFInd, I see THREE entries in rEFInd while booting, instead of just 2:
I don't know why that 3rd entry is there?
Also, I don't see a Mac OS X Recovery partition anymore when booting. Is this normal?
Now I am wondering: Is there something wrong with my partitions that is left over from when I wanted to convert my existing install to UEFI? Did some messed up stuff stay behind on the EFI partition? Or did my complete erase of the hard drive and reinstall of OS X also erase and 'reset' the EFI partition?
Thank you very much!
The third entry is a BIOS/CSM/legacy-mode boot option for Windows, which won't work because Windows is installed in EFI mode. You can get rid of that option by editing
refind.conf
: Uncomment thescanfor
line and ensure thathdbios
is not among the options. Note that you'll probably need to mount your ESP in OS X to editrefind.conf
. You can do this with themountesp
script that comes with rEFInd. Once it's mounted, the file will beEFI/refind/refind.conf
under whatever mount point is used.As to the OS X recovery entry, that will normally be a second-row option with an OS X "X" inside a life preserver. That should be detected automatically, but you might double-check the
showtools
option inrefind.conf
--apple_recovery
should be among the options (or if theshowtools
line is commented out or missing, rEFInd uses the default, which includes this option). If that all looks good but the icon is still missing, then it sounds like the recovery boot loader is missing or damaged. It should becom.apple.recovery.boot/boot.efi
on the recovery partition (usually called "Recovery HD"), which is not mounted by default. This same partition holds the regular OS X boot loader atSystem/Library/CoreServices/boot.efi
.Thanks Roderick, for the quick response!
Okay, so if I understand correctly, the third BIOS/CSM/Legacy-mode boot option for windows is specific to rEFInd, and not to my system? It is not there because I did something wrong, or something was left over from earlier install?
I will try your steps to get rid of it.
As for the OS X recovery entry, you are correct, it does show up inside the life preserver on the second row. Thank you for pointing that out. I was confused because my earlier install of OS X 10.11 that was upgraded from OS X 10.9 (Mavericks) always showed OS X Recovery as a separate partition in the Apple bootloader and in rEFInd. I guess the clean install I did of El Capitan made it not show up anymore, as detailed here: https://discussions.apple.com/thread/6601122
I am using rEFInd to make Windows detect my iGPU in my Macbook pro using the spoof_osx option. Thanks a lot for implementing that!
rEFInd scans for boot loaders whenever it starts. By default, rEFInd scans for both EFI and BIOS boot loaders on a Mac. Sometimes it detects too much. In the case of BIOS-mode boot loaders, this may be leftover data or unbootable data that can't be properly distinguished from bootable code (at least, not at the fairly shallow level of analysis that rEFInd supports). One general principle I follow in writing and maintaining that code is to err on the side of presenting too many boot options rather than too few. The presence of unbootable entries does not necessarily mean you've done anything wrong. If you see too many entries, you can trim them via
scanfor
,dont_scan_volumes
,dont_scan_dirs
,dont_scan_files
, or in various other ways.rEFInd's display of the Recovery option may have changed because of changes when you updated your OS or if you updated rEFInd -- Apple keeps changing the details of how OS X boots, which has forced me to tweak rEFInd from time to time. It sounds like you might once have been using a combination in which the rEFInd version was a little behind Apple's changes. (It could also be a matter of configuration file options -- you could move the Recovery option to the top row if you wanted to. Using a manual boot stanza would certainly enable this. It's conceivable that adjusting
showtools
and/oralso_scan_dirs
could do the trick, but I've not tried that.)You're welcome for the
spoof_osx_version
option. FWIW, I implemented that because a user located a standalone program that did the same thing, and it seemed simpler to do it in rEFInd rather than try to launch that program separately. This is one of countless examples of user contributions to rEFInd.