Wie kann man das automatische Mounten eines Volumes in macOS High Sierra verhindern?

Ich versuche zu verhindern, dass 2 Volumes beim Start bereitgestellt werden.

Ich habe eine neue fstab mit vifs erstellt und die UUIDs der Volumes hinzugefügt, die ich beim Systemstart nicht mounten möchte, aber aus irgendeinem Grund scheint dies in High Sierra nicht zu funktionieren. Beide Volumes werden wie gewohnt gemountet.

Irgendeine Idee, was fehlt?

Die folgende Syntax habe ich verwendet -

UUID= keine apfs rw,noauto

Antworten (4)

Um zu verhindern, dass ein Volume automatisch gemountet wird, müssen Sie den Dateisystemtyp und entweder den Volumenamen oder die Volume-UUID kennen. Diese Informationen finden Sie mit dem Terminal-Anwendungsbefehl diskutil info name, wobei nameder Name des Volumes ist. Volume-Namen finden Sie beispielsweise unter Geräte in der Seitenleiste eines Finder-Anwendungsfensters.

Auf meinem Computer ist die Ausgabe des Befehls diskutil info "Macintosh HD"unten angegeben.

   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

Die entsprechenden Zeilen sind unten dargestellt.

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

Hinweis: Sie können das nicht verwenden Disk / Partition UUID, es sei denn, das Disk / Partition UUIDist dasselbe wie das Volume UUID.

Eine der unten angegebenen Zeilen könnte der /etc/fstabDatei hinzugefügt werden, um zu verhindern, dass dieses Volume automatisch bereitgestellt wird.

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

Hinweis: Die Zeichenfolge \040ist nur die oktale Darstellung des Leerzeichens.

Ihr grundlegender Fehler in der 1. Version war: APFS-Container akzeptieren keine HFS/HFS+-Volumes. Bisher werden nur APFS-Volumes unterstützt ...
Ich habe die Methode, die Sie hier beschrieben haben, viele Male für Nicht-APFS-Volumes verwendet, aber es scheint bei mir nicht zu funktionieren, wenn ich APFS-Volumes unter Mojave verwende. Ich habe eine externe SSD mit zwei APFS-Volumes (1 Container) und ich möchte, dass nur eines davon automatisch gemountet wird. Unabhängig davon, ob ich die Volume-UUID oder das Label (oder beides) hinzufüge, werden jedes Mal, wenn ich das Gerät anschließe, beide Volumes bereitgestellt. Irgendwelche Vorschläge?
APFS-Volumes auf Mojave schlagen für mich fehl (es passiert nichts), wenn ich UUID verwende. Der Verweis auf dasselbe Volume mit seinem Gerätenamen (z. B. /dev/disk3s3) funktioniert einwandfrei. Scheint verbuggt.
@AmmoGoettsch kannst du ein Beispiel geben? Ich scheine nicht zu funktionieren, wenn ich LABEL = oder UUID = für den Gerätenamen verwende.
@riorben richtig, ich kann es auch nicht mit LABEL oder UUID zum Laufen bringen, also verwende ich den Gerätenamen selbst. Ich arbeite derzeit mit zwei Zeilen in meiner fstab. Das erste hindert das MacOS-Festplattendienstprogramm daran, mein Laufwerk auf dem standardmäßigen /Volumes/volumename zu mounten, und das zweite erlaubt mir, es über 'sudo mount -a' an einem bestimmten Ort zu mounten. Die zweite Zeile wird beim Start jedoch nicht automatisch verarbeitet, daher muss ich sie immer noch über das Anmeldeskript einhängen.LABEL=volumename /Users/username/Pictures apfs rw 0 2 /dev/disk3s3 /Users/username/Pictures apfs rw 0 2
PS: Dies ist ein unausgegorener Workaround, also erwarte bitte nicht zu viel davon. Die richtige Lösung besteht darin, dass Apple APFS-Mounts aus /etc/fstab repariert, damit sie über LABEL oder UUID korrekt funktionieren.
Ich empfehle nicht einmal mehr, dies zu tun (Einhängen nach Gerätename aus /etc/fstab), da die Dinge anscheinend immer schlimmer werden. Ich erhalte Fehler beim Booten (mit 10.14.5), wenn ich diesen Mount in /etc/fstab habe. Es bleibt einfach für immer stehen, während es versucht zu starten, ohne dass es im Protokoll- oder ausführlichen Modus nützlich ist. Das Entfernen des Mounts (aus dem Wiederherstellungsmodus) führt dazu, dass die Maschine korrekt startet. Nein, das Dateisystem war nicht verschmutzt. Ich bin jetzt wieder dabei, nur von einem Skript zu mounten, wenn ich mich über .bash_profile anmelde. Der Kostenaufwand dafür ist einfach zu hoch.
Ich habe an anderer Stelle gelesen, dass man den Befehl sudo automount -vcnach dem Bearbeiten der fstab-Datei absetzen sollte.
Laufen sudo automount -vchat mir nichts ausgemacht.

EDIT 2: Leider reicht dies nach dem Upgrade auf Big Sur nicht mehr aus. Sie müssen auch /etc/fstab bearbeiten und hinzufügen:

UUID=[UUID des Volumes hier einfügen] none auto noauto

BEARBEITEN: Nach weiteren Tests scheint die EINZIGE Änderung erforderlich zu sein, um das Flag "D" für Daten zum APFS-Volume hinzuzufügen. /etc/fstab-Änderungen sind nicht erforderlich.

Ich habe den Text unten geändert, um dies zu zeigen.


Ich habe dies auf APFS-Volumes in macos Catalina 10.15.2 zum Laufen gebracht - ich kann nicht bestätigen, ob dies in früheren Versionen funktioniert. Dies gilt meines Wissens auch nicht für HFS.

Angenommen, Ihr Volumename ist TestVolume und der Gerätepfad ist /dev/disk2s4. Sie können beides aus der Ausgabe von erhalten

diskutil list

Der Gerätepfad ist /dev/[IDENTIFIER].

Sie müssen die Metadaten-Flags des apfs-Volumes für dieses Volume ändern. Ich fand, dass ich das Flag "D" hinzufügen musste, das für "Data" steht. Ohne dieses Flag wird das Volume beim Booten immer noch automatisch gemountet, selbst wenn die richtige fstab-Zeile hinzugefügt wurde.

diskutil apfs changeVolumeRole /dev/disk2s4 D

Ändern Sie erneut /dev/disk2s4 in IHR Volume. Nachdem Sie beides getan haben, versucht das Volume nicht mehr, sich selbst zu mounten. Sie müssen das Festplattendienstprogramm verwenden, um das Volume oder die Befehlszeile bereitzustellen.

Sie können bestätigen, dass das Metadaten-Flag gesetzt wurde, indem Sie Folgendes eingeben:

diskutil apfs list

Sie suchen nach der Zeile, die besagt:

APFS Volume Disk (Role):   disk2s4 (Data)
macOS Catalina 10.15.6 - diese Lösung hat bei mir funktioniert. Danke schön!
Unter macOS 11.5.2 wurde meine Time Machine-Festplatte ausgeworfen, also wollte ich eine Dateisystemprüfung durchführen. Es würde nicht wirklich aushängen, wie es sollte. Ich habe die Festplatte als Daten festgelegt und die Zeile zu /etc/fstab hinzugefügt, das Festplatten-Dienstprogramm (App) verwendet, um das Volume zu reparieren, dann /etc/fstab entfernt und den Typ wieder auf Time Machine (T) eingestellt.

Ich hatte dieses Problem auf Mojave und es scheint, dass nichts die Kombination von APFS und automatischem Mounten von Volumes löst.

Wenn Sie jedoch ein verschlüsseltes Volume haben, ist es möglich, die Aufforderung zur Eingabe des Volume-Passworts zu deaktivieren, wodurch verhindert wird, dass das Volume gemountet wird.

Der Teil, der nach dem Passwort fragt, ist das Dateipaket:

/System/Library/CoreServices/SecurityAgentPlugins/DiskUnlock.bundle 

Wenn Sie SIP (System Integrity Protection) deaktivieren, können Sie die Datei umbenennen, z. B. DiskUnlock.bundlexxx, und Sie werden nicht mehr nach einem Passwort gefragt. (SIP kann nach der Änderung wieder aktiviert werden.)

NACHTEILE beinhalten, dass kein verschlüsseltes Volume über die GUI gemountet werden kann (einschließlich der Verwendung des Festplattendienstprogramms).

Die einzige Möglichkeit, ein verschlüsseltes Volume zu entsperren, ist über diskutil oder durch Speichern der Passphrase im Schlüsselbund des Systems.

Sie können verschlüsselte Volumes mit etwas wie dem folgenden mounten:

$ diskutil apfs unlockVolume [Volume GUID here] -passphrase [Passphrase here]

Die Volume-ID erhält man mit der Ausgabe von:

diskutil apfs list
....
+-- Container disk3 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX [ignore the GUID here]
====================================================
APFS Container Reference:     disk3
Size (Capacity Ceiling):      5000771321856 B (5.0 TB)
Capacity In Use By Volumes:   577949696 B (577.9 MB) (0.0% used)
Capacity Not Allocated:       5000193372160 B (5.0 TB) (100.0% free)
|
+-< Physical Store disk2s2 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX [ignore the GUID here]
|   -----------------------------------------------------------
|   APFS Physical Store Disk:   disk2s2
|   Size:                       5000771321856 B (5.0 TB)
|
+-> Volume disk3s1 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX [ <---HERE IS THE GUID YOU WANT]
    ---------------------------------------------------
    APFS Volume Disk (Role):   disk3s1 (No specific role)

Die Passphrase ist das, was Sie als Passwort für das verschlüsselte Volume ausgewählt haben.

Wenn Sie ein Kennwort für das Volume im Schlüsselbund des Systems gespeichert haben, müssen Sie es mit dem Dienstprogramm „Schlüsselbundverwaltung“ entfernen.

Es gibt ein Tool, das die manuelle Eingabe dieser Befehle vermeidet:

Semulov auf Github

Das Löschen/Umbenennen von Systemdateien ist eine sehr schlechte Idee.
Ich stimme zu. Aber wenn Sie möchten, dass das System Ihren Wünschen nachkommt, ist dies manchmal notwendig. Vor allem auf Macs.

Ich habe ein Skript gefunden, das dies gut macht. Ich habe es gerade auf meinem iMac mit 12.5 installiert, der gerade heute aktualisiert wurde. Es funktioniert also mit der aktuellen Version. Da es keine /etc/fstab gibt, habe ich einfach zuerst "su touch /etc/fstab" gemacht, dann dieses Skript erstellt und es mit meinem Namen "Macintosh HD" ausgeführt, das ich dauerhaft aushängen möchte.

Wie in '~/bin/no_automaount Macintosh\ HD'

Ich habe auch das bin-Verzeichnis in meinem Home-Verzeichnis erstellt. Aus den Augen und aus dem Sinn...

Ich boote von einer externen Crucial X8 SSD. https://akrabat.com/prevent-an-external-drive-from-auto-mounting-on-macos

Danke an Rob Allens DevNotes für das ausgezeichnete, sehr gut kommentierte Skript.