-
-
Save geoff-nixon/b96bc9c5bca538aa0819 to your computer and use it in GitHub Desktop.
#!/bin/sh -x ## or just ` curl -Ls http://git.io/vRozn | sh `. | |
## Downloads the Mac OS X 10.10 Recovery Partition update, | |
## Copy's over the 10.10 version of Disk Utility.app, then | |
## use git to apply a binary patch so it will run on 10.11+. | |
cd /tmp | |
rm -rf DU1010 | |
mkdir DU1010 | |
cd DU1010 | |
# See: https://github.com/wdas/reposado | |
curl -ORL http://swcdn.apple.com/content/downloads/21/09/031-20634/8d84o1ky5gn2agnf5kiz9eed134n7y3q4c/RecoveryHDUpdate.pkg | |
xar -xf RecoveryHDUpdate.pkg | |
hdiutil attach -nobrowse RecoveryHDMeta.dmg | |
hdiutil attach -nobrowse "/Volumes/Recovery HD Update/BaseSystem.dmg" | |
cp -Rp "/Volumes/OS X Base System/Applications/Utilities/Disk Utility.app" . | |
hdiutil detach "/Volumes/OS X Base System" | |
hdiutil detach "/Volumes/Recovery HD Update" | |
rm * 2>/dev/null | |
git apply --no-index <<-PATCH | |
diff --git a/Disk Utility.app/Contents/MacOS/Disk Utility b/Disk Utility.app/Contents/MacOS/Disk Utility | |
index 20f16f995699699ac5841a455c261a2e45e6a4e5..ce4994ac078a99803ba6b5f3467fae425b5bf643 100755 | |
GIT binary patch | |
delta 44 | |
scmZoTC);pNcEgiI#+K%%iS17l8G)Dyh?#+y1&CRJm~H#hM0ROb0OUIqApigX | |
delta 44 | |
scmZoTC);pNcEgiI#@6PiiS17l8G)Dyh?#+y1&CRJm~H#hM0ROb0OVa1A^-pY | |
PATCH | |
mv "Disk Utility.app" "Disk Utility (10.10).app" | |
open . |
Great Script, thanks Geoff
Hello,
Thanks for such nice solution to use Disk Utility of 10.10 in 10.11.
Just now installed macOS Sierra Public Beta and tried your the solution and am getting the following error.
"
Termination Reason: DYLD, [0x4] Symbol missing
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
Symbol not found: _kDMMediaTypeCDROM
Referenced from: /Applications/Utilities/Disk Utility Yosemite.app/Contents/MacOS/../Frameworks/DUSupport.framework/Versions/A/DUSupport
Expected in: /System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement
in /Applications/Utilities/Disk Utility Yosemite.app/Contents/MacOS/../Frameworks/DUSupport.framework/Versions/A/DUSupport
"
Please try and find a working solution.
Working perfectly, thank you very much!
Is this possible in Sierra?
Ca you please add support for sierra? macOS 12.4 =>
Thank you :)
I was able to get it to work on Sierra.
The issue was some missing symbols (_kDMMediaTypeCDROM
and _DIHLGetBundleSize
), which are only found in old frameworks. So just copy them over and use install_name_tool to load them instead.
-
Run the script as above.
-
Re-download the package and mount them:
curl -ORL http://swcdn.apple.com/content/downloads/21/09/031-20634/8d84o1ky5gn2agnf5kiz9eed134n7y3q4c/RecoveryHDUpdate.pkg
xar -xf RecoveryHDUpdate.pkg
hdiutil attach -nobrowse RecoveryHDMeta.dmg
hdiutil attach -nobrowse "/Volumes/Recovery HD Update/BaseSystem.dmg"
- Copy over
DiskManagement.framework
andDiskImages.framework
from
/Volumes/OS X Base System/System/Library/PrivateFrameworks
to
/tmp/DU1010/Disk Utility (10.10).app/Contents/Frameworks
- Use install_name_tool to change where to look for those shared libraries (use
otool -L
in before/after to confirm that paths are really changing).
cd "/tmp/DU1010/Disk Utility (10.10).app/Contents/MacOS"
install_name_tool -change /System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement @executable_path/../Frameworks/DiskManagement.framework/Versions/A/DiskManagement Disk\ Utility
install_name_tool -change /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages @executable_path/../Frameworks/DiskImages.framework/Versions/A/DiskImages Disk\ Utility
Doesn't work. Under 10.13.6, it won't even start.
on 10.14.6
Dyld Error Message:
Symbol not found: OBJC_CLASS$_NSStatusBarWindow
Referenced from: /Volumes/VOLUME/Yosemite Disk Utility For El Capitan.app/Contents/MacOS/Disk Utility
Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
in /Volumes/VOLUME/Yosemite Disk Utility For El Capitan.app/Contents/MacOS/Disk Utility
You are truly a life saver! Thanks a ton