Contribute
Register

Recovery HD partition with El Capitan

Status
Not open for further replies.
Very, very good! Wish I had found it earlier... however, now I have the file prelinkedkernel in the trash and it can't be deleted. It's sometimes gone after reboots...
 
Last edited:
Thx

Is perfectly working :)
 
1- " diskutil list "
* you will get de partition list, note that the Recovery Partition is obviously named " Recovery HD "...
* check the number of the partition it is in, in this case, 3:, so, you will have disk0s3 as mount device...
---

/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *240.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS El Capitan 239.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3

---

2- create a folder in Volumes folder for Recovery HD and mount it there...
" sudo mkdir /Volumes/Recovery\ HD/ "
" sudo mount -t hfs /dev/disk0s3 /Volumes/Recovery\ HD/ "

3- enter the directory and remove the " prelinkedkernel "

" cd /Volumes/Recovery\ HD/com.apple.recovery.boot/ "
" sudo rm -rf prelinkedkernel "

4- now, copy your working prelinkedkernel there...

" sudo cp /System/Library/PrelinkedKernels/prelinkedkernel /Volumes/Recovery\ HD/com.apple.recovery.boot/ "
and just in case...
" sudo touch prelinkedkernel "

5- reboot and test it... (takes some time to load even in real macs)

Did this as stated (Sierra OS 10.12.1), rebooted, select recovery in clover (latest version), installer starts and hangs with beachball of doom.

EDIT: So I have switched out a WIFI/Bluetooth Card (Probably not related, but maybe) to a new card that is Handoff native supported and removed a Bluetooth dongle, when I tried again today, worked like a champ, now have a recovery drive. Great stuff!
 
Last edited:
My lordy - that was easy! Nice one jimmyfoz :)
Booted into Recovery HD on an Samsung NVMe m.2 drive too :)
Would a Time Machine restore work OK on a Hackintosh?

You Betcha! See my attached photo. I have a Synlogy NAS with a Time Machine partition on my LAN - the photo shows me booted into the Recovery partition, after choosing "Restore from Time Machine", browsing the network to find the backup, authenticating, etc. up to the point of choosing which backup to restore from.

In case anyone is wondering, my build / sitch
  • Intel NUC 5i3MYHE originally built on El Cap 10.11.2 using this guide (Oct 2015)
  • Currently running 10.11.6 (15G1212) - current patches as of today
  • I updated the recovery HD partition that was created way back in Oct 2015 by simply following the OP's instructions (thanks Jimmyfoz!)
    • Mounted InstallESD.dmg from latest Install OS X El Capitan.app
    • Copied BaseSystem.dmg from the InstallESD.dmg to Recovery HD
    • Copied prelinkedkernel to Recovery HD, including the "sudo touch" suggestion
...and that was it! Worked like a charm. Why'd I do it?
  • Before this AM I was *unable* to boot into recovery partition, which really sucked, because a Clover update borked my system (grrr)
  • Because I had no bootable partition/tools, fixing the Clover problem involved making a new Unibeast USB stick, etc. just to get into Terminal again - so I could then restore a backup of my EFI folder), I was like "never again".
In OS X, the boot loader looks for the unified prelinked kernel. This cache contains all kernel extensions that may be needed to boot a Mac with any hardware configuration, with the extensions already linked against the kernel.)

**Thank you** so much for explaining that. Now I understand why the Recovery partition would work at all.

If I had more time I'd write a script to do all this - totally repeatable operation...

Thanks to all!
 

Attachments

  • ElCap_NUC5i3MYHE_WorkingRecoveryPartition-TimeMachine.jpg
    ElCap_NUC5i3MYHE_WorkingRecoveryPartition-TimeMachine.jpg
    960.6 KB · Views: 393
I can't thank you enough -- from Barcelona!
 
With this mod I can now boot the recovery tools, but my drives don't show up under Disk Utility or time capsule restore. With terminal, I see them with "df -k", but diskutil list reports a problem with diskmanager. This is a ga-p55-usb3 with clover legacy, and USB3 disabled in BIOS.




-bash-3.2# diskutil activity
***Begin monitoring DiskArbitration activity
***DiskAppeared ('disk0', DAVolumePath = '<null>', DAVolumeKind = '<null>', DAVolumeName = '<null>') Time=20170115-18:29:36.4804
***DiskAppeared ('disk0s1', DAVolumePath = '<null>', DAVolumeKind = 'msdos', DAVolumeName = 'EFI') Time=20170115-18:29:36.4823
***DiskAppeared ('disk0s2', DAVolumePath = 'file:///Volumes/Mac%20Storm/', DAVolumeKind = 'hfs', DAVolumeName = 'Mac Storm') Time=20170115-18:29:36.4826
***DiskAppeared ('disk0s3', DAVolumePath = 'file:///Volumes/Image%20Volume/', DAVolumeKind = 'hfs', DAVolumeName = 'Recovery HD') Time=20170115-18:29:36.4829
***DiskAppeared ('disk1', DAVolumePath = '<null>', DAVolumeKind = '<null>', DAVolumeName = '<null>') Time=20170115-18:29:36.4832
***DiskAppeared ('disk1s1', DAVolumePath = 'file:///', DAVolumeKind = 'hfs', DAVolumeName = 'OS X Base System') Time=20170115-18:29:36.4834
***DiskAppeared ('disk2', DAVolumePath = '<null>', DAVolumeKind = '<null>', DAVolumeName = '<null>') Time=20170115-18:29:36.4837
***DiskAppeared ('disk2s1', DAVolumePath = '<null>', DAVolumeKind = 'msdos', DAVolumeName = 'EFI') Time=20170115-18:29:36.4839
***DiskAppeared ('disk2s2', DAVolumePath = '<null>', DAVolumeKind = '<null>', DAVolumeName = '<null>') Time=20170115-18:29:36.4842
***DiskAppeared ('disk2s3', DAVolumePath = '<null>', DAVolumeKind = 'hfs', DAVolumeName = 'Boot OS X') Time=20170115-18:29:36.4844
***DiskAppeared ('disk2s4', DAVolumePath = 'file:///Volumes/BackupSL/', DAVolumeKind = 'hfs', DAVolumeName = 'BackupSL') Time=20170115-18:29:36.4847
***DiskAppeared ('disk2s5', DAVolumePath = '<null>', DAVolumeKind = 'hfs', DAVolumeName = 'Recovery HD') Time=20170115-18:29:36.4849
***DiskAppeared ('disk3', DAVolumePath = 'file:///Volumes/Backup/', DAVolumeKind = 'hfs', DAVolumeName = 'Backup') Time=20170115-18:29:36.4852
***DiskAppeared ('disk4', DAVolumePath = 'file:///private/var/log/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4855
***DiskAppeared ('disk5', DAVolumePath = 'file:///Volumes/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4857
***DiskAppeared ('disk6', DAVolumePath = 'file:///private/var/tmp/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4860
***DiskAppeared ('disk7', DAVolumePath = 'file:///private/var/run/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4862
***DiskAppeared ('disk8', DAVolumePath = 'file:///System/Installation/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4865
***DiskAppeared ('disk9', DAVolumePath = 'file:///private/var/db/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4868
***DiskAppeared ('disk10', DAVolumePath = 'file:///private/var/folders/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4870
***DiskAppeared ('disk11', DAVolumePath = 'file:///private/var/root/Library/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4873
***DiskAppeared ('disk12', DAVolumePath = '<null>', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4875
***DiskAppeared ('disk13', DAVolumePath = 'file:///Library/Preferences/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4878
***DiskAppeared ('disk14', DAVolumePath = 'file:///Library/Preferences/SystemConfiguration/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4880
***DiskAppeared ('disk15', DAVolumePath = 'file:///Library/Keychains/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4883
***DiskAppeared ('disk16', DAVolumePath = 'file:///private/var/tmp/RecoveryTemp/', DAVolumeKind = 'hfs', DAVolumeName = 'untitled') Time=20170115-18:29:36.4885
***DAIdle (no DADiskRef) Time=20170115-18:29:36.4887
diskutil: interrupted


-bash-3.2# diskutil list
Could not start up a DiskManagement session

-bash-3.2 #ps -ef
UID PID PPID C STIME TTY TIME CMD
0 1 0 0 6:11PM ?? 0:00.77 /sbin/launchd
0 109 1 0 6:12PM ?? 0:02.43 /usr/libexec/kextd
0 110 1 0 6:12PM ?? 0:00.95 /System/Library/PrivateFrameworks/CoreRAID.framework/Resources/CoreRAIDServer
0 112 1 0 6:12PM ?? 0:00.47 /usr/libexec/configd
0 113 1 0 6:12PM ?? 0:00.12 /System/Library/CoreServices/powerd.bundle/powerd
0 114 1 0 6:12PM ?? 0:00.35 /System/Installation/CDIS/instlogd
0 115 1 0 6:12PM ?? 0:00.24 /usr/libexec/findmydeviced
0 116 1 0 6:12PM ?? 0:00.13 /usr/libexec/airportd
240 118 1 0 6:12PM ?? 0:00.11 /System/Library/CoreServices/iconservicesd
0 119 1 0 6:12PM ?? 0:00.37 /System/Library/CoreServices/iconservicesagent
0 120 1 0 6:12PM ?? 0:00.23 /usr/libexec/diskarbitrationd
0 121 1 0 6:12PM ?? 0:10.76 /usr/sbin/syslogd
0 123 1 0 6:12PM ?? 0:00.10 /usr/libexec/opendirectoryd
0 125 1 0 6:12PM ?? 0:00.22 /System/Library/CoreServices/launchservicesd
0 126 1 0 6:12PM ?? 0:00.09 /usr/sbin/securityd -i
205 127 1 0 6:12PM ?? 0:00.24 /usr/libexec/locationd
0 129 1 0 6:12PM ?? 0:00.14 /usr/sbin/blued
65 130 1 0 6:12PM ?? 0:00.34 /usr/sbin/mDNSResponder
0 132 1 0 6:12PM ?? 0:00.03 /usr/sbin/KernelEventAgent
0 133 1 0 6:12PM ?? 0:00.03 /bin/sh /etc/rc.install
0 134 1 0 6:12PM ?? 0:00.04 /usr/libexec/hidd
0 135 1 0 6:12PM ?? 0:00.31 /usr/sbin/notifyd
241 136 1 0 6:12PM ?? 0:00.37 /usr/sbin/distnoted daemon
0 141 1 0 6:12PM ?? 0:00.22 /usr/sbin/cfprefsd daemon
0 142 1 0 6:12PM ?? 0:01.95 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd
0 184 1 0 6:12PM ?? 0:00.18 /System/Library/CoreServices/coreservicesd
0 259 1 0 6:12PM ?? 0:00.09 /usr/libexec/sandboxd
0 265 1 0 6:12PM ?? 0:01.36 /usr/libexec/lsd runAsRoot
24 282 1 0 6:12PM ?? 0:00.12 /usr/libexec/networkd
0 395 1 0 6:12PM ?? 0:00.08 /usr/libexec/networkd_privileged
0 429 1 0 6:12PM ?? 0:00.05 /usr/libexec/securityd_service
0 437 133 0 6:12PM ?? 0:01.57 /System/Library/CoreServices/Language Chooser.app/Contents/MacOS/Language Chooser /System/Installation/CDIS/OS X Installer.app/Contents/MacOS/OS X Installer -ExternalLog YES -NSDisabledCharacterPaletteMenuItem YES /System/Installation/Packages/OSInstall.mpkg
0 438 133 0 6:12PM ?? 0:01.10 /usr/bin/logger -t -p install.warn
0 439 1 0 6:12PM ?? 0:00.11 /usr/sbin/ocspd
88 440 1 0 6:12PM ?? 0:07.39 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/Resources/WindowServer -daemon
-2 443 1 0 6:12PM ?? 0:00.16 /System/Library/PrivateFrameworks/WebContentAnalysis.framework/Resources/webfilterDNSd
0 446 1 0 6:12PM ?? 0:00.06 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper
97 447 1 0 6:12PM ?? 0:02.33 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd
0 451 1 0 6:13PM ?? 0:00.05 /usr/sbin/pboard
0 456 437 0 6:13PM ?? 0:01.46 /System/Installation/CDIS/OS X Utilities.app/Contents/MacOS/OS X Utilities -ExternalLog YES -NSDisabledCharacterPaletteMenuItem YES /System/Installation/Packages/OSInstall.mpkg -AppleLanguages (en)
0 458 1 0 6:13PM ?? 0:00.11 /usr/libexec/diskmanagementd
0 459 456 0 6:14PM ?? 0:11.66 /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -NSDisabledCharacterPaletteMenuItem YES -AppleKeyboardUIMode 2 -AppleLanguages (en)
202 462 1 0 6:14PM ?? 0:00.21 /usr/sbin/coreaudiod
202 464 1 0 6:14PM ?? 0:00.04 /System/Library/Frameworks/CoreAudio.framework/Versions/A/XPCServices/com.apple.audio.DriverHelper.xpc/Contents/MacOS/com.apple.audio.DriverHelper
0 460 459 0 6:14PM ttys000 0:00.04 -bash
0 474 460 0 6:18PM ttys000 0:00.01 ps -ef


I also see allot of system.log activity, with a continuous stream of these messages:
Jan 15 18:22:36 iMac kernel[0]: Sandbox: authd(142) deny(1) sysctl-read kern.hostid
Jan 15 18:22:36 iMac kernel[0]: Sandbox: authd(142) deny(1) process-info-pidinfo
Jan 15 18:22:36 iMac authd[142]: sysctl() failed (Operation not permitted)
Jan 15 18:22:36 iMac authd[142]: process[110]: failed to create code ref 100001
Jan 15 18:22:36 iMac authd[142]: xpc[110]: failed to register connection
Jan 15 18:22:36 iMac kernel[0]: Sandbox: authd(142) deny(1) sysctl-read kern.hostid
Jan 15 18:22:36 iMac kernel[0]: Sandbox: authd(142) deny(1) process-info-pidinfo
Jan 15 18:22:36 iMac authd[142]: sysctl() failed (Operation not permitted)
Jan 15 18:22:36 iMac authd[142]: process[110]: failed to create code ref 100001
Jan 15 18:22:36 iMac authd[142]: xpc[110]: failed to register connection
 
This is a very quick guide on making the Recovery HD partition usable in El Capitan, bootable via Clover.

1- " diskutil list "
* you will get de partition list, note that the Recovery Partition is obviously named " Recovery HD "...
* check the number of the partition it is in, in this case, 3:, so, you will have disk0s3 as mount device...
---

/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *240.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS El Capitan 239.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3

---

2- create a folder in Volumes folder for Recovery HD and mount it there...
" sudo mkdir /Volumes/Recovery\ HD/ "
" sudo mount -t hfs /dev/disk0s3 /Volumes/Recovery\ HD/ "

3- enter the directory and remove the " prelinkedkernel "

" cd /Volumes/Recovery\ HD/com.apple.recovery.boot/ "
" sudo rm -rf prelinkedkernel "

4- now, copy your working prelinkedkernel there...

" sudo cp /System/Library/PrelinkedKernels/prelinkedkernel /Volumes/Recovery\ HD/com.apple.recovery.boot/ "
and just in case...
" sudo touch prelinkedkernel "

5- reboot and test it... (takes some time to load even in real macs)

Enjoy!

Thanks! I can now boot recovery from my hard drive from Clover. I'm using Sierra 10.12.2 and this worked great for that!
 
Status
Not open for further replies.
Back
Top