Wie mounte ich eine Festplatte nach UUID oder LABEL in OS X El Capitan?

Ich bekomme die UUID und das Label eines Datenträgers ausdiskutil info disk0s4

diskutil info disk0s4
   Device Identifier:        disk0s4
   Device Node:              /dev/disk0s4
   Whole:                    No
   Part of Whole:            disk0
   Device / Media Name:      Untitled

   Volume Name:              Data

   Mounted:                  No

   File System Personality:  HFS+
   Type (Bundle):            hfs
   Name (User Visible):      Mac OS Extended
   Journal:                  Unknown (not mounted)
   Owners:                   Disabled

   Partition Type:           Apple_HFS
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 PCI
   SMART Status:             Verified
   Volume UUID:              F8C88B2D-5412-343B-8969-254F3AC559B8
   Disk / Partition UUID:    1738336E-68DD-46B1-997E-57469CF0472D

   Total Size:               338.0 GB (337984569344 Bytes) (exactly 660126112 512-Byte-Units)
   Volume Free Space:        0 B (0 Bytes) (exactly 0 512-Byte-Units)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (not mounted)

   Device Location:          Internal
   Removable Media:          No

   Solid State:              Yes

mountDie Verwendung der Datenträgerbezeichnung funktioniert nicht:

$ sudo mount -t hfs LABEL=Data /Users/user/test
GetMasterBlock: Error 2 opening LABEL=Data
GetMasterBlock: Error 2 opening LABEL=Data
mount_hfs: error on mount(): error = -1.
mount_hfs: No such file or directory

mountDie Verwendung der Volume-UUID funktioniert nicht mit oder ohne Anführungszeichen:

$ sudo mount -t hfs uuid=F8C88B2D-5412-343B-8969-254F3AC559B8 /Users/user/test
GetMasterBlock: Error 2 opening uuid=F8C88B2D-5412-343B-8969-254F3AC559B8
GetMasterBlock: Error 2 opening uuid=F8C88B2D-5412-343B-8969-254F3AC559B8
mount_hfs: error on mount(): error = -1.
mount_hfs: No such file or directory
$ sudo mount -t hfs UUID="F8C88B2D-5412-343B-8969-254F3AC559B8" /Users/user/test
GetMasterBlock: Error 2 opening UUID=F8C88B2D-5412-343B-8969-254F3AC559B8
GetMasterBlock: Error 2 opening UUID=F8C88B2D-5412-343B-8969-254F3AC559B8
mount_hfs: error on mount(): error = -1.
mount_hfs: No such file or directory

mountDie Verwendung der Volume-ID funktioniert

mymac:~ user$ sudo mount -t hfs /dev/disk0s4 /Users/user/test

Aktualisieren:

Mein Ziel ist es, die mountZeile /etc/fstabeinzufügen, wenn ich ein Volume an einem benutzerdefinierten Mountpoint mounten möchte.

Wie Sie bereits herausgefunden haben, kann der mountBefehl nicht UUIDoder LABELund muss die Datenträgerkennung verwenden, z . B. /dev/disk0s4. Außerdem wies Maybemaybeharry darauf hin, dass die OS X-Methode verwendet werden soll diskutil. Um Ihr Update zu adressieren ... Sie fstabkönnen jedoch die UUIDoder verwenden LABEL, schauen Sie sich einfach die Beispiele in der Manpage für an fstab. Geben Sie in einem Terminal ein fstabund klicken Sie dann mit der rechten Maustaste auf fstabund wählen Sie Manpage öffnen, und lesen Sie sie dann vollständig! :)
@ user3439894 Ich habe versucht, eine Zeile fstabwie folgt einzugeben: UUID=<volume_uuid> /mount/point auto, und lief sudo mount -a. Es ist der gleiche Fehler passiert:... mount_hfs: No such file or directory
Das zweite Feld (fs_file), der Einhängepunkt, muss bereits vorhanden sein, oder?
Ja, es existiert.
Ich habe keine Probleme mit fstab, verwende aber immer mindestens die ersten vier Felder. Ich sehe, dass Sie das dritte Feld (fs_vfstype) in Ihrem Kommentar vermissen. Lässt du es weg fstab? Sie sollten Ihre Frage bearbeiten und genau zeigen, was Sie versucht haben fstabund welchen Editor Sie verwendet haben. Das heißt, keiner meiner Einhängepunkte ist anders als der Standardwert / Volumesfür den nonefestgelegt ist. Ich werde es testen, sobald ich Ihre Bearbeitung und den Einhängepunkt sehe, den Sie versuchen.
Versuchen Sie: UUID=1738336E-68DD-46B1-997E-57469CF0472D /mount/point hfs autowo /mount/pointist ein bereits vorhandenes Verzeichnis. Ich habe dies auf meinem System mit meinem getestet UUID, Ihres befindet sich in dem, von dem ich vorschlage, dass Sie es versuchen, und es würde nur am definierten Mount-Punkt gemountet, wenn ich das dritte Feld (fs_vfstype) einfüge, andernfalls wird es gemountet /Volumesgerade obwohl das zweite Feld (fs_file) existierte.
@ user3439894 verstehe ich es richtig, dass man die Disk / Partition UUIDin fstab verwenden muss - anstelle der Volume UUID? Vielen Dank im Voraus.

Antworten (3)

Wenn Sie OS X verwenden, ist es normalerweise ratsamer, es diskutilfür festplattenbezogene Aktivitäten zu verwenden.

TL;DR:

So mounten Sie ein Volume/Festplatte nach Kennung:

diskutil mount /dev/diskXsY          # mounts just that volume
diskutil mountDisk /dev/diskX        # mounts the whole disk

So mounten Sie ein Volume nach UUID:

diskutil mount [Volume/Partition UUID]

So mounten Sie ein Volume nach Label:

diskutil mount [label]

Erläuterung

Mit diskutilsind Knoten-IDs ( /dev/diskXsY) mit UUIDs austauschbar: In jeder diskutilOperation (z. B. eject) kann anstelle einer Knoten-ID eine UUID angegeben werden. Aus der Manpage:

GERÄTE

Ein Geräteparameter für einen der oben genannten Befehle (sofern nicht ausdrücklich anders erforderlich) kann normalerweise einer der folgenden sein:

o Die Festplattenkennung (siehe unten). Beliebiger Eintrag in Form von disk*, zB disk1s9.

o Der Geräteknoteneintrag, der die Plattenkennung enthält. Jeder Eintrag im Format /dev/disk*, zB /dev/disk2.

o Der Volume-Bereitstellungspunkt. Jeder Eintrag in der Form /Volumes/*, zB /Volumes/Untitled. In den meisten Fällen wird auch ein "benutzerdefinierter" Einhängepunkt, zB /your/custom/mountpoint/here, akzeptiert.

o Das URL-Formular eines der oben beschriebenen Volume-Mount-Point-Formulare. ZB file:///Volumes/Untitled oder file:///.

o Eine UUID. Jeder Eintrag in der Form von zB 11111111-2222-3333-4444-555555555555. Die UUID kann eine „Medien“-UUID sein, die IOKit in einem IOMedia-Knoten platziert, wie beispielsweise von einer Partitions-UUID einer GPT-Zuordnung abgeleitet, oder sie kann eine AppleRAID- (oder CoreStorage-) Satz- (LV) oder Mitglieds- (PV) UUID sein.

Von man diskutil, Abschnitt 'Geräte'.


Das Abrufen dieser Kennungen/UUIDs/Etiketten ist mit einem der folgenden Befehle einfach:

diskutil list                               # lists all connected volumes and their identifiers
diskutil info /dev/diskXsY | grep UUID      # gets the UUID of a connected volume

Die zurückgegebenen Werte dieser Befehle sollten in etwa so aussehen:

$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh SSD           499.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

$ diskutil info /dev/diskXsY | grep UUID
Volume UUID:              1F340CD7-G071-4218-98DG-2D08G89CC57C
Disk / Partition UUID:    76E7G531-G6C3-5E37-C11B-BCEEC67D12G4

Wie oben gezeigt, kann die Kennung aus der IDENTIFIERSpalte, die Bezeichnung aus der NAMESpalte und die UUID aus einem der beiden UUIDFelder gefunden werden (beide UUID wird das Volume mounten).

Nach Etikett:

$ diskutil mount Recovery\ HD
Volume Recovery HD on Recovery HD mounted

Per UUID:

$ diskutil mount 67EG87EB-CB01-4ED9-082D-303F63CF6394
Volume Recovery HD on 67EG87EB-CB01-4ED9-082D-303F63CF6394 mounted

Nach Datenträgerkennung:

$ diskutil mount /dev/disk0s3
Volume Recovery HD on /dev/disk0s3 mounted

Ergänzung zur Bearbeitung der Frage von OP: Mounten in einem benutzerdefinierten Pfad

Sie können dies mit diskutil mountund der -mountPointOption tun. Aus der Manpage:

mount [schreibgeschützt] [-mountPoint-Pfad] Gerät

Mounten Sie ein einzelnes Volume. Wenn readOnly angegeben ist, wird das Dateisystem schreibgeschützt gemountet, selbst wenn das zugrunde liegende Dateisystem und/oder Gerät und/oder Medium des Volumes Schreiben unterstützt; selbst der Superuser darf nicht darauf schreiben; Dies ist dasselbe wie die rdonly Option zum Einhängen (8). Wenn ein -mountPoint angegeben ist, wird dieser Pfad anstelle des Standardpfads von /Volumes/VolumeName als Ansicht des Inhalts der Volume-Datei verwendet; ein Verzeichnis unter diesem Pfad muss bereits vorhanden sein.

Aus man diskutil, Abschnitt 'Verben'.

Die Syntax zum Mounten an einem benutzerdefinierten Mountpoint lautet wie folgt:

diskutil mount -mountPoint /path/to/custom/mountpoint [volume (identifier/UUID/label)]

Denken Sie daran, dass /path/to/custom/mountpoint es sich um ein Verzeichnis handeln muss , genau wie bei mount, und dass Ihre Kennung/UUID/Etikett spezifisch für das Volume sind (dh /dev/diskXsYnicht /dev/diskX). Das Mounten an einem benutzerdefinierten Mountpoint kann nicht mit durchgeführt diskutil mountDiskwerden und funktioniert nur mit jeweils einem Volume.

Danke für die Antwort, könnten Sie den Update-Abschnitt in meiner Frage überprüfen und darauf eingehen?
@biocyberman hat meine Antwort aktualisiert. Wenn Ihre Ergänzung nicht angemessen behandelt wird, lassen Sie es mich bitte wissen

Hier ist, was ich verwendet habe, um eine externe SSD in meinen Musikordner zu mounten, der meine iTunes-Mediendateien automatisch enthält, wenn ich mich anmelde. Sie haben nicht genau gesagt, was der Zweck der externen Mount ist, also könnten einige dieser Bits nicht sein, was Sie brauchen, aber andererseits könnte es genau das sein, was Sie versuchen zu tun.

Wie in Ihrer Frage und in der Antwort von @perhapsmaybeharry erwähnt, unterstützt der mountBefehl keine UUIDs, daher diskutilist das empfohlene Dienstprogramm. Die fstabDatei unterstützt jedoch UUIDs, sodass Sie die Mount-Parameter in speichern können und fstabdann diskutildie Parameter lesen fstab, um Ihr Laufwerk zu mounten.

  • Erstellen Sie in ~/Music/iTunes/einen Ordner, der für den Einhängepunkt verwendet werden soll. Ich habe verwendet SSD_Music.
  • Verwenden Sie sudo vifs, um die Datei zu bearbeiten fstab, fügen Sie Folgendes als einzelne Zeile hinzu (bearbeiten Sie gegebenenfalls die UUID und den BENUTZERNAMEN) und speichern/beenden Sie sie dann.UUID=F8C88B2D-5412-343B-8969-254F3AC559B8 /Users/USERNAME/Music/iTunes/SSD_Music hfs rw,noauto,noowners,nobrowse 0 0

    • noauto = Laufwerk beim Booten nicht mounten. Ich bin auf Zeiten gestoßen, in denen das Laufwerk als root gemountet wurde, anstatt als ich, also ist es besser zu warten, bis Sie sich anmelden.
    • noowners = Ignoriere den Besitz des Volumes. Berechtigungen werden vom Einhängepunkt geerbt. Wenn ich dies nicht benutzte, gehörte das gemountete Volume root, aber die Unterverzeichnisse gehörten mir.
    • nobrowse = Die Festplatte nicht in der Finder-Seitenleiste oder auf dem Desktop anzeigen.
  • Führen Sie das Mounten mit durch diskutil mount F8C88B2D-5412-343B-8969-254F3AC559B8( Hinweis: Schließen Sie das UUID=Präfix nicht in diesen Befehl ein.
  • Hoffentlich ohne Fehler gemountet. Überprüfen Sie es mit mountdem, was so etwas wie zeigen sollte/dev/disk2s2 on /Users/USERNAME/Music/iTunes/SSD_Music (hfs, local, nodev, nosuid, journaled, noowners, nobrowse)
  • Wenn Sie dies für iTunes tun, müssen Sie einen Alias ​​für den iTunes MediaOrdner erstellen, um auf den Ordner auf der bereitgestellten Festplatte zu verweisen.
    • Beenden Sie iTunes, falls es ausgeführt wird
    • cd ~/Music/iTunes/
    • mv 'iTunes Media' 'iTunes Media-bak'
    • ln -s 'SSD_Music/iTunes Media' 'iTunes Media'
    • ditto 'iTunes Media-bak' 'iTunes Media'um Ihre Medien auf das neue Laufwerk zu kopieren. Überspringen Sie dies, wenn Sie es bereits kopiert haben.
  • Unmounten Sie die Festplatte mitdiskutil unmount ~/Music/iTunes/SSD_Music

Jetzt, da Sie das Laufwerk per UUID mounten können, automatisieren wir es, wenn Sie sich anmelden.

  • Erstellen Sie in ~/Library/LaunchAgents/eine neue Datei mit dem Namenlocal.mount_SSD_Music.plist
  • Kopieren/fügen Sie das folgende XML in die neue Datei ein und speichern/beenden Sie es.

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Disabled</key>
        <false/>
        <key>KeepAlive</key>
        <false/>
        <key>Label</key>
        <string>local.mount_SSD_Music</string>
        <key>ProcessType</key>
        <string>Background</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/sbin/diskutil</string>
            <string>mount</string>
            <string>F8C88B2D-5412-343B-8969-254F3AC559B8</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
    </plist>
    
  • Stellen Sie sicher, dass das Laufwerk nicht gemountet ist

  • Testen Sie das Mounten mit der neuen LaunchAgent-Plist mit launchctl load ~/Library/LaunchAgents/local.mount_SSD_Music.plist. Hoffentlich wieder ohne Fehler gemountet.

Wenn Sie also jetzt neu starten, wird das externe Laufwerk automatisch bereitgestellt, wenn Sie sich anmelden.

Hoffe das hilft!

Ich kombiniere einige meiner Kommentare zu einer Antwort, da ich glaube, dass sie das fstabProblem ansprechen.

Wie Sie bereits herausgefunden haben, kann der mountBefehl nicht UUIDoder LABELund muss den Disk Identifier verwenden, z . B. /dev/disk0s4. Außerdem wies Maybemaybeharry darauf hin, dass die OS X-Methode verwendet werden soll diskutil. Um Ihr Update zu adressieren ... Sie fstabkönnen jedoch die UUIDoder verwenden LABEL, schauen Sie sich einfach die Beispiele in der Manpage für an fstab. Geben Sie in einem Terminal ein fstabund klicken Sie dann mit der rechten Maustaste auf fstabund wählen Sie Manpage öffnen. Lesen Sie es vollständig! :)

Ich habe keine Probleme mit fstab, verwende aber immer mindestens die ersten vier Felder. Wie ich sehe, fehlt in Ihrem Kommentar das dritte Feld (fs_vfstype). Lässt du es weg fstab? Sie sollten Ihre Frage bearbeiten und genau zeigen, was Sie versucht haben fstabund welchen Editor Sie verwendet haben.

Versuchen Sie: UUID=1738336E-68DD-46B1-997E-57469CF0472D /mount/point hfs rw,auto wo /mount/pointist ein bereits vorhandenes Verzeichnis.

Ich habe dies auf meinem System mit meinem getestet UUID, es ist Ihr UUIDin der Zeile, die ich vorschlage, dass Sie es oben versuchen.

Hinweis: Es würde nur am definierten Einhängepunkt gemountet, wenn ich das dritte Feld (fs_vfstype) einfüge, andernfalls wurde es eingehängt /Volumes, obwohl das zweite Feld (fs_file) vorhanden war.

Ich habe dies zuvor getestet und zwei identische Volumes UUID=... /mount/point hfs rw,autoin El Capitan gemountet: 1. /mount/point und 2. /Volumes.
@klanomath, ich bin mir nicht sicher, was du zu sagen versuchst, sonst funktioniert es vielleicht so, wie ich es in meiner Antwort gesagt habe? Oder meinst du, es wird zweimal gemountet, egal was passiert? Übrigens verwende ich OS X 10.8.5.
@klanomath, ich habe es bearbeitet, hoffentlich ist es klarer. Nun zurück zu Ihrem ersten Kommentar. Wollen Sie damit sagen, dass es unter OS X 10.11 an einem benutzerdefinierten Mount-Punkt gemountet wird, aber es wird auch ein zweiter Mount-Punkt standardmäßig gemountet /Volumes, wobei nur eine Zeile zu hinzugefügt wird fstab?
Ja das war meine Erfahrung. Ich habe eine ähnliche Antwort geschrieben, aber dann habe ich festgestellt, dass das Volume zweimal angezeigt wurde: auf dem Desktop (das ist /Volumes) und am Mount-Punkt, der in fstab definiert ist (das war /Users/user/test).
@klanomath, ich habe deine Antwort nie gesehen, ich denke, du hast sie gelöscht, bevor ich diese Frage gesehen habe. Da ich OS X 10.8.5 ausführe und keinen OS X 10.11.x-Computer zum Testen habe, kann ich nicht viel mehr tun, als auch meine Antwort zu löschen.
Ich habe meine Antwort nicht veröffentlicht, nachdem ich sie geschrieben hatte! Ihre Antwort ist nicht falsch, aber das Ergebnis wird vom OP wahrscheinlich nicht gewollt. Ich suche nur nach einer Lösung, um Ihre Antwort zu verbessern.
@klanomath, ich lasse meine Antwort für eine Weile stehen und wenn Sie herausfinden, wie Sie unter OS X 10.11.x nicht zwei Einhängepunkte von einem fstabEintrag haben, da dieses Verhalten unter OS X 10.8.5 nicht auftritt , und möchte es meiner Antwort hinzufügen, gerne mit meiner Dankbarkeit. :)