Creating a bootable macOS High Sierra USB installation media

By | December 21, 2018

In a previous post, I discussed creating a macOS High Sierra installation ISO. Well, these days it’s usually easier to just use a USB stick to get the job done.

I have an older laptop at home that I use as a backup. It’s a mid-2011 MacBook Air, and the most recent OS it can run is High Sierra. I had run Ubuntu on it for a while, and wanted to go back to macOS, but there was no recovery partition. Internet recovery brought it all the way back to Lion!

Well, one can’t run the High Sierra installation from Lion, the required steps are install Lion -> install Sierra -> install High Sierra. So you can see, if I wipe this old laptop again, there’s a long way to get it to the most current OS and patch level. 

The solution to this is twofold: Create a bootable High Sierra installation USB media, and secondly to address updating the recovery partition (another post)

Following instructions posted on another site for installing High Sierra Beta, I modified the instructions to point to the non-beta name for the installation app, and updated it to reflect using a temporary location for the Installation app (in my case, I moved it to /Volumes/Data from my Synology NAS as a local working directory)

First, create a blank HFS+ formatted USB stick called “HighSierra” (the name must match the name referred to in the example script shown below). This will be reformatted by the script, so the only important thing is the case-senstive name must match the script.

In the example below, I have the “Install macOS High Sierra.app” in /Applications (where the App Store would put it back in the day, when it was available to download). If you have yours in a different location, update the script accordingly.

The use of “sudo” (required) will ask you for your password. Also note the use of “\” on the end of the commands below allows you to copy and paste the entire command as one command line even though it appears to be multiple lines.

cd /Applications
cp -Rp Install\ macOS\ High\ Sierra.app /private/tmp
mkdir -p /private/tmp/installertmp
hdiutil attach /private/tmp/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/BaseSystem.dmg
cp -Rp /Volumes/OS\ X\ Base\ System/Install\ macOS\ High\ Sierra.app /private/tmp/installertmp
cp -Rp /private/tmp/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport /private/tmp/installertmp/Install\ macOS\ High\ Sierra.app/Contents
cd /private/tmp/installertmp
sudo ./Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia \
--volume /Volumes/HighSierra --applicationpath ./Install\ macOS\ High\ Sierra.app \
--nointeraction

Well, I couldn’t leave enough alone, so I made the script a bit more generic so I could reuse it and change variables…. and I posted it on Github here.

Category: Uncategorized

About Bill Plein

I've been in the data storage industry since the 1990's, most recently with 3PAR, Fusion-io, and Pure Storage. I'm now with Diamanti, where we make Kubernetes easy and fast. I'm attracted to bright, shiny new objects.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.