This article was born due to my successfull hardware upgrade from ASUS P5K-SE to GIGABYTE GA-EP45-DS3L.
After that I decided to write mini how-to that can help others with their feature upgrades for their Mac-ready hardware configurations.
So. If You are planning to live with Mac OS - nice practice is working with USB2SATA adapter as repair solution when drivers failed to load Your system after software update or hardware upgrade.
Such devices are cheap and I see no problems for getting it.
Before upgrading
If Your OS X working well at old hardware - You have to backup all of Your System based data for making possible to start up old OS on old hardware if something goes wrong with a new hardware configuration.
Here is a list of important data for a backup(best way is to do these steps in Terminal with super user (sudo -s) ) and prepare.
- Create backup directory (Terminal commands)
- backup /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
- /System/Library/Extensions
- Removing All Injectors (Video, Audio)
- Move all Extensions outside of /Extra/Extensions folder if You are using EFIv9 bootloader
- Move any DSDT patches into backup folder
- Good practice is to install new SATA controller drivers before hardware upgrade, but is not necessary If You have USB2HDD adapter
mkdir /before.upgrade
cp /Library/Preferences/SystemConfiguration/com.apple.Boot.plist /before.upgrade/
I`d like to mention that You have to remove from com.apple.Boot.plist all Efi-based strings(for Your sound or video card or any)
Example from one my install
Before
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Graphics Mode</key>
<string>1280x800x32</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string></string>
<key>Timeout</key>
<string>5</string>
<key>device-properties</key>
<string>6d0000000100000001000000610000000200000002010c00d041030a
000000000101060001027fff0400100000006d006f00640065006c0000000b
000000474d4120393530200000004100410050004c002c00480061007300
500061006e0065006c0000000800000001000000</string>
</dict>
</plist>
After
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Graphics Mode</key>
<string>1280x800x32</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string></string>
<key>Timeout</key>
<string>5</string>
</dict>
</plist>
Backing up Extensions to backup folder
cp -Rv /System/Library/Extensions /before.upgrade/
rm -rf /System/Library/Extensions/*injec* && rm -rf /System/Library/Extensions/*enable*
mkdir /before.upgrade/Extra && mv -v /Extra/Extensions /before.upgrade/Extra/
mv /DSDT.aml /before.upgrade/
After that You can to upgrade Your hardware (motherboard, CPU, HDD controllers).
After upgrading
New hardware config should boot if Your Extensions compatible with a new HDD controller - if not - You always can boot via USB2HDD adapter with system disk installed.
First boot will be more successfull if You start it with
-v -f
boot keys (verbose booting and force reloading Extensions)
After booting You have to install all Your drivers for a new hardware and reconnect HDD(if needed) onto onboard HDD controller.
Can`t boot at new hardware
If Your new hardware is very unusual and can`t boot with a system disk neither via USB2HDD adapters - You always can make some repair steps described at Universal How-to MacOS installation.
You can boot Your upgraded system with installation DVD and make repair steps in Terminal program, provided there.
Goog luck.