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

17

Ich erhalte die UUID und das Etikett einer Festplatte von diskutil 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

mount Verwenden 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

mount Die 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

mount Die Verwendung der Datenträgerkennung 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 einen benutzerdefinierten Mountpunkt mounten möchte.

Biocyberman
quelle
Wie Sie bereits herausgefunden haben, das mountkann Befehl nicht verwenden UUIDoder LABELund muss den Disk - Identifier, zB verwenden /dev/disk0s4. Wie vielleicht auch darauf hingewiesen werden mag, ist die OS X-Methode zu verwenden diskutil. Um Ihr Update anzusprechen ... Sie fstabkönnen jedoch das UUIDoder verwenden LABEL, schauen Sie sich einfach die Beispiele in der Manpage an fstab. fstabKlicken Sie in einem Terminaltyp mit der rechten Maustaste auf fstabund wählen Sie Manpage öffnen. Lesen Sie dann die gesamte Manpage! :)
user3439894
@ user3439894 Ich habe eine Zeile in der folgenden Form ausprobiert fstab: UUID=<volume_uuid> /mount/point autound lief sudo mount -a. Der gleiche Fehler ist passiert:... mount_hfs: No such file or directory
Biocyberman
Das zweite Feld (fs_file), der Einhängepunkt, muss schon existieren, oder?
user3439894
Ja, das gibt es.
Biocyberman
Ich habe keine Probleme mit der Verwendung fstab, aber ich benutze immer mindestens die ersten vier Felder. Ich sehe, dass Ihnen das dritte Feld (fs_vfstype) in Ihrem Kommentar fehlt. Lässt du es aus fstab? Sie sollten Ihre Frage bearbeiten und genau zeigen, was Sie ausprobiert fstabund welchen Editor Sie verwendet haben. Abgesehen davon ist keiner meiner Einhängepunkte ein anderer als der Standard, Volumesfür den / der festgelegt noneist. Ich werde es testen, sobald ich deine Bearbeitung und den Einhängepunkt sehe, den du versuchst.
user3439894

Antworten:

17

Bei Verwendung von OS X ist die Verwendung diskutilfür festplattenbezogene Aktivitäten in der Regel empfehlenswerter .

TL; DR:

So mounten Sie ein Volume / eine Festplatte nach ID:

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

So stellen Sie ein Volume über die UUID bereit:

diskutil mount [Volume/Partition UUID]

So hängen Sie ein Volume nach Label ein:

diskutil mount [label]

Erläuterung

Mit diskutilkönnen Knotenkennungen ( /dev/diskXsY) mit UUIDs ausgetauscht werden: In jeder diskutilOperation (z. B. eject) kann eine UUID anstelle einer Knotenkennung angegeben werden. Von der Manpage:

GERÄTE

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

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

o Der Geräteknoteneintrag mit der Festplattenkennung. Beliebiger Eintrag in der Form von / dev / disk *, z. B. / dev / disk2.

o Der Volume-Mount-Punkt. Jeder Eintrag in der Form von / Volumes / *, z. B. / Volumes / Ohne Titel. In den meisten Fällen wird auch ein "benutzerdefinierter" Einhängepunkt akzeptiert, z. B. / your / custom / mountpoint / here.

o Das URL-Formular eines der oben beschriebenen Datenträger-Bereitstellungspunkt-Formulare. ZB Datei: /// Volumes / Ohne Titel oder Datei: ///.

o Eine UUID. Beliebiger Eintrag in der Form von z. B. 11111111-2222-3333-4444-555555555555. Die UUID kann eine "Medien" -UUID sein, die von IOKit in einem IOMedia-Knoten abgelegt wird, wie beispielsweise von der UUID einer GPT-Map-Partition abgeleitet, oder es kann sich um eine UUID eines AppleRAID-Satzes (oder CoreStorage-Satzes) (LV) oder eines Mitglieds (PV) handeln.

Von man diskutil, Abschnitt "Geräte".


Das Abrufen dieser Bezeichner / UUIDs / Labels 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 von diesen Befehlen zurückgegebenen Werte sollten ungefähr 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, finden Sie den Bezeichner in der IDENTIFIERSpalte, die Bezeichnung in der NAMESpalte und die UUID in einem der UUIDFelder (jede UUID stellt das Volume bereit).

Nach Label:

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

Mit der UUID:

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

Nach Festplattenkennung:

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

Ergänzung zur Bearbeitung der OP-Frage: Einbinden in einen benutzerdefinierten Pfad

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

mount [readOnly] [-mountPoint path] Gerät

Hängen Sie ein einzelnes Volume ein. Wenn readOnly angegeben ist, wird das Dateisystem schreibgeschützt bereitgestellt, auch wenn das zugrunde liegende Dateisystem und / oder Gerät und / oder Medium des Datenträgers das Schreiben unterstützt. Selbst der Superuser kann nicht darauf schreiben. Dies ist das Gleiche wie die normale Option zum Einhängen (8). Wenn ein -mountPoint angegeben wird, wird dieser Pfad anstelle des Standardpfads von / Volumes / VolumeName als Ansicht in den Inhalt der Volumendatei verwendet. Ein Verzeichnis unter diesem Pfad muss bereits vorhanden sein.

Von man diskutil, Abschnitt "Verben".

Die Syntax zum Mounten an einen 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 genau wie bei um ein Verzeichnis handeln mussmount und dass Ihre ID / UUID / Bezeichnung für das Volume spezifisch ist (dh /dev/diskXsYnicht /dev/diskX). Das Mounten an einem benutzerdefinierten Mountpoint ist nicht möglich diskutil mountDiskund funktioniert jeweils nur mit einem Volume.

vielleicht doch
quelle
Vielen Dank für die Antwort, können Sie den Update-Bereich in meiner Frage überprüfen und ansprechen?
biocyberman
@biocyberman hat meine Antwort aktualisiert. Wenn es Ihre Hinzufügung nicht angemessen adressiert, informieren Sie mich bitte
möglicherweise
2

Hier ist, was ich verwendet habe, um eine externe SSD in meinen Musikordner zu mounten, die meine iTunes-Mediendateien automatisch enthält, wenn ich mich anmelde. Sie haben nicht genau angegeben, wozu das externe Mounten dient, sodass einige dieser Bits möglicherweise nicht funktionieren sei was du brauchst, aber andererseits könnte es genau das sein, was du versuchst zu tun.

Wie in Ihrer Frage und in der Antwort von @ maybemaybeharry erwähnt, unterstützt der mountBefehl keine UUIDs und diskutilist daher das empfohlene Dienstprogramm. Die fstabDatei unterstützt jedoch UUIDs, sodass Sie die Mount-Parameter in speichern können. fstabAnschließend diskutilwerden die Parameter fstabzum Mounten des Laufwerks gelesen .

  • In ~/Music/iTunes/einen Ordner erstellen für den Mount - Punkt verwendet werden. Ich habe verwendet SSD_Music.
  • Verwenden Sie sudo vifsdiese Option, um die fstabDatei zu bearbeiten , fügen Sie Folgendes als einzelne Zeile hinzu (bearbeiten Sie die UUID und den USERNAME entsprechend), 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 = Mounten Sie das Laufwerk nicht während des Bootvorgangs. Ich bin auf Zeiten gestoßen, in denen das Laufwerk als Root anstatt als ich gemountet wurde, daher ist es besser zu warten, bis Sie sich anmelden.
    • noowners = Besitz auf dem Volume ignorieren. Berechtigungen werden vom Mountpoint übernommen. Wenn ich dies nicht benutzte, gehörte das gemountete Volume root, aber die Unterverzeichnisse gehörten mir.
    • nobrowse = Zeigen Sie die Festplatte nicht in der Finder-Seitenleiste oder auf dem Desktop an.
  • Führen Sie den Mount mit diskutil mount F8C88B2D-5412-343B-8969-254F3AC559B8( Hinweis: Fügen Sie das UUID=Präfix nicht in diesen Befehl ein.
  • Hoffentlich hat es ohne Fehler gemountet. Überprüfe mit mountwelcher Anzeige sowas sein soll/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, der auf den Ordner auf der bereitgestellten Festplatte verweist.
    • Beenden Sie iTunes, wenn 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.
  • Hängen Sie den Datenträger mit aus diskutil unmount ~/Music/iTunes/SSD_Music

Nachdem Sie das Laufwerk über die UUID bereitstellen können, können Sie es bei der Anmeldung automatisieren.

  • In ~/Library/LaunchAgents/eine neue Datei mit dem Namen erstellenlocal.mount_SSD_Music.plist
  • Kopieren Sie die folgende XML-Datei, fügen Sie sie in die neue Datei ein und speichern / beenden Sie sie.

    <?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 die Montage mit der neuen LaunchAgent-Liste mit launchctl load ~/Library/LaunchAgents/local.mount_SSD_Music.plist. Hoffentlich ist es wieder fehlerfrei gemountet.

Wenn Sie jetzt einen Neustart durchführen, wird das externe Laufwerk automatisch bereitgestellt, wenn Sie sich anmelden.

Hoffe das hilft!

Insomniac Software
quelle
0

Ich fasse einige meiner Kommentare zu einer Antwort zusammen, da ich glaube, dass sie das fstabProblem angehen.

Wie Sie bereits herausgefunden haben, das mountkann Befehl nicht verwenden UUIDoder LABELund muss den Disk - Identifier, zB verwenden /dev/disk0s4. Wie vielleicht auch darauf hingewiesen werden mag, ist die OS X-Methode zu verwenden diskutil. Um dein Update anzusprechen ... fstabkannst du allerdings das UUIDoder benutzen LABEL, schau einfach in den Beispielen in der Manpage nach fstab. fstabKlicken Sie in einem Terminaltyp mit der rechten Maustaste auf fstabund wählen Sie Manpage öffnen. Lesen Sie es in vollem Umfang! :)

Ich habe keine Probleme mit der Verwendung fstab, aber ich benutze immer mindestens die ersten vier Felder. Ich sehe, dass Ihnen das dritte Feld (fs_vfstype) in Ihrem Kommentar fehlt. Lässt du es aus fstab? Sie sollten Ihre Frage bearbeiten und genau zeigen, was Sie ausprobiert 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 my getestet. UUIDEs steht UUIDin der Zeile, die ich vorschlage, dass Sie es oben versuchen.

Hinweis: Es würde nur an den definierten Einhängepunkt angehängt, wenn ich das dritte Feld (fs_vfstype) einbinde, andernfalls würde es angehängt /Volumes, obwohl das zweite Feld (fs_file) existiert.

user3439894
quelle
Ich habe dies zuvor getestet und UUID=... /mount/point hfs rw,autoin El Capitan zwei identische Volumes gemountet : 1. / mount / point und 2. / Volumes.
klanomath
@klanomath, Du bist dir nicht sicher, was du sagen willst, aber vielleicht funktioniert es so, wie ich es in meiner Antwort gesagt habe? Oder willst du damit sagen, dass es gleich zweimal passt? Übrigens starte ich OS X 10.8.5.
user3439894
@klanomath, ich habe es bearbeitet, hoffentlich ist es klarer. Zurück zu Ihrem ersten Kommentar: Sagen Sie, dass es unter OS X 10.11 an einem benutzerdefinierten Einhängepunkt eingehängt wird, aber standardmäßig auch an einem zweiten Einhängepunkt, zu dem /Volumesnur eine Zeile hinzugefügt wird fstab?
user3439894
Ja das war meine Erfahrung. Ich habe eine ähnliche Antwort geschrieben, aber dann wurde mir klar, dass das Volume zweimal angezeigt wurde: auf dem Desktop (was / Volumes ist) und an dem in fstab (was / Users / user / test war) definierten Einhängepunkt
klanomath
@klanomath, ich habe deine Antwort nie gesehen, ich nehme an, du hast sie gelöscht, bevor ich diese Frage gesehen habe. Da ich mit OS X 10.8.5 arbeite und keinen OS X 10.11.x-Computer zum Testen habe, kann ich nur meine Antwort löschen.
user3439894