During the installation of developer and beta versions of macOS High Sierra, user was asked if he/she wants to “upgrade file system to APFS”. With the final (17A365) version of High Sierra, such question is no longer displayed to people with systems on flash-only storage. It is however still possible to avoid filesystem conversion and install High Sierra on HFS+ filesystem, or keep HFS+.
This is not a “you should”, it’s a “you can”
This howto (hownotto) only shows how to keep HFS+ filesystem during macOS High Sierra upgrade. I’m not saying which filesystem is a better choice. I did some benchmarks on the speed differences between HFS+ and APFS filesystems, should you want to you know what differences may be expected from the change.
It seems that Apple didn’t think all things through and haven’t updated the images of Internet Recovery Mode, which you can automatically download and run in case of local Recovery Mode being erased. If you bought your Mac with Sierra or earlier operating system, when you boot your Mac with command+option+R key combination, the Recovery Mode and Installer for Sierra are being downloaded. Some people reported problems: after High Sierra installer changed their filesystem from HFS+ to APFS and the installation was interrupted, they were unable to boot. And when trying to boot Internet Recovery, they are still downloading a Recovery Mode that knows nothing about APFS. For those people, it may have looked like their data was destroyed, while simply the Recovery Mode couldn’t mount APFS filesystems. If it is possible for Apple to update Recovery Mode images for a few recent versions of OS X / macOS, this would save hair on people’s heads.
For now, if you can’t backup your data and you want to upgrade your operating system to High Sierra, you can choose to keep HFS+ and here’s how.
Commands used below should be typed in the terminal (for example Terminal.app). To open Terminal on a working system, press command+space and type “terminal.app” and press enter. In System Installer, choose “Utilities” and “Terminal” from the top menu
How to determine macOS version and filesystem type
To determine OS X or macOS version, open Terminal.app and type:
To determine filesystem you are using now, type the following in shell:
mount | grep ' / '
This command will show you what disk partition is mounted as the root filesystem (/) and with what options – there is a bracket and first word inside should state ‘hfs’ or ‘apfs’.
To determine which filesystem is installed on the disk, while in Installer, open Terminal From “Utilities” menu and type the following:
A large list of virtual disks will be presented. You have to find “/Volumes/name_of_your_partition” (for example /Volumes/MacintoshHD or /Volumes/mydisk) in on the list and check the first word in brackets in that line. In this case the partition is simply called “HFS” and is mounted as “/Volumes/HFS”. “HFS” here is not the type of filesystem, it’s just a name of the partition. The thing you are looking for is the first word in the brackets: lowercase “hfs”. In this case the filesystem used is HFS+.
Installing macOS High Sierra on HFS+
If you have the macOS High Sierra installer downloaded from App Store, you can run it from the disk on create a bootable installer on a flash drive.
In case you are upgrading from a flash bootable Installer, open Terminal and type the following
"/Volumes/Image Volume/Install macOS High Sierra.app/Contents/Resources/startosinstall" --volume /Volumes/name_of_your_partition --converttoapfs NO
This can also be:
"/Volumes/Install macOS High Sierra.app/Contents/Resources/startosinstall" --volume /Volumes/name_of_your_partition --converttoapfs NO
While typing, you can use TAB button to auto-complete directory and file names if they are indeed in already typed place (for example “/Volumes/Install” command should autocomplete to “/Volumes/Install macOS High Sierra.app” – you can backspace the ‘”‘ sign and type “Con” etc…). The crucial option here is “--converttoapfs NO” (Convert To APFS: NO).
If you are starting the installation from disk, path change is needed and following command should suit:
"/Applications/Install macOS High Sierra.app/Contents/Resources/startosinstall" --volume /Volumes/name_of_your_partition --converttoapfs NO
You will now be asked to to review and agree to the license, installation will prepare, reboot and install High Sierra on your HFS+ partition. After it’s complete, you can use the above commands to determine that your system is High Sierra (10.13) and that the filesystem shown via the mount command is ‘hfs’.
Thanks for reading!