MacOS – APFS – Is it possible to install 2 macOS versions inside one APFS container

apfsmacos

As you might already now, a single APFS container can have multiple APFS partitions inside. Their advantage is the free space is shared between partitions.

Today I decided to try out macOS Mojave Public Beta and was about to create a second APFS container, but thought "why not use an APFS partition instead?" but I didn't want to risk my main macOS High Sierra partition being erased so I decided to ask it here. Is it possible to have multiple macOS installations inside a single container with multiple APFS partitions?

Best Answer

Yes, it possible to have multiple macOS installations inside a single container with multiple virtual partitions, but some of the partitions will be shared.

Note: I do not think virtual partitions is the correct terminology. I believe the terminology should be APFS volumes sharing the same APFS partition.

I started with High Sierra installed to volume labeled Macintosh HD in a APFS container. I using the Disk Utility application to add a new APFS volume labeled Macintosh HD 2. Next, I downloaded High Sierra from the App Store and installed to the Macintosh HD 2 volume. The result from diskutil list is shown below.

Note: I used a external drive, so disk2 appears below instead of the expected disk1.

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +200.0 GB   disk2
                                 Physical Store disk1s6
   1:                APFS Volume Macintosh HD            50.8 GB    disk2s1
   2:                APFS Volume Preboot                 46.1 MB    disk2s2
   3:                APFS Volume My Recovery             1.0 GB     disk2s3
   4:                APFS Volume VM                      8.6 GB     disk2s4
   5:                APFS Volume Machintosh HD 2         18.2 GB    disk2s5

While both High Sierra installations use different root volumes (disk2s1 and disk2s5), the installations share disk2s2, disk2s3 and disk2s4.

Next, I created another APFS volume labeled Mojava 1 and then downloaded Mojava Beta from this Apple website. The result after installing is shown below.

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +200.0 GB   disk2
                                 Physical Store disk1s6
   1:                APFS Volume Macintosh HD            50.8 GB    disk2s1
   2:                APFS Volume Preboot                 74.5 MB    disk2s2
   3:                APFS Volume My Recovery             1.5 GB     disk2s3
   4:                APFS Volume VM                      8.6 GB     disk2s4
   5:                APFS Volume Machintosh HD 2         18.1 GB    disk2s5
   6:                APFS Volume Mojava 1                35.8 GB    disk2s6

Mojava installed to disk2s6 and shares share disk2s2, disk2s3 and disk2s4 with the other two High Sierra installations.

So there is now three macOS Recoveries for both High Sierra and Mojava. In my case, both High Sierra macOS Recoveries are Version 1.0 (327) and the Mojava macOS Recovery is Version 1.0 (330).

I can boot to one of the three macOS Recoveries stored on disk2s3 by holding down the +R key combination at startup. If the default startup disk is a APFS volume containing macOS, then the corresponding macOS recovery will startup. For example, if the startup disk is set to the APFS volume Machintosh HD 2, then holding down the +R key combination at startup will result in the Mac booting to High Sierra macOS Recovery on APFS Volume My Recovery.

Note: macOS Recovery no longer appears in the Mac Startup Manager. However, macOS Recovery, for a given macOS installation, can be booted using the rEFInd Boot Manager.

BTW: Removing Mojave from the APFS container is covering in my answer to the question: Erase an APFS volume?