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?
Laut dem Artikel von Topher Kessler auf CNET können Sie einen Eintrag zu hinzufügen /etc/fstab
, indem Sie die noauto
Option angeben.
Ein solcher Eintrag könnte wie folgt aussehen:
UUID=791E37B4-82A3-37E7-9F15-3C39359126B4 none hfs rw,noauto
Volume UUID
Die UUID erhalten Sie, indem Sie nach der Zeile suchen , die beim Ausführen von ausgegeben wird .diskutil info /Volumes/volume name
root
. Übrigens wird der Befehl sudo vifs
anstelle 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.
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.
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.
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 - Data
als auch Macintosh HD
Typ-Volumes in referenziert werden /etc/fstab
.
Mit Lautstärke(n) suchen diskutil list
und VOLUME_PATH
entsprechend 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_PATH
Variable setzen auf/Volumes/macOS - Data
VOLUME_PATH="/Volumes/macOS - Data"
VOLUME_UUID
Variable auf Volume-UUID des /Volumes/macOS - Data
Volumes 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,noauto
an /etc/fstab
und Ausgabe an die Konsole (siehe tee )
cat << EOF | sudo tee -a /etc/fstab
UUID=$VOLUME_UUID none apfs rw,noauto
EOF
grep/awk
Als kleines Detail
können Sie auch kombinierenawk '/Volume UUID:/ { print $3 }'
Ich habe eine offizielle Anleitung unter https://discussions.apple.com/docs/DOC-7942 „Verhindern, dass ein Volume beim Start bereitgestellt wird“ gefunden.
Fahrrad
diskutil unmount force disk1s2
Wenn 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.Dan
Spotlight
, Virenschutzprogrammen und Angriffen.Dan