How to upgrade macOS to High Sierra without filesystem change (HFS+ to APFS)

How to upgrade macOS to High Sierra without filesystem change (HFS+ to APFS)

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.

 

Text commands

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

opening terminal in macOS installator

 

How to determine macOS version and filesystem type

To determine OS X or macOS version, open Terminal.app and type:

system_profiler SPSoftwareDataType

or

sw_vers -productVersion

 

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’.

 

macos-sierra-hfs

 

To determine which filesystem is installed on the disk, while in Installer, open Terminal From “Utilities” menu and type the following:

mount

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+.

macos-mount



 

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).

macos-high-sierra-installation-on-hfs-filesystem

 

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’.

macos-high-sierra-instaled-on-hfs-filesystem

Thanks for reading!



 

Related:

APFS vs HFS+: benchmarks on 2017 MacBook Pro with macOS High Sierra (final version)

4 thoughts on “How to upgrade macOS to High Sierra without filesystem change (HFS+ to APFS)

  1. Thank you! I’m using Unity3d and it’s not compatible with APFS yet, so your post is a life saver. I owe you a beer 🙂

  2. You need to completely reinstall macOS to switch back to HFS+, so I would only do it, when you have a problem which isn’t solvable in a different way.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.