MacOS – Terminal command to force-install Mac OS High Sierra onto a specified drive

high sierrainstallmacosraidterminal

I'm wondering if there is a way to install Mac OS High Sierra using terminal onto a specified drive?

I'm working with a bit of a unique situation as I've been running Mac OS Sierra successfully in a RAID0 setup on a 15" 2011 MacBook Pro. I've swapped the SATA-connected optical drive for a second internal SSD for maximum read and write speeds.

When I attempt to go through the installation process for High Sierra, I boot into recovery mode with High Sierra already installed on an external drive and the two freshly erased and partitioned internal SSDs in Mac OS Extended (Journaled) format. I then combine both of the internal drives I wish to use in the RAID0 format with Disk Utility's RAID Assistant. After successfully combining and mounting the drives, I return to the High Sierra Installer to attempt to install the OS on the RAID0 drive. I'm given the error "You may not install to this volume because it is part of a AppleRAID."

I've spoken with three Apple Senior Advisers over the phone and via chat who were all very willing to help me but unable to find any solution.

My hunch is that because the High Sierra installer automatically converts internal drives during installation into the new APFS, rather than using Mac OS Extended (Journaled) format, it may not be able to do this with a striped RAID virtual drive. I'm able to format both individual SSDs into the APFS format using Disk Utility but when combining the drives using the RAID Assistant the only option is to erase and combine using Mac OS Extended (Journaled).

I have been able to find some code that forces internal drive installation using the older file system, but you are unable to specify a drive:

/Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --converttoapfs NO

I'm willing to attempt to force-install to the mounted RAID drive if there is a way to use terminal to attempt this.

Best Answer

This is independent of the RAID problem and may be independent of any APFS problem as well.

The core of this question is that the commanline will not allow you to redirect the install away from the booted drive. Therefore this answer covers the question as presented in the question headline.

The startosinstall command offers the switch --volume to redirect the installer onto a specified volume.

Try it:

..path/to/startosinstall --usage

and find that option missing.

It is there for any High Sierra installer.

BUT

This option is only presented when SIP is disabled!

The -–volume argument will be hidden, because startosinstall requires – at least – either CSR_ALLOW_UNRESTRICTED_NVRAM/0x40/64 or CSR_ALLOW_ANY_RECOVERY_OS/0x100/256.
Without one of these, the --volume argument won’t be supported.

That means also that using that switch from the Recovery partition it will be present every time.

This trickery is documented at Comparison of startosinstall's available options depending on boot OS environment

So in the case of this question:

/Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --converttoapfs NO --volume /Volumes/YourChoice