So deaktivieren Sie die automatische USB-Bereitstellung

Ich verwende VirtualBox auf meinem MBP und muss oft mein USB-Flash-Laufwerk im Gastsystem mounten. Das Problem, auf das ich stoße, ist, dass das Host-Betriebssystem (OS X Mavericks) das USB-Flash-Laufwerk sofort bereitstellt, wenn ich es einstecke. Wenn ich versuche, es zu unmounten (anständig über den Finder), beschwert sich OS X, dass das Gerät verwendet wird. Weitere Recherchen zu lsof zeigen, dass Spotlight und AVG ihr Ding mit dem Flash-Laufwerk machen.

Anstatt mit einzelnen App-Einstellungen herumzuspielen, möchte ich einfach das Verhalten des Host-Betriebssystems ändern, damit das USB-Gerät nicht automatisch gemountet wird. Irgendwelche Vorschläge?

Wenn jemand eine Änderung hat, großartig, aber in der Zwischenzeit können Sie das Terminal verwenden, um ein Unmounten zu erzwingen. diskutil unmount force disk1s2Wenn Sie ein Dateisystem auswählen, das Spotlight nicht indiziert, oder dieses Laufwerk in den Spotlight-Einstellungen so einstellen, dass es ausgeschlossen wird, können Sie diese Verzögerung und diesen Overhead durch eine schnelle Änderung der Einstellungen reduzieren.
Ich rate Ihnen, Disk Arbitrator zu testen: apple.stackexchange.com/a/39360/22003 . Dies schützt Sie vor Spotlight, Virenschutzprogrammen und Angriffen.

Antworten (5)

Laut dem Artikel von Topher Kessler auf CNET können Sie einen Eintrag zu hinzufügen /etc/fstab, indem Sie die noautoOption angeben.

Ein solcher Eintrag könnte wie folgt aussehen:

UUID=791E37B4-82A3-37E7-9F15-3C39359126B4   none  hfs  rw,noauto

Volume UUIDDie UUID erhalten Sie, indem Sie nach der Zeile suchen , die beim Ausführen von ausgegeben wird .diskutil info /Volumes/volume name

Ich habe dieses chmod +x (ausführbar) in meinem Verzeichnis ~/bin/. gist.github.com/voltechs/fc48c9683d50c7c03cab2f0a6477d8da siehe auch ( apple.stackexchange.com/a/310669/43769 )
äh... /etc/fstab existiert nicht!
Es ist in Ordnung, die Datei zu erstellen, wenn sie nicht existiert, aber erstellen Sie sie als root. Übrigens wird der Befehl sudo vifsanstelle der direkten Bearbeitung empfohlen und erstellt die Datei für Sie, wenn sie nicht existiert.

OS X verfügt über einen Mechanismus namens Disk Arbitration Framework , mit dem Programme steuern können, was passiert, wenn Datenträger eingelegt oder ausgeworfen werden. Es bietet auch die Möglichkeit, ein Ereignis beim Einlegen einer Festplatte abzufangen und das übliche automatische Mount-Verhalten zu verhindern.

Um das Verhalten zu ändern, ist jedoch ein Dienstprogramm eines Drittanbieters erforderlich, da das Disk Arbitration-Framework nur eine Programmierschnittstelle ist. Ein gutes Dienstprogramm ist Disk Arbitrator , ein kostenloses (BSD-lizenziertes) Tool von Aaron Burghardt.

Screenshot von Disk Arbitrator

Während Disk Arbitrator läuft, können Sie entweder das Mounten von neu eingelegten Datenträgern ablehnen, sie schreibgeschützt mounten oder einfach das normale automatische Mounten zulassen. Nachdem Disk Arbitrator beendet wurde, wird das normale Mount-Verhalten wiederhergestellt.

Diese App gab mir auch viel mehr Informationen über Volumes und den Status (oder Ausfall) von Partitionen, wenn ich das Festplattendienstprogramm von Apple verwende, sie aktualisiert praktisch sofort den Bereitstellungsstatus im Vergleich zu den trägen Antworten des Festplattendienstprogramms. Danke, dass du es geteilt hast.

Ich denke, dass das Ändern von fstab zum Deaktivieren von Automount für das, was Sie versuchen, etwas übertrieben ist. Es ist so, als würde man die Türen an seinem Auto entfernen, weil man hin und wieder ein- oder aussteigen muss.

Dafür würde ich die eingebauten USB-Filter von VirtualBox verwenden . Dadurch können Sie ein bestimmtes USB-Gerät beim Einstecken automatisch mounten. Sie finden die USB-Filter im Menü „Einstellungen“ der jeweiligen VM, der Sie sie zuweisen möchten.

Beispielsweise sind unten meine USB-Geräte aufgeführt, die verfügbar sind, wenn ich sie automatisch an meine Windows 10 Pro-VM anhängen möchte. Ich kann meine Seagate FreeAgent Go oder meinen SanDisk Cruzer oder eines der angeschlossenen USB-Geräte anschließen. Das Anschließen des Logitech USB-Empfängers würde die Maus jedoch letztendlich auf dem Host funktionsunfähig machen, seien Sie also vorsichtig, was Sie anschließen.

Geben Sie hier die Bildbeschreibung ein,

Woher weiß ich, dass das funktioniert? Nun, ich habe versehentlich ein FreeAgent Go-Laufwerk angeschlossen und es wurde (so wie ich es wahrgenommen habe) nicht in OS X gemountet. Siehe mein ursprüngliches "Problem": USB-Laufwerk wird nicht gemountet, nicht in den Festplattendienstprogrammen aufgeführt, aber im Systemprofiler gefunden

Es funktioniert anhand der Seriennummer oder der UUID (ich habe nicht genug nachgeforscht, um herauszufinden, welche), aber ich hatte mehrere FreeAgent Go-Laufwerke mit genau demselben Modell und derselben Größe, und nur eines wurde automatisch an die VM angeschlossen. Zu der Zeit dachte ich, mein Laufwerk wäre schlecht geworden.

Unterm Strich funktionierte Automount immer noch, und ich konnte ein USB-Gerät direkt an eine VM anschließen, ohne es erst mühsam aushängen zu müssen

So deaktiviere ich das automatische Mounten von APFS-Volumes unter macOS Catalina.

Für macOS-Volumes müssen sowohl Macintosh HD - Dataals auch Macintosh HDTyp-Volumes in referenziert werden /etc/fstab.

Mit Lautstärke(n) suchen diskutil listund VOLUME_PATHentsprechend einstellen.

# Disable auto mounting of "macOS - Data" volume
VOLUME_PATH="/Volumes/macOS - Data"
VOLUME_UUID=`diskutil info "$VOLUME_PATH" | awk '/Volume UUID:/ { print $3 }'`
cat << EOF | sudo tee -a /etc/fstab
UUID=$VOLUME_UUID none apfs rw,noauto
EOF

# Disable auto mounting of "macOS" volume
VOLUME_PATH="/Volumes/macOS"
VOLUME_UUID=`diskutil info "$VOLUME_PATH" | awk '/Volume UUID:/ { print $3 }'`
cat << EOF | sudo tee -a /etc/fstab
UUID=$VOLUME_UUID none apfs rw,noauto
EOF

Folgendes passiert, wenn die obigen Befehle ausgeführt werden:

VOLUME_PATHVariable setzen auf/Volumes/macOS - Data

VOLUME_PATH="/Volumes/macOS - Data"

VOLUME_UUIDVariable auf Volume-UUID des /Volumes/macOS - DataVolumes setzen

Running diskutil info "$VOLUME_PATH"gibt Volume-Details von aus /Volumes/macOS - Data(einschließlich seiner UUID).

Piping ( |) dieser Details zum awk '/Volume UUID:/ { print $3 }'Extrahieren der UUID.

VOLUME_UUID=`diskutil info "$VOLUME_PATH" | awk '/Volume UUID:/ { print $3 }'`

Anhängen UUID=$VOLUME_UUID none apfs rw,noautoan /etc/fstabund Ausgabe an die Konsole (siehe tee )

cat << EOF | sudo tee -a /etc/fstab
UUID=$VOLUME_UUID none apfs rw,noauto
EOF
Die Frage fragt nach dem Deaktivieren des automatischen Mountens von USB/externen Laufwerken. Ihre Antwort könnte nützlicher sein, wenn Sie beschreiben, wie dies erreicht werden kann (und was die von Ihnen vorgeschlagenen Befehle im Allgemeinen tun).
Danke für die Rückmeldung. Diese Befehle gelten für ein externes USB-Laufwerk, auf dem eine separate macOS-Installation ausgeführt wird. Die gleiche Logik gilt für jedes Volume. Ich dachte, ich würde eine Power-User-Alternative zu den anderen Antworten beitragen. Ich kann es löschen, wenn Sie denken, dass es keinen Mehrwert bringt.
Das tut es, und mit dem Kontext, den Sie im Kommentar angegeben haben, verstehe ich, was der Code tut. Aber ein externes Laufwerk mit Catalina-Partitionen zu haben, ist wahrscheinlich nicht der typische Fall, den die meisten Benutzer haben, also kann das Aktualisieren des Skripts, um zu zeigen, wie es für ein Gerät namens USBSTICK oder ähnliches funktioniert, die Antwort möglicherweise nützlicher für Leute machen, die nicht jeden Tag mit Terminal arbeiten.
grep/awkAls kleines Detail können Sie auch kombinierenawk '/Volume UUID:/ { print $3 }'
Cool kannte diese Syntax nicht. Danke für das Teilen!

Ich habe eine offizielle Anleitung unter https://discussions.apple.com/docs/DOC-7942 „Verhindern, dass ein Volume beim Start bereitgestellt wird“ gefunden.

Antworten auf Ask Different müssen mehr als nur ein Link sein. Wir erwarten, dass die Antworten in sich geschlossen sind, denn wenn Ihr Link ausfällt, ist Ihre Antwort nutzlos. Die Quelle zu paraphrasieren und alle relevanten Informationen in die Antwort aufzunehmen, stellt sicher, dass sie relevant bleibt