What would be the cleanest method of converting the APFS macOS partition back to HFS+

apfsboothfs+high sierrapartition

After installing High Sierra when it was released, I was initially happy with APFS and gave no care to its relative novelty. Recently I've been using Linux, macOS, and Windows, and having to reboot back into macOS just to grab a file and then copy it to my Windows or Linux partitions is becoming inconvenient and tedious, not to mention a waste of space. I decided that I'd make the attempt to convert my macOS partition back to HFS+. Here are the steps I've taken so far:

  1. Made a full backup of my internal drive using gdd. I've tested this backup and am writing this booted off of it.
  2. Installed macOS High Sierra onto a disk drive (thereby keeping it HFS+).
  3. Copied all of my macOS files onto this drive using sudo cp -a (Target Disk Mode).
  4. Written this HFS+ partition over my APFS partition (gparted-live).
  5. Transferred the Apple_Boot partition to immediately after the HFS+ partition on my internal drive (Target Disk Mode).
  6. Attempted to boot off of my internal drive.

The resulting HFS+ partition appears as a bootable drive in the hold-Option-at-boot menu, and when I attempt to boot it (verbosely), it throws tons of warnings/errors along the lines of kernel[0]: ... dyld_shared_cache_x86_64': owned by uid=89 instead of 0, then infinitely outputs Process[32] crashed: opendirectoryd. Too many corpses being created (number ranging from about 30 to about 150) and increments the number. After powercycling multiple times it now outputs Waiting for DSMOS before the infinite loop.

Here is a diskutil list of my internal drive:

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS macOS                   169.3 GB   disk0s2
   3:                 Apple_Boot                         600.8 MB   disk0s3
   4:           Linux Filesystem                         31.5 GB    disk0s4
   5:                 Linux Swap                         8.5 GB     disk0s5
   6:       Microsoft Basic Data BOOTCAMP                40.8 GB    disk0s6

Given all this, what would be the cleanest way for me to accomplish converting my macOS partition to HFS+, keeping in mind I can start over if needed?

Best Answer

Once you formatted an HDD as an APFS volume it is not easy to get back to HFS+. I made the experience when I formatted an external 10 TB backup disk as APFS just to decide that maybe HFS+ would be better for my usage scenario. When I tried to reformat the HDD, the HFS+ version was gone from diskutil. I had to erase the complete volume structure and as soon as I did this, I was able to format as HFS+.

So I guess you will have to go through this too.

  1. Full backup (time machine, carbon copy, ...)
  2. Following my experience I would say to completely erase the volume structure of your internal HDD, through target disk mode or while booted into the recovery partition of an external USB drive.
  3. Reinstall
  4. Restore

Good luck!

With other words: I would say there is no way of avoiding a complete erase and reconfiguration of the whole volume structure + reinstall.

The “too many corpses” hinds at a corruption of your account/machine setting. If it is the user account you could try to create a new user:

  1. Start with ⌘-S
  2. Check the startup disk:/sbin/fsck -fy
  3. Mount the startup disk using: /sbin/mount -uw /
  4. Remove the setup complete flag using: rm /var/db/.AppleSetupDone
  5. Install macOS and create a new user.
  6. Copy your data to the new user.

If it is a machine setting related problem: erase, etc..