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)