While upgrading a MacBook Pro from OS X 10.11.6 El Capitan to macOS 10.13 High Sierra in a step-by-step procedure, I created a clone of the Recovery HD volume. Unfortunately, this newly created clone does not show up in Startup Manager's selection list. Details see Problem section below.
Hardware-Software-Environment
MacBook Pro Early 2015 running OS X 10.11.6 El Capitan.
The internal HD is actually a 250 GB SSD comprising partitions EFI
, Macintosh HD
and Recovery HD
. There is no encryption enabled on any of these partitions.
External 2 TB HD connected via USB 3.0 Bus; later on called target disk.
Task
Create a bootable clone of the Recovery HD
partition on the target disk. Provide a robust and simple command line based procedure. Wherever possible, avoid fiddeling around with the GPT entries.
Solution Attempt
Apply
diskutil resizeVolume
to create a new 1.0 GB partition on the
target disk carrying a JHFS+ file system. To prevent subsequent naming
confusion we 'baptize' the newly created partition toRecovery HD
so
that the name of the partition and the corresponding GPT label will agree.Run
asr restore
to 'populate' the new recovery partition.asr restore --source /dev/disk0s3 --target /dev/disk2s9 --erase
where, in this case, disk0s3 is the disk id of the recovery partition which is
associated to the startup volume while disk2s9 is the disk id of the 'new'
recovery partition on the target disk.Run
asr adjust
to set the appropriate type to the 'new' recovery partitionasr adjust --target /dev/disk2s9 --settype "Apple_Boot"
diskutil info
output for the 'new' recovery partition:Device Identifier: disk2s9 Device Node: /dev/disk2s9 Whole: No Part of Whole: disk2 Device / Media Name: Recovery HD Volume Name: Not applicable (no file system) Mounted: Not applicable (no file system) File System: None Partition Type: Apple_Boot OS Can Be Installed: No Media Type: Generic Protocol: USB SMART Status: Not Supported Volume UUID: AA10BAA6-C29B-37A6-BA1C-0EACCFD304C9 Disk / Partition UUID: 2B1B46B7-8068-493F-A8CC-475EFECD89EA Total Size: 1000.0 MB (999997440 Bytes) (exactly 1953120 512-Byte-Units) Volume Free Space: Not applicable (no file system) Device Block Size: 512 Bytes Read-Only Media: No Read-Only Volume: Not applicable (no file system) Device Location: External Removable Media: No
gpt -vvv show -l /dev/disk2
output (snippet):gpt show: /dev/disk2: mediasize=2000365289472; sectorsize=512; blocks=3906963456 gpt show: /dev/disk2: PMBR at sector 0 gpt show: /dev/disk2: Pri GPT at sector 1 ... gpt show: /dev/disk2: GPT partition: type=426F6F74-0000-11AA-AA11-00306543ECAC, start=1331274184, size=1953120 ... gpt show: /dev/disk2: Sec GPT at sector 3906963455 start size index contents 0 1 PMBR 1 1 Pri GPT header 2 32 Pri GPT table 34 6 ... 1331274184 1953120 9 GPT part - "Recovery HD" ... 3906701272 262151 3906963423 32 Sec GPT table 3906963455 1 Sec GPT header
Problem
With the external HD connected, invoke the Startup Manager holding down the ⌥ Option key on starting or restarting the machine.
The Startup Manager does not show the newly created recovery partition in the list of volume icons representing those partitions it considers bootable.
Question: What is wrong with the above solution attempt trying to create a bootable recovery partition? Any advices and suggestions are welcome.
Additional question: Can it be that this issue is induced by a side effect of the System Integrity Protection feature that has been introduced in El Capitan? See item #4 in the Sources and Footnotes section below.
Observations and Tests
Observation: We start from a properly created clone of the built-in startup volume, thus it consists of a
Macintosh HD
and aRecovery HD
partition, hereafter invoke the Startup Manager, the clone now appears as a (single) icon labelledMacintosh HD
.If we rename solely the
Macintosh HD
to, say,macintosh_hd_10_11_6_yymmdd
the clone appears as a pair of icons labelledmacintosh_hd_10_11_6_yymmdd
andMacintosh HD
, where the latter denotes the recovery partition.If we rename both, the
Macintosh HD
and theRecovery HD
to, say,macintosh_hd_10_11_6_yymmdd
resp.recovery_hd_10_11_2_yymmdd
the clone appears as a (single) icon labelledmacintosh_hd_10_11_6_yymmdd
.Observation: Again starting from a properly created clone of the built-in startup volume, we 'purge' the
Macintosh HD
viadiskutil reformat
while leaving theRecovery HD
untouched. Now, the Startup Manager does not show the 'left-over' recovery partition; before, the clone of the built-in startup volume appeared as an icon labelledMacintosh HD
as described above.Tests: It doesn't achieve anything ..
.. if we carry out the above processing steps in Recovery Mode.
.. if we modify the above processing steps in so far that we start from another (working)Recovery HD
partition clone instead of the one associated to the current, built-in startup volume.
.. if we modify the above processing steps in so far that we, at first, create a disk image
of theRecovery HD
partition and subsequently runasr restore
taking this disk
image as source.Test: Before executing step #2 of the above processing steps we
disable SIP. (Runcsrutil disable
in Recovery Mode; don't miss to re-enable SIP when you're done!)Disappointingly this did'nt fix the issue.
Sources and Footnotes
Changing a Volume's "Device / Media Name"
Discussing the relationship between partition name and label resp. volume and device/media name.
Recovery HD Is not showing up. Is it because of FileVault?
Contains an insightful discussion about the Startup Manager's label trickery.
https://bombich.com/de/kb/ccc5/frequently-asked-questions-about-cloning-apples-recovery-hd-partition
A very useful text from the Bombich Software knowledge base introducing the term of an operational Recovery HD.
https://www.macobserver.com/tips/deep-dive/macos-recovery-partition-without-reinstalling-macos/
Presents the Recovery Partition Creator tool; mentions that System Integrity Protection (SIP) needs to be disabled in order to clone the recovery partition in El Capitan.