Contribute
Register

[Guide] Avoid APFS conversion on High Sierra update or fresh install

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,395
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
As you already know, macOS High Sierra includes a new file system APFS. If your system drive is solid state, the installer will convert from HFS+J to APFS in both a fresh install scenario and an update scenario.

Fortunately, there a ways around this automatic conversion. It is controlled by the ConvertToAPFS option in /macOS Install Data/minstallconfig.xml, which can be controlled by using 'startosinstall' from Terminal, or edited after the fact (see post #2).

Note: This guide does not apply to macOS Mojave (or later). Apple has removed this option and will force APFS conversion. You can use CCC (Carbon Copy Cloner) to clone from APFS to HFS+J, but that may be a fight you have to take on every update going forward. So,... If you're running Mojave, you will probably end up adopting APFS.


Update scenario using 'startosinstall'

After downloading the 10.13 installer, instead of running it, quit.

Then in Terminal:
Code:
/Applications/"Install macOS High Sierra.app"/Contents/Resources/startosinstall --converttoapfs NO --agreetolicense
The system will copy some files, then reboot, and you'll be able to start the installer (without APFS conversion) by booting the "Boot macOS Install from ..." option in Clover.


Fresh install scenario (or update) using 'startosinstall'

You may be able to use the startosinstall in the fresh install scenario by invoking it from Terminal after booting the installer from USB. But when I tested it in the betas, it did not work, likely due to a bug in the startosinstall code that prevented it from running from the installer. It seems to be fixed by Apple in later releases of the 10.13 installer.

Terminal is available from the "Utilities" menu within the macOS installer.

If you were to attempt it, the USB installer volume (install_osx if following my guide), appears to be mounted at /Volumes/"Image Volume":
Code:
/Volumes/"Image Volume/Install macOS High Sierra.app"/Contents/Resources/startosinstall --volume the_target_volume --converttoapfs NO --agreetolicense
Note: Change the_target_volume as appropriate for the actual name you decided to use for your macOS target volume. Hopefully it is obvious that the target volume must already be formatted as HFS+J.

The --volume option is not available unless running with SIP disabled. Settings for disabling SIP are provided in the plists linked by the Clover laptop guide: https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/


Alternative methods

Read post #2:
https://www.tonymacx86.com/threads/guide-avoid-apfs-conversion-on-high-sierra-update-or-fresh-install.232855/#post-1602625


Background information

https://forums.developer.apple.com/thread/48793
http://www.insanelymac.com/forum/topic/324194-pre-release-macos-high-sierra/page-191#entry2497909
 
Last edited:

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,395
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
The recommended methods are in post #1.

This post contains alternatives that may still be useful in scenarios that post #1 methods may not be possible.


Fresh install scenario (or update), modifying minstallconfig.xml using PlistBuddy

Refer to this guide for an overview of the installation process from USB:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

The process involves creating an installer USB with createinstallmedia, then booting that USB (via Clover on the same USB). You then run the installer, create an HFS+J partition suitable for macOS with Disk Utility, then point the installer to that partition.

Even though you create a new HFS+J partition, if the target is an SSD, the installer will still convert it to APFS.

To avoid that, after running the installer, and upon the first reboot where you would be normally directing Clover to boot the next stage of the installer by selecting "Boot macOS Install from ...", instead, boot the "install_osx" partition on USB again. When that is finished booting, choose Terminal from the Utilities menu.

Now, in Terminal, navigate to your target volume:
Code:
# list /Volumes to remind yourself of the name you gave it
ls -l /Volumes
# then change your working directory to it (in my case, I used '1013')
cd /Volumes/1013
# now change to the "macOS Install Data" directory
cd "macOS Install Data"
# now fix the minstallconfig.xml with PlistBuddy
/usr/libexec/PlistBuddy -c "Set :ConvertToAPFS false" minstallconfig.xml
That's it! Now you're ready to quit Terminal, reboot, and continue the installation process by booting the "Boot macOS Install from ..." partition. When you're done, you'll have a fresh install on HFS+J instead of APFS.


Fresh install scenario (or update), modifying minstallconfig.xml using vi


Refer to this guide for an overview of the installation process from USB:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

The process involves creating an installer USB with createinstallmedia, then booting that USB (via Clover on the same USB). You then run the installer, create an HFS+J partition suitable for macOS with Disk Utility, then point the installer to that partition.

Even though you create a new HFS+J partition, if the target is an SSD, the installer will still convert it to APFS.

To avoid that, after running the installer, and upon the first reboot where you would be normally directing Clover to boot the next stage of the installer by selecting "Boot macOS Install from ...", instead, boot the "install_osx" partition on USB again. When that is finished booting, choose Terminal from the Utilities menu.

Now, in Terminal, navigate to your target volume:
Code:
# list /Volumes to remind yourself of the name you gave it
ls -l /Volumes
# then change your working directory to it (in my case, I used '1013')
cd /Volumes/1013
# now change to the "macOS Install Data" directory
cd "macOS Install Data"
Now, still in Terminal, edit the minstallconfig.xml file with vi:
Code:
vi minstallconfig.xml
You will find code:
Code:
    <key>ConvertToAPFS</key>
    <true/>
Your goal is to change the true to false.

If you know how to use vi, this will not be a problem. Otherwise, follow the instructions below very carefully:
- arrow such that the cursor is at the 't' in 'true'
- press the Del key (forward delete) four times (this removes 'true')
- press i (this puts vi into insert mode)
- type 'false' (without the quotes)
- press Esc (this takes vi out of insert mode)

The result should look like:
Code:
    <key>ConvertToAPFS</key>
    <false/>
No other changes should be made.

If the file looks good:
- press ':wq' (without the quotes) and press enter (':wq' saves the file and exits vi)

If the file doesn't look right, don't save it:
- press ':q!' (without the quotes) and press enter

That's it! Now you're ready to quit Terminal, reboot, and continue the installation process by booting the "Boot macOS Install from ..." partition. When you're done, you'll have a fresh install on HFS+J instead of APFS.
 
Last edited:
Joined
Sep 9, 2011
Messages
907
Motherboard
HP 250 G5 (81EF) Clover UEFI
CPU
i3 5005u
Graphics
HD 5500 (1366x768)
Mobile Phone
Android
As you already know, macOS High Sierra includes a new file system APFS. If your system drive is solid state, the installer will convert from HFS+J to APFS in both a fresh install scenario and an update scenario.

Fortunately, there a ways around this automatic conversion. It is controlled by the ConvertToAPFS option in /macOS Install Data/minstallconfig.xml.


Update scenario

The update scenario is a little bit easier than the fresh install procedures, as there is a command line tool we can run that sets ConvertToAPFS false with a command line option.

After downloading the 10.13 installer, instead of running it, quit.

Then in Terminal:
Code:
/Applications/"Install macOS High Sierra.app"/Contents/Resources/startosinstall --converttoapfs NO --agreetolicense
The system will copy some files, then reboot, and you'll be able to start the installer (without APFS conversion) by booting the "Boot macOS Install from ..." option in Clover.


Fresh install scenario

Refer to this guide for an overview of the installation process from USB:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

The process involves creating an installer USB with createinstallmedia, then booting that USB (via Clover on the same USB). You then run the installer create an HFS+J partition suitable for macOS with Disk Utility, then point the installer to that partition.

Even though you create a new HFS+J partition, if the target is an SSD, the installer will still convert it to APFS.

To avoid that, after running the installer, and upon the first reboot where you would be normally directing Clover to boot the next stage of the installer by selecting "Boot macOS Install from ...", instead boot the "install_osx" partition on USB again. When that is finished booting, choose Terminal from the Utilities menu.

Now, in Terminal, navigate to your target volume:
Code:
# list /Volumes to remind yourself of the name you gave it
ls -l /Volumes
# then change your working directory to it (in my case, I used '1013')
cd /Volumes/1013
# now change to the "macOS Install Data" directory
cd "macOS Install Data"
Now, still in Terminal, edit the minstallconfig.xml file with vi:
Code:
vi minstallconfig.xml
You will find code:
Code:
    <key>ConvertToAPFS</key>
    <true/>
Your goal is to change the true to false.

If you know how to use vi, this will not be a problem. Otherwise, follow the instructions below very carefully:
- arrow such that the cursor is at the 't' in 'true'
- press the Del key (forward delete) four times (this removes 'true')
- press i (this puts you in insert mode)
- type 'false' (without the quotes)
- press Esc (this takes you out of insert mode)

The result should look like:
Code:
    <key>ConvertToAPFS</key>
    <false/>
If the file looks good:
- press ':wq' (without the quotes) and press enter :)wq saves the file and exits vi)

If the file doesn't look right, don't save it:
- press ':q!' (without the quotes) and press enter

That's it! Now you're ready to quit Terminal, reboot, and continue the installation process by booting the "Boot macOS Install from ..." partition. When you're done, you'll have a fresh install on HFS+J instead of APFS.


Background information

https://forums.developer.apple.com/thread/48793
http://www.insanelymac.com/forum/topic/324194-pre-release-macos-high-sierra/page-191#entry2497909
Thank you once again for this great guide! My laptop has an HDD. So I don't need to follow this guide. Right?
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,395
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Thank you once again for this great guide! My laptop has an HDD. So I don't need to follow this guide. Right?
APFS conversion is only automatic for solid state.
I suppose you could force APFS on an HDD if you wanted to, but last I checked APFS is quite slow on HDD.
 
Joined
Nov 17, 2016
Messages
21
Motherboard
Asus ROG G750JS
CPU
Intel Core i7-4700HQ
Graphics
Intel HD4600
Mobile Phone
Android
Hello, im updated from 10.12.6 to 10.13. All works fine, but my ssd not converted to apfs.
If I try to manual converting I get an error com.apple.DiskManagement -error 69546.
Any idea?
 
Joined
Nov 3, 2010
Messages
67
Motherboard
MSI B250M-Pro VD
CPU
Intel Core i3-7100
Graphics
Sapphire Pulse Rx 560
Mac
iMac
Classic Mac
Power Mac
Mobile Phone
iOS
Thanks for your tip RehabMan, but please could you explain why someone should avoid the conversion? I mean, what are the drawbacks leaving system convert the partition to the new file system?
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,395
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Hello, im updated from 10.12.6 to 10.13. All works fine, but my ssd not converted to apfs.
If I try to manual converting I get an error com.apple.DiskManagement -error 69546.
Any idea?
Attach output of 'diskutil list'.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,395
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Thanks for your tip RehabMan, but please could you explain why someone should avoid the conversion? I mean, what are the drawbacks leaving system convert the partition to the new file system?
It is new, likely buggy. Some may want to avoid until a later release. Like I saw written elsewhere, "now the true beta test begins".

Also, since it is new, it is likely there are various 3rd party tools/utilities that will not work with it until the software vendor updates.

Noticed on one of my systems (Crucial M4 SSD) that I had to disable the TRIM patch. With TRIM, getting slow boots, I think fsck was running each time, so slow that battery status failed (due to battery code starting too soon, before the system was ready, was able to fix that by changing "FirstPollDelay" from 4000 to 16000, but that problem went away when I disabled TRIM). For now, running that system withou the TRIM patch.
 

Feartech

Moderator
Joined
Aug 3, 2013
Messages
11,886
Motherboard
Asus N752VX-Clover
CPU
i7-6700HQ / HM170
Graphics
HD530 + GTX 950m 1920 x 1080
Mac
iMac
Mobile Phone
Android
It is new, likely buggy. Some may want to avoid until a later release. Like I saw written elsewhere, "now the true beta test begins".

Also, since it is new, it is likely there are various 3rd party tools/utilities that will not work with it until the software vendor updates.

Noticed on one of my systems (Crucial M4 SSD) that I had to disable the TRIM patch. With TRIM, getting slow boots, I think fsck was running each time, so slow that battery status failed (due to battery code starting too soon, before the system was ready, was able to fix that by changing "FirstPollDelay" from 4000 to 16000, but that problem went away when I disabled TRIM). For now, running that system withou the TRIM patch.
I had the same issues with battery. The battery icon wouldn't "remember" to show on reboots, wouldn't update when plugging/unplugging power and wouldn't change numbers while charging or discharging. Disabled the trim patch and now (touch wood) seems to behaving itself

i may wipe and reinstall and use this guide to not use the APFS system

unless there is a way to convert back?
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,395
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I had the same issues with battery. The battery icon wouldn't "remember" to show on reboots, wouldn't update when plugging/unplugging power and wouldn't change numbers while charging or discharging. Disabled the trim patch and now (touch wood) seems to behaving itself
Yup.
TRIM causes issues with APFS and non-Apple SSD hardware more than it did with HFS+J.

unless there is a way to convert back?
Converting back to HFS+ requires a fresh install.
 
Top