Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

DeepYogurt

macrumors member
Original poster
Sep 17, 2008
33
3
How can you tell which Recovery partition is actually being used? I have a MacPro 6,1 system that has two drives (one internal and one external), each with a Recovery partition. If I hold down the Command+R keyboard keys and the system boots into Recovery, how do I determine which one of the Recovery partitions the system is actually running from? Is there a way to select a specific Recovery partition during boot up?

Thanks very much...

-bob

ps - if it matters the both disks a APFS formatted...
 

chabig

macrumors G4
Sep 6, 2002
11,432
9,289
I believe cmd-R will always boot from the recovery partition on the selected startup drive.
 

DeepYogurt

macrumors member
Original poster
Sep 17, 2008
33
3
Is there a way to really verify which recovery partition is actually being used? Holding down Command+R doesn't really give you a choice, not on my system anyway. I see the two boot possibilities if I hold down the Option key, but when I hold down Command+R there is no further choices that I see. Thanks...
 
Last edited:

joevt

macrumors 604
Jun 21, 2012
6,935
4,235
Can you use a third party boot loader like RefindPlus or OpenCore (OCLP in the case of a Mac) to select a specific Recovery partition? In Open Core, press space bar to show special boot items like the recovery volumes and partitions.

In the past I used the bless command to bless all the Recovery partitions or volumes so they appear in the Apple Startup Manager (hold option key at boot). I think I used my own fork of bless (on GitHub) to do that (necessary if the built-in bless command blesses the system volume instead of the recovery volume when you explicitly specify the Recovery volume - I don't remember if that was a problem with the preboot or recovery or system volume).

While booted into Recovery you might be able to figure out which recovery is being used by going into Terminal app and typing some commands.
Code:
diskutil list
mount
df
etc.
 

DeepYogurt

macrumors member
Original poster
Sep 17, 2008
33
3
Well, here is what I tried - boot the system holding down the Option key until the two volumes are shown on the screen - then use the arrow keys to select the first of the two disks I want and then with right hand type the Enter/Return key and then very quickly with the left hand press the Command+R keys ... after the system boots I brought up a Terminal (from the Utilities menu) and the "df -mt" command shows all the mounted partitions, one of which is "/Volumes/Image Volume", whose device id was /dev/disk3s3 which is the device id of the first disk's Recovery partition.

If I then reboot and again hold down Option key and select the second of the two disks and then with right hand press the Enter/Return key and then very quickly with the left hand press the Command+R keys ... after the system boots bring up Terminal (from the Utilities menu) and then type the "df -mt" command and now the "/Volumes/Image Volume" item points to /dev/disk1s3, which is the device id of the second disk's Recovery partition.

I'm guessing the "/Volumes/Image Volume" folder is a result of the "BaseSystem.dmg" image -- anyone know any details of how this works/happens?

This is a bit obtuse, so am hoping that someone has an easier way to tell. But there is a definite difference between booting with the two different methods.

Thanks for the various suggestions.

-bob

ps -- note that the /Volumes/Image Volume" does not appear when booting the standard way (without the Command+R)
 

joevt

macrumors 604
Jun 21, 2012
6,935
4,235
I'm guessing the "/Volumes/Image Volume" folder is a result of the "BaseSystem.dmg" image -- anyone know any details of how this works/happens?
Not sure. BaseSystem.dmg is a disk image containing all the files needed for the recovery to boot. I guess the boot loader (boot.efi) examines the com.apple.Boot.plist file to find the kernel cache (kernelcache or prelinkedkernel or immutablekernel) and the root partition (BaseSystem.dmg). The kernel is loaded, it mounts the root partition and the boot process continues from there.

Also check the lsof command (if it exists in the Terminal.app). See if it lists a BaseSystem.dmg file.
lsof | grep dmg
 

DeepYogurt

macrumors member
Original poster
Sep 17, 2008
33
3
Discovered another rather unusual artifact -- if you set the default disk via the SystemPreferences Startup pane and then reboot and press Command+R for Recovery boot, you do not get the "/Volumes/Image Volume" entry, but if you use the Option key to first get the list of possible boot devices then manually select the same drive as what the startup setting says, and then press Enter/Return and then quickly do the Command+R the "/Volumes/Image Volume" appears. Rather odd - I would have thought these two methods were equivalent. Both get you into Recovery mode from the same volume but one way you get the "/Volumes/Image Volume" that directly points at the Recovery partition on the booted disk and the other way this is no longer mounted/df -shown.

I tried using "lsof" command with this '/Volumes/Image Volume" mounted but "lsof" does not show the "BaseSystem.dmg" in the list of open files. I'm guessing the mount of the BaseSystem.dmg image file was mounted as part of the booting up steps. And the reason for the "/Volumes/Image Volume" being mounted or not has to do with way the system was booted into Recovery mode (either by setting the default disk via the SystemPreferences setting or by manually selected with the "Option" press during startup).

Still seems to be a bit of magic going on and so will keep trying to figure this out a bit more.

Thanks again for the hints/help.

-bob
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.