How to prevent auto mounting of a volume in macOS High Sierra?

I am trying to prevent 2 volumes from mounting at startup.

I created a new fstab using vifs and added the UUIDs of the volumes I don't want to mount at system startup, but for some reason this does not seam to work in High Sierra. Both volumes will mount as usual.

Any idea what's missing?

The following syntax is what i used -

UUID= none apfs rw,noauto


Solution 1:

To prevent a volume from automatically mounting you need to know the filesystem type and either the volume name or volume UUID. This information can be found by using the Terminal application command diskutil info name, where name is the volume name. For example, volume names can be found under Devices in the sidebar of a Finder application window.

On my computer, the output from the command diskutil info "Macintosh HD" is given below.

   Device Identifier:        disk2s1
   Device Node:              /dev/disk2s1
   Whole:                    No
   Part of Whole:            disk2

   Volume Name:              Macintosh HD
   Mounted:                  Yes
   Mount Point:              /Volumes/Macintosh HD

   Partition Type:           41504653-0000-11AA-AA11-00306543ECAC
   File System Personality:  APFS
   Type (Bundle):            apfs
   Name (User Visible):      APFS
   Owners:                   Disabled

   OS Can Be Installed:      Yes
   Media Type:               Generic
   Protocol:                 Disk Image
   SMART Status:             Not Supported
   Volume UUID:              F21AD81B-B114-456C-B2A0-BF4452E4842D
   Disk / Partition UUID:    F21AD81B-B114-456C-B2A0-BF4452E4842D

   Disk Size:                1000.0 MB (999981056 Bytes) (exactly 1953088 512-Byte-Units)
   Device Block Size:        4096 Bytes

   Volume Total Space:       1000.0 MB (999981056 Bytes) (exactly 1953088 512-Byte-Units)
   Volume Used Space:        3.4 MB (3416064 Bytes) (exactly 6672 512-Byte-Units) (0.3%)
   Volume Available Space:   996.6 MB (996564992 Bytes) (exactly 1946416 512-Byte-Units) (99.7%)
   Allocation Block Size:    4096 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No

   Device Location:          External
   Removable Media:          Removable
   Media Removal:            Software-Activated

The pertinent lines are shown below.

   Volume Name:              Macintosh HD
   Type (Bundle):            apfs
   Volume UUID:              F21AD81B-B114-456C-B2A0-BF4452E4842D

Note: You can not use the Disk / Partition UUID, except when the Disk / Partition UUID is the same as the Volume UUID.

Either of the lines given below could be added to the /etc/fstab file to prevent this volume from automatically mounting.

UUID=F21AD81B-B114-456C-B2A0-BF4452E4842D none apfs rw,noauto
LABEL=Macintosh\040HD none apfs rw,noauto

Note: The character sequence \040 is just the octal representation of the space character.

Solution 2:

EDIT 2: Unfortunately after upgrading to Big Sur, this no longer is sufficient. You also have to edit /etc/fstab and add:

UUID=[put UUID of volume here] none auto noauto

EDIT: After more testing, it appears the ONLY change needed is to add the "D" for Data flag to the APFS volume. /etc/fstab changes are not needed.

I've changed the text below to show this.


I got this to work on APFS volumes in macos Catalina 10.15.2 - I can't confirm if this works on earlier versions. This also does not apply to HFS as far as I know.

Suppose your volume name is TestVolume, and the device path is /dev/disk2s4. You can get both of these from the output of

diskutil list

The device path is /dev/[IDENTIFIER].

You need to modify the apfs volume meta-data flags for this volume. I found I had to add the "D" flag for which stands for "Data". Without this flag, the volume is still mounted automatically on boot even with the correct fstab line added.

diskutil apfs changeVolumeRole /dev/disk2s4 D

Again, change /dev/disk2s4 to YOUR volume. After doing both of these things, the volume no longer attempts to mount itself. You will have to use Disk Utility to mount the volume or the command line.

You can confirm that the metadata flag has been set by typing:

diskutil apfs list

You're looking for the line that says:

APFS Volume Disk (Role):   disk2s4 (Data)