I have Mac Pro 5,1 (tower) and wish to upgrade to Mojave. This requires a "metal-capable" GPU and the one I have does not support the Mac Startup Manager (aka. the "boot screen"). I want to have the Startup Manager in order to be able to boot from different OSX installations, recovery paritiions, and bootable external media. I currently have SnowLeopard on an HDD (with my user directories), and ElCapitan and HighSierra on two partitions of an SSD (I'll upgrade the HighSierra to Mojave when I get things working with the new GPU).
I want to use rEFInd to get around the lack of the Startup Manager. The plan is, before I swap in the new GPU, to select rEFInd as the default in the Startup Manager. Then, after installing the new GPU, whenever my machine boots up, it will come to the rEFInd menu and I can select the OSX installation from which I wish to boot. IOW, rEFInd becomes my new startup manager.
I have successfully set "EFI boot" as the default in the Mac Startup Manager, and it comes up to the rEFInd menu whenever the machine starts up. But unfortunately, in the rEFInd menu, the only one of my multiple copies of OSX that is shown is SnowLeopard. The others do not appear. What do I need to do to get ElCapitan and HighSierra to appear in the rEFInd menu ? Do I need to edit the rEFInd configuration file ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Indeed, pressing the 'escape' key caused all the bootable installations to appear. Guess I need to dive into the config file.
One piece of info I left out in OP: I first installed rEFInd with no options, and at that point ALL the bootable OSXs showed up as expected. But then I decided I should've installed it with the '--usedefault' option, and that's when I started getting this behavior of the only choice being the old SnowLeopard installation. Also, I'm not sure if I was logged into ElCapitan or HighSierra when I did that first install, nor do I recall which I was logged in to when I did the second (current) install; pretty lame, sorry :-( I imagine rEIFnd is installed into the EFI partition of the current boot drive, and perhaps it behaves differently if that's HFS+ or APFS ?
Your other questions, though they may now be moot:
1. The SSD (ElCapitan and HighSierra are in different volumes on one SSD) is on SATA (one of the 4 drive trays inside the tower).
2. ElCapitan and SnowLeopard are HFS+, High Sierra is APFS.
3. I'm not sure. I assume so, since I'm able to boot High Sierra using the 'escape' key.
I am way out of my depth with this stuff, and appreciate the help. I have attached a screenshot of 'diskutil list' if that helps. Seems like the problem is solved though, just need to edit the 'refind.conf' file.
To edit the 'refind.conf' file, I know to first copy it from the refind,conf-sample file, but not sure where to put it. I installed using '--usedefault /dev/disk0s1' . But I can't figure out how to acess that from the Finder or Terminal. Not shown as a directory.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Everything working very nicely now, after setting non-zero delay for scan_delay in refind.conf file.
One problem still: I have a bootable USB drive, diagnostics for my machine. The Mac Startup Manager "sees" it (calls it "EFI boot", same as it calls rEFInd) but rEFInd does not see it. I tried un-commenting out the 'scanfor' line of refind.conf, which is supposed to scan external media by default, but that did not work either. This is USB 2.0. I even tried up;ing scan_delay to 10 seconds.
Oddly, this also worked in my first install (without options) before I re-installed with '--usedefault'.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Attached is screenshot of 'diskutil list', with the first USB drive I mentioned (that rEFInd doesn't "see") at the bottom. The drive doesn't appear to have an EFI partition. Maybe that is the problem - I don't recall exactly how I made that drive, and I guess I did something screwy. However, next to last is another bootable USB that I made as an ElCapitan installer, and rEFInd does not see it either. When I tried to mount its EFI parition to give the listing you reuqested, I got "mount: /dev/disk4s1: unknown special file or file system'.
My .conf file is same as the sample, except for the afrementioned setting of a 'scan_delay'.
If there is no blessed file, then there may be a problem.
If there is a blessed file but not in a location that rEFInd checks, then you have to add a manual stanza.
I don't think rEFInd checks HFS+ header info for blessed EFI file. That might be a nice feature to have to close feature gap between rEFInd and Startup Manager.
As far as checking for blessed EFI files and folders, see screenshot. So nothing at all blessed on the USB installer, some stuff on the diagnostics USB, but I don't know how to tell if it's a location rEFInd checks.
Certainly anything that would close the feature gap between rEFInd and Startup Manager would be awesome though. A lot of people having issue with these GPUs that don't support the Mac Startup Manager.
Oh, so the diskutil | grep EFI just gives the 4 EFI partitions seen in the screenshot I posted (two posts back from this one) those being disk{0124}s1. They are with the 3 HFS+ installs of OSX, plus the USB ElCapitan installer, but not the APFS HighSierra installation (which I call Mojave because I hope to be there soon). When I mount those four and mount | grep as you specify, I get:
"/Volumes/EFI" being disk0s1 that I mounted above, with MainHD and SnowLepard, which happens to be the only OSX shown in the rEFInd menu before I defined a 'scan_delay' in 'refind.conf'.
For diagnostics, it's probably not a location rEFInd searches for (have to search source code to be sure). You'll need to add a manual entry:
menuentry"My macOS"{icon\EFI\refind\icons\os_hwtest.pngvolume"Mac Pro 5comma1 bootable diagnostic"loader\System\Library\CoreServices\.diagnostics\diags.efi}
Only the first EFI partition has EFI files (belonging to rEFInd). Is that correct? In Terminal.app, you can examine all the mounted EFI partitions (should be four of them) with open /Volumes/EFI*
Are you sure the EFI Boot option is Startup Manager goes to diagnostics? Seems to me that it can only go to rEFInd. Actually, I think you said that Startup Manager shows two EFI Boot options - one goes to rEFInd and the other goes to diagnostics. If you add a disk_label to /Volumes/Mac Pro 5comma1 bootable diagnostic/System/Library/CoreServices/.diagnostics then it would stop saying EFI Boot.
Use the following command to make a disk label: sudo bless --folder "/Volumes/Mac Pro 5comma1 bootable diagnostic/System/Library/CoreServices/.diagnostics" --label "MacPro5,1 Diagnostics"
Do the same for rEFInd: sudo bless --folder /Volumes/EFI/EFI/BOOT --label "rEFInd"
Tell me if either of those commands works (it might not work with old Macs like the MacPro5,1 for the EFI partition).
If the label doesn't work (it remains EFI Boot in Startup Manager), then a Volume Icon will (does for my MacPro3,1). For rEFInd, copy the picture from os_refind.png icon and paste it into the Get Info dialog (select the icon) of the EFI partition containing the rEFInd efi files. If the diagnostic option doesn't have an icon in Startup Manager, then you can do the same for the diagnostic partition (there's an os_hwtest.png icon in the rEFInd icons folder).
Is there a "/Volumes/Install OS X El Capitan/System/Library/CoreServices/boot.efi" file? If so then it probably just needs to be blessed. Use the Startup Disk preferences panel to select it as boot. Close it. check bless info of the disk again, then rebless your rEFInd.
If rEFInd doesn't list the Install El Capitan option, then maybe it doesn't have a CoreServices folder with boot.efi? What does the partition have?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The menuentry "stanza" you provided did indeed work to make the diagnostic USB stick show up in rEFInd.
Yes, only disk0s1 (called 'Main' with SnowLeopard installed) appears to have rEFInd files. That's what you want, right, for rEFInd to be installed only in one of the EFI parititions ? I guess if that disk crashes, I've got a problem. Can always temporarily re-install the GPU that supports Startup Manager, I suppose. Still, this would seem to be a hiccup in making rEFInd a replacement for Startup Manager.
I did note one thing that looked a bit odd. When I mount disk0s1 (where the one copy of rEFInd lives, a directory called EFI appears in /Volumes, as would be expected. But that has only one sub-directory, also called EFI, and it's under taht one that we see APPLE, BOOT, and tools.
[/Volumes10]$ls/Volumes/EFI/EFIAPPLE/BOOT/tools/
Yes, both of the commands for changing the labeling of rEFInd and the diagnostic USB stick, to change their appearance in Startup Manager, worked nicely.
Your surmise is correct, the USB ElCapitan installer does not have a CoreServices folder. The only thing in "/Volumes/Install OS X El Capitan/" is "Install OS X El Capitan.app" (the installer app that I made the bootable installer from, using some recipe I found). The only subdir of the app is Contents. To 'ls -R' it is too long, but the top level is:
ls"/Volumes/Install OS X El Capitan/Install OS X El Capitan.app/"/ContentsFrameworks/MacOS/PlugIns/SharedSupport/version.plistInfo.plistPkgInfoResources/_CodeSignature/
Last edit: John Eyles 2020-07-17
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
/Volumes/EFI is the mount point for the EFI partition. The name of the volume is EFI.
/Volumes/EFI/EFI is the folder in the root folder of the EFI volume. That is normal and correct. /Volumes/EFI/EFI/BOOT is the default BOOT folder (named Boot when created by Windows - I'm not sure if rEFInd is case sensitive or not)
/Volumes/EFI/EFI/BOOT/bootx64.efi is the fallback boot loader.
/Volumes/EFI/EFI/xxxxx (where xxxx is a product or manufacturer such as APPLE, Microsoft, ubuntu, CLOVER, ...) contain other .efi files - one of them is usually a copy of the fallback boot loader (compare file size in the finder or do a md5 checksum to compare) - it depends on the last OS that was installed.
If you mounted multiple EFI partitions using sudo diskutil mount disk0s1 sudo diskutil mount disk1s1 sudo diskutil mount disk2s1
They would all have the same volume name "EFI" but would require different mount point names to be able to be listed in the default /Volumes folder so subsequent EFI volumes will have a number appended like EFI 1, EFI 2, EFI 3...
You can see mount points with mount
Glad you got diagnostics working in rEFInd. When you said "Oddly, this also worked in my first install (without options) before I re-installed with '--usedefault'." did you mean that diagnostics was listed by rEFInd previously?
For the El Capitan installer, does it work from Startup Manager (hold option at boot) or Startup Disk preferences panel? I don't think it would. I don't think you said it worked. I think it was created incorrectly. Do you have a link to the instructions you used? I think you're supposed to have the Install OS X El Capitan.app on a hard drive, then use the createmedia command at Install OS X El Capitan.app/Contents/Resources/createmedia
see: https://www.macworld.com/article/2367748/how-to-make-a-bootable-os-x-10-10-yosemite-install-drive.html
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I did the createmedia on my computer. It places nothing in the EFI partition. The root of the Install OS X El Capitan partition is as you describe - there is a "Install OS X El Capitan.app" located there. What is missing from the description is the list of invisible files. The bless --info "/Volumes/Install OS X El Capitan" command says there's a blessed file at /Volumes/Install OS X El Capitan/.IABootFiles/boot.efi
The .IABootFiles folder comes with .disk_label files already created. The installer has a copy of boot.efi at /System/Library/CoreServices but there's no .disk_label files there. The System folder is also invisible (even though it doesn't start with a period - it's a file system or Finder flag I guess).
To list invisible files, add the a flag: ls -alR "/Volumes/Install OS X El Capitan"
The find command might be more readable and never skips invisible files and gives way more control: find "/Volumes/Install OS X El Capitan" -type f -maxdepth 3
You can also type command-shift-period in the Finder to show/hide invisible files.
If your installer doesn't have invisible files next to the .app, then maybe you created this partition by just copying the .app from a real installer, thus missing all the files required to boot the installer?
If rEFInd wanted to support HFS header blessed file, then it would need an api to convert file id to path. Does that exist for an EFI file system driver? I think it should.
Last edit: joevt 2020-07-17
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Nope, here "/Volumes/Install OS X El Capitan/.IABootFiles" contains only 'com.apple.Boot.plist'.
Ah well, if I get in a situation where I need to use the USB installer (or the diagnostics USB, for that matter), temporarily putting in the old GPU, that supports Apple's boot screen, won't be that much of a hardship. OTOH, if trying to get the installer to show up in rEFInd could lead to improvements in rEFInd, then it could be worth pursuing further. Otherwise, I think I've got rEFInd working well enough to put in the metal-capable GPU and try to install Mojave. Thanks much for your help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To get the installer app, I downloaded a dmg file from Apple, which when mounted brought up a pkg, which I told to do the install. I may have done something stupid though. I didn't seem to be able to get the install app from the dmg except by saying I wanted to do an install, and at some point I became frightened that it was going to try to install over my laptop's OS (HighSierra), so I aborted it. I was able to use this USB to do a clean install of ElCapitan on an old Mac Pro I was selling though, so I can't have broken it that badly.
If you can you tell me the correct command, I'll re-create the USB installer from the installer app I still have, or from the dmg.
Last edit: John Eyles 2020-07-18
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, I rebuilt my ElCapitan installer using instructions like you used (I found a Macworld article for making a bootable EC installer, pretty identical to the one you linked). I got the following output, see complaint at end:
Readytostart.
Tocontinueweneedtoerasethediskat/Volumes/InstallOSXElCapitan.
Ifyouwishtocontinuetype(Y)thenpressreturn: yErasingDisk: 0%... 10%... 20%... 30%...100%...
Copyinginstallerfilestodisk...
Copycomplete.
Makingdiskbootable...
Couldn't mount dmg /Volumes/Install OS X El Capitan/Install OS X El Capitan.app/Contents/SharedSupport/InstallESD.dmg (error code 112)Mount of outer dmg failed.Done.
Which I now recall from when I first built it. Yet, I was able to use it to do a clean install of ElCapitan on an old Mac Pro (that I sold).
Maybe this has to do with the fact I'm trying to create this on my HighSierra laptop, and the date may be out of range for ElCapitan certificates. So I tried it again while logged into ElCapitan on the Mac Pro, and got the same error ("mount of outer DMG failed"). So in SystemPrefs I changed the date/time to manual set and set it to 6/1/2017. (I recall I had to do that on the old Mac Pro on which I installed ElCapitan, using the USB installer, though I did it with the Terminal app in the installer package). When I entered the sudo command to try again to create the installer, I got the message "sudo: timestamp too far in the future: Jul 18 14:49:18 2020". So somewhere in the system it still knows it's really 2020. But it went ahead and tried to execute the command, and got the same "mount of outer DMG failed". Also tried something a search suggested, doing the 'sudo' and the 'createinstallmedia' separately, but with same result.
Anyhow, I believe this explains why neither Startup Manager nor rEFInd sees the USB installer.
Last edit: John Eyles 2020-07-18
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That link gave: "This version of OS X 10.11 cannot be installed on this computer"; I was booted into ElCapitan partition on my Mac Pro. Not sure how I managed to download it on my HighSierra laptop.
Also, once I do download it, it seems impossible to actually get the Install.app file without telling it to do the install. Is there a workaround for that ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just as the https://support.apple.com/en-gb/HT201372 page says, the download is a disk image. Mount it and open InstallMacOSX.pkg to install the "Install OS X El Capitan.app" to the Applications folder of a disk that contains macOS. The installer will close without installing after the app is installed. Then you can execute createmedia from the app.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have Mac Pro 5,1 (tower) and wish to upgrade to Mojave. This requires a "metal-capable" GPU and the one I have does not support the Mac Startup Manager (aka. the "boot screen"). I want to have the Startup Manager in order to be able to boot from different OSX installations, recovery paritiions, and bootable external media. I currently have SnowLeopard on an HDD (with my user directories), and ElCapitan and HighSierra on two partitions of an SSD (I'll upgrade the HighSierra to Mojave when I get things working with the new GPU).
I want to use rEFInd to get around the lack of the Startup Manager. The plan is, before I swap in the new GPU, to select rEFInd as the default in the Startup Manager. Then, after installing the new GPU, whenever my machine boots up, it will come to the rEFInd menu and I can select the OSX installation from which I wish to boot. IOW, rEFInd becomes my new startup manager.
I have successfully set "EFI boot" as the default in the Mac Startup Manager, and it comes up to the rEFInd menu whenever the machine starts up. But unfortunately, in the rEFInd menu, the only one of my multiple copies of OSX that is shown is SnowLeopard. The others do not appear. What do I need to do to get ElCapitan and HighSierra to appear in the rEFInd menu ? Do I need to edit the rEFInd configuration file ?
Try this guide I wrote: https://forums.macrumors.com/threads/refind-opencore-multiboot-guide.2231693/.
It comes with a patched version of Refind for your cMP, as well as OpenCore, and is plug and play.
Press the escape key to rescan? If that works then maybe try changing scan_delay to 1 (or higher) in the conf file.
Are the SSDs connected to built-in USB or SATA? Third party SATA may work. Third party USB 2.0 may work. Third party USB 3.x won't work.
Are the ElCapitan and HighSierra partitions HFS+ formatted and properly blessed? Use the "bless info" command to find out.
Does MacPro5,1 have a apfs driver in its EFI? If not, then you need to add it to rEFInd if you want to boot from apfs.
Thnaks for the quick response.
Indeed, pressing the 'escape' key caused all the bootable installations to appear. Guess I need to dive into the config file.
One piece of info I left out in OP: I first installed rEFInd with no options, and at that point ALL the bootable OSXs showed up as expected. But then I decided I should've installed it with the '--usedefault' option, and that's when I started getting this behavior of the only choice being the old SnowLeopard installation. Also, I'm not sure if I was logged into ElCapitan or HighSierra when I did that first install, nor do I recall which I was logged in to when I did the second (current) install; pretty lame, sorry :-( I imagine rEIFnd is installed into the EFI partition of the current boot drive, and perhaps it behaves differently if that's HFS+ or APFS ?
Your other questions, though they may now be moot:
1. The SSD (ElCapitan and HighSierra are in different volumes on one SSD) is on SATA (one of the 4 drive trays inside the tower).
2. ElCapitan and SnowLeopard are HFS+, High Sierra is APFS.
3. I'm not sure. I assume so, since I'm able to boot High Sierra using the 'escape' key.
I am way out of my depth with this stuff, and appreciate the help. I have attached a screenshot of 'diskutil list' if that helps. Seems like the problem is solved though, just need to edit the 'refind.conf' file.
Last edit: John Eyles 2020-07-13
To edit the 'refind.conf' file, I know to first copy it from the refind,conf-sample file, but not sure where to put it. I installed using '--usedefault /dev/disk0s1' . But I can't figure out how to acess that from the Finder or Terminal. Not shown as a directory.
Ah, needed to mount /dev/disk0s1.
Last edit: John Eyles 2020-07-13
Everything working very nicely now, after setting non-zero delay for scan_delay in refind.conf file.
One problem still: I have a bootable USB drive, diagnostics for my machine. The Mac Startup Manager "sees" it (calls it "EFI boot", same as it calls rEFInd) but rEFInd does not see it. I tried un-commenting out the 'scanfor' line of refind.conf, which is supposed to scan external media by default, but that did not work either. This is USB 2.0. I even tried up;ing scan_delay to 10 seconds.
Oddly, this also worked in my first install (without options) before I re-installed with '--usedefault'.
I think default scanfor (when it's commented out) should be sufficient for external EFI Boot.
Get a diskutil list of that USB drive, list the contents of the EFI partition, provide a copy of your conf file for comparison.
Attached is screenshot of 'diskutil list', with the first USB drive I mentioned (that rEFInd doesn't "see") at the bottom. The drive doesn't appear to have an EFI partition. Maybe that is the problem - I don't recall exactly how I made that drive, and I guess I did something screwy. However, next to last is another bootable USB that I made as an ElCapitan installer, and rEFInd does not see it either. When I tried to mount its EFI parition to give the listing you reuqested, I got "mount: /dev/disk4s1: unknown special file or file system'.
My .conf file is same as the sample, except for the afrementioned setting of a 'scan_delay'.
Last edit: John Eyles 2020-07-15
See if there's a blessed EFI file on the HFS+ partitions:
If there is no blessed file, then there may be a problem.
If there is a blessed file but not in a location that rEFInd checks, then you have to add a manual stanza.
I don't think rEFInd checks HFS+ header info for blessed EFI file. That might be a nice feature to have to close feature gap between rEFInd and Startup Manager.
Check EFI partitions:
As far as checking for blessed EFI files and folders, see screenshot. So nothing at all blessed on the USB installer, some stuff on the diagnostics USB, but I don't know how to tell if it's a location rEFInd checks.
Certainly anything that would close the feature gap between rEFInd and Startup Manager would be awesome though. A lot of people having issue with these GPUs that don't support the Mac Startup Manager.
Oh, so the diskutil | grep EFI just gives the 4 EFI partitions seen in the screenshot I posted (two posts back from this one) those being disk{0124}s1. They are with the 3 HFS+ installs of OSX, plus the USB ElCapitan installer, but not the APFS HighSierra installation (which I call Mojave because I hope to be there soon). When I mount those four and mount | grep as you specify, I get:
... and finally, the 'find' you specified gave:
"/Volumes/EFI" being disk0s1 that I mounted above, with MainHD and SnowLepard, which happens to be the only OSX shown in the rEFInd menu before I defined a 'scan_delay' in 'refind.conf'.
Last edit: John Eyles 2020-07-16
For diagnostics, it's probably not a location rEFInd searches for (have to search source code to be sure). You'll need to add a manual entry:
Only the first EFI partition has EFI files (belonging to rEFInd). Is that correct? In Terminal.app, you can examine all the mounted EFI partitions (should be four of them) with
open /Volumes/EFI*
Are you sure the
EFI Boot
option is Startup Manager goes to diagnostics? Seems to me that it can only go to rEFInd. Actually, I think you said that Startup Manager shows twoEFI Boot
options - one goes to rEFInd and the other goes to diagnostics. If you add a disk_label to/Volumes/Mac Pro 5comma1 bootable diagnostic/System/Library/CoreServices/.diagnostics
then it would stop sayingEFI Boot
.Use the following command to make a disk label:
sudo bless --folder "/Volumes/Mac Pro 5comma1 bootable diagnostic/System/Library/CoreServices/.diagnostics" --label "MacPro5,1 Diagnostics"
Do the same for rEFInd:
sudo bless --folder /Volumes/EFI/EFI/BOOT --label "rEFInd"
Tell me if either of those commands works (it might not work with old Macs like the MacPro5,1 for the EFI partition).
If the label doesn't work (it remains EFI Boot in Startup Manager), then a Volume Icon will (does for my MacPro3,1). For rEFInd, copy the picture from os_refind.png icon and paste it into the Get Info dialog (select the icon) of the EFI partition containing the rEFInd efi files. If the diagnostic option doesn't have an icon in Startup Manager, then you can do the same for the diagnostic partition (there's an os_hwtest.png icon in the rEFInd icons folder).
Is there a "/Volumes/Install OS X El Capitan/System/Library/CoreServices/boot.efi" file? If so then it probably just needs to be blessed. Use the Startup Disk preferences panel to select it as boot. Close it. check bless info of the disk again, then rebless your rEFInd.
If rEFInd doesn't list the Install El Capitan option, then maybe it doesn't have a CoreServices folder with boot.efi? What does the partition have?
The menuentry "stanza" you provided did indeed work to make the diagnostic USB stick show up in rEFInd.
Yes, only disk0s1 (called 'Main' with SnowLeopard installed) appears to have rEFInd files. That's what you want, right, for rEFInd to be installed only in one of the EFI parititions ? I guess if that disk crashes, I've got a problem. Can always temporarily re-install the GPU that supports Startup Manager, I suppose. Still, this would seem to be a hiccup in making rEFInd a replacement for Startup Manager.
I did note one thing that looked a bit odd. When I mount disk0s1 (where the one copy of rEFInd lives, a directory called EFI appears in /Volumes, as would be expected. But that has only one sub-directory, also called EFI, and it's under taht one that we see APPLE, BOOT, and tools.
Yes, both of the commands for changing the labeling of rEFInd and the diagnostic USB stick, to change their appearance in Startup Manager, worked nicely.
Your surmise is correct, the USB ElCapitan installer does not have a CoreServices folder. The only thing in "/Volumes/Install OS X El Capitan/" is "Install OS X El Capitan.app" (the installer app that I made the bootable installer from, using some recipe I found). The only subdir of the app is Contents. To 'ls -R' it is too long, but the top level is:
Last edit: John Eyles 2020-07-17
/Volumes/EFI is the mount point for the EFI partition. The name of the volume is EFI.
/Volumes/EFI/EFI is the folder in the root folder of the EFI volume. That is normal and correct. /Volumes/EFI/EFI/BOOT is the default BOOT folder (named Boot when created by Windows - I'm not sure if rEFInd is case sensitive or not)
/Volumes/EFI/EFI/BOOT/bootx64.efi is the fallback boot loader.
/Volumes/EFI/EFI/xxxxx (where xxxx is a product or manufacturer such as APPLE, Microsoft, ubuntu, CLOVER, ...) contain other .efi files - one of them is usually a copy of the fallback boot loader (compare file size in the finder or do a md5 checksum to compare) - it depends on the last OS that was installed.
If you mounted multiple EFI partitions using
sudo diskutil mount disk0s1
sudo diskutil mount disk1s1
sudo diskutil mount disk2s1
They would all have the same volume name "EFI" but would require different mount point names to be able to be listed in the default /Volumes folder so subsequent EFI volumes will have a number appended like EFI 1, EFI 2, EFI 3...
You can see mount points with
mount
Glad you got diagnostics working in rEFInd. When you said "Oddly, this also worked in my first install (without options) before I re-installed with '--usedefault'." did you mean that diagnostics was listed by rEFInd previously?
For the El Capitan installer, does it work from Startup Manager (hold option at boot) or Startup Disk preferences panel? I don't think it would. I don't think you said it worked. I think it was created incorrectly. Do you have a link to the instructions you used? I think you're supposed to have the Install OS X El Capitan.app on a hard drive, then use the createmedia command at
Install OS X El Capitan.app/Contents/Resources/createmedia
see: https://www.macworld.com/article/2367748/how-to-make-a-bootable-os-x-10-10-yosemite-install-drive.html
I did the createmedia on my computer. It places nothing in the EFI partition. The root of the Install OS X El Capitan partition is as you describe - there is a "Install OS X El Capitan.app" located there. What is missing from the description is the list of invisible files. The
bless --info "/Volumes/Install OS X El Capitan"
command says there's a blessed file at/Volumes/Install OS X El Capitan/.IABootFiles/boot.efi
The
.IABootFiles
folder comes with .disk_label files already created. The installer has a copy of boot.efi at /System/Library/CoreServices but there's no .disk_label files there. The System folder is also invisible (even though it doesn't start with a period - it's a file system or Finder flag I guess).To list invisible files, add the
a
flag:ls -alR "/Volumes/Install OS X El Capitan"
The find command might be more readable and never skips invisible files and gives way more control:
find "/Volumes/Install OS X El Capitan" -type f -maxdepth 3
You can also type command-shift-period in the Finder to show/hide invisible files.
If your installer doesn't have invisible files next to the .app, then maybe you created this partition by just copying the .app from a real installer, thus missing all the files required to boot the installer?
If rEFInd wanted to support HFS header blessed file, then it would need an api to convert file id to path. Does that exist for an EFI file system driver? I think it should.
Last edit: joevt 2020-07-17
Nope, here "/Volumes/Install OS X El Capitan/.IABootFiles" contains only 'com.apple.Boot.plist'.
Ah well, if I get in a situation where I need to use the USB installer (or the diagnostics USB, for that matter), temporarily putting in the old GPU, that supports Apple's boot screen, won't be that much of a hardship. OTOH, if trying to get the installer to show up in rEFInd could lead to improvements in rEFInd, then it could be worth pursuing further. Otherwise, I think I've got rEFInd working well enough to put in the metal-capable GPU and try to install Mojave. Thanks much for your help.
Oddly, the USB ElCap installer now doesn't show up in Startup Manager. And I don't think we did anything to that device. Hmm ...
I think you need to recreate the El Capitan USB installer with the createmedia command since it's not blessed properly and is missing boot.efi.
Is there anything else we haven't fixed yet?
I believe I did create it with a createmedia command. I believe it was:
To get the installer app, I downloaded a dmg file from Apple, which when mounted brought up a pkg, which I told to do the install. I may have done something stupid though. I didn't seem to be able to get the install app from the dmg except by saying I wanted to do an install, and at some point I became frightened that it was going to try to install over my laptop's OS (HighSierra), so I aborted it. I was able to use this USB to do a clean install of ElCapitan on an old Mac Pro I was selling though, so I can't have broken it that badly.
If you can you tell me the correct command, I'll re-create the USB installer from the installer app I still have, or from the dmg.
Last edit: John Eyles 2020-07-18
I followed the instructions for Yosemite in the macworld article I linked using a 10.11.6 Installer.app that I had from a few years ago.
Ok, I rebuilt my ElCapitan installer using instructions like you used (I found a Macworld article for making a bootable EC installer, pretty identical to the one you linked). I got the following output, see complaint at end:
Which I now recall from when I first built it. Yet, I was able to use it to do a clean install of ElCapitan on an old Mac Pro (that I sold).
Maybe this has to do with the fact I'm trying to create this on my HighSierra laptop, and the date may be out of range for ElCapitan certificates. So I tried it again while logged into ElCapitan on the Mac Pro, and got the same error ("mount of outer DMG failed"). So in SystemPrefs I changed the date/time to manual set and set it to 6/1/2017. (I recall I had to do that on the old Mac Pro on which I installed ElCapitan, using the USB installer, though I did it with the Terminal app in the installer package). When I entered the sudo command to try again to create the installer, I got the message "sudo: timestamp too far in the future: Jul 18 14:49:18 2020". So somewhere in the system it still knows it's really 2020. But it went ahead and tried to execute the command, and got the same "mount of outer DMG failed". Also tried something a search suggested, doing the 'sudo' and the 'createinstallmedia' separately, but with same result.
Anyhow, I believe this explains why neither Startup Manager nor rEFInd sees the USB installer.
Last edit: John Eyles 2020-07-18
Did you try redownloading the installer?
https://itunes.apple.com/app/os-x-el-capitan/id1147835434?mt=12
That link gave: "This version of OS X 10.11 cannot be installed on this computer"; I was booted into ElCapitan partition on my Mac Pro. Not sure how I managed to download it on my HighSierra laptop.
Also, once I do download it, it seems impossible to actually get the Install.app file without telling it to do the install. Is there a workaround for that ?
Found a proper download link by starting at https://support.apple.com/en-gb/HT201372
which leads to https://support.apple.com/en-gb/HT206886
which has a link http://updates-http.cdn-apple.com/2019/cert/061-41424-20191024-218af9ec-cf50-4516-9011-228c78eda3d2/InstallMacOSX.dmg
Just as the https://support.apple.com/en-gb/HT201372 page says, the download is a disk image. Mount it and open InstallMacOSX.pkg to install the "Install OS X El Capitan.app" to the Applications folder of a disk that contains macOS. The installer will close without installing after the app is installed. Then you can execute createmedia from the app.