Question

I’m currently on macOS Sierra and will upgrade to macOS High Sierra as soon as it comes out, which means my machine will be using APFS.

I also have an external HDD (not SSD) that has quite a few years on it, already. I use it solely for storage. I have it formatted as exFAT so it’s compatible with both macOS and Windows, out of the box. But recently I’ve noticed that I never connect it to a non-macOS machine.

So, would it make sense for me to reformat my external HDD as APFS? Are there any benefits to it over the current exFAT (speed, file integrity)?

Was it helpful?

Solution

APFS gives several benefits over exFAT, for example:

  • Protection against meta-data corruption caused by for example sudden power loss, system crash or if disconnect the external hard drive without unmounting it first. exFAT only detects corruption using checksums, but cannot rollback like APFS.

  • Better support for full disk encryption

  • Allows snapshotting the file system (i.e. you can create "frozen" versions of everything on disk, which will never change - even when you continue to alter the contents of your files)

  • Allows cloning a file into two copies that can be independently changed while only requiring the disk space for one file plus the size of the differences compared to the other file

On the other hand, exFAT has a range of advantages too:

  • Older file system that is "tried and tested" for years on macOS

  • Simpler file system with less overhead

  • Most probably slightly faster (but this will depend on the final implementation in the release version of High Sierra)

  • As you mentioned, the drive can be used without extra drivers on Windows

Only you can decide which set of benefits are most important for you.

OTHER TIPS

One further reason to reformat is if you may use the drive for Time Machine.

As of September 2018 there's no direct official support for exFAT according to this Apple support document

Unofficially, you can create a sparsebundle as described on MacOSHints

First, connect the unsupported volume (in this case, an exFAT external hard drive.) When it mounts, open the Terminal and type these commands, substituting 'My External HDD Name' for the name of the unsupported volume.

cd /Volumes
cd 'My External HDD Name' 

Next, type this code, substituting for your needs:

hdiutil create -size 320g -type SPARSEBUNDLE -fs "HFS+J" MacBook-Backup.sparsebundle
open MacBook-Backup.sparsebundle 

Here, a 320GB sparse bundle named 'MacBook-Backup' is being made and mounted. You can change these values as you see fit. From herein, I'll refer to the sparse bundle name as 'MacBook-Backup'.

After you've run these commands, a new volume named untitled will appear on your Desktop. This will become your Time Machine backup volume. If you want, rename it to something else (I called mine MacBook Pro Backup) and run the command:

diskutil list 

You should see a list appear of all connected volumes. Find your new volume's name and read along until you find the disk identifier. In this case, my identifier is disk2s2, but yours may be different.

Finally, enter the commands below (entering your password if prompted). Replace disk2s2 with your identifier, and 'MacBook Pro Backup' with the name of your new Time Machine volume.

sudo diskutil enableOwnership /dev/disk2s2
sudo tmutil setdestination '/Volumes/MacBook Pro Backup' 
Licensed under: CC-BY-SA with attribution
Not affiliated with apple.stackexchange
scroll top