¿Cómo montar un disco por UUID o LABEL en OS X El Capitan?

Obtengo el UUID y la etiqueta de un disco dediskutil 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

mountusar la etiqueta de volumen no funciona:

$ 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

mountusar el volumen UUID no funciona con o sin comillas:

$ 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

mountusar el identificador de volumen funciona

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

Actualizar:

Mi objetivo es poner la mountlínea /etc/fstabcomo quiero montar un volumen en un punto de montaje personalizado.

Como ya descubrió, el mountcomando no puede usar UUIDo LABELy debe usar el Identificador de disco, por ejemplo, /dev/disk0s4. Además, como quizás tal vez harry señaló que el método OS X es usar diskutil. Para abordar su actualización... Sin embargo fstab, puede usar UUIDo LABEL, solo mire los ejemplos en la página de manual para fstab. En una Terminal, escriba fstaby luego haga clic con el botón derecho fstaby seleccione Abrir página de manual, luego léala en su totalidad. :)
@ user3439894 Probé una línea fstabcomo esta: UUID=<volume_uuid> /mount/point autoy ejecuté sudo mount -a. Ocurrió el mismo error:... mount_hfs: No such file or directory
El segundo campo, (fs_file), el punto de montaje, ya tiene que existir, ¿verdad?
Sí, existe.
No tengo problemas para usar fstab, sin embargo, siempre uso al menos los primeros cuatro campos. Veo que falta el tercer campo, (fs_vfstype), en su comentario. ¿Lo estás omitiendo en fstab? Debe editar su pregunta y mostrar exactamente lo que ha intentado fstaby qué editor ha utilizado. Dicho esto, ninguno de mis puntos de montaje es diferente al predeterminado / Volumespara el que noneestá configurado. Probaré una vez que vea tu edición y el punto de montaje que estás intentando.
Pruebe: ¿ UUID=1738336E-68DD-46B1-997E-57469CF0472D /mount/point hfs autodónde /mount/pointestá un directorio preexistente? Probé esto en mi sistema usando my UUID, el tuyo está en el que te sugiero que pruebes, y solo se montaría en el punto de montaje definido si incluyera el tercer campo (fs_vfstype), de lo contrario se montaría /Volumesincluso aunque el segundo campo, (fs_file) existía.
@ user3439894 ¿Entiendo bien que uno tiene que usar Disk / Partition UUIDin fstab, en lugar de Volume UUID? Gracias de antemano.

Respuestas (3)

Al usar OS X, generalmente es más recomendable usarlo diskutilpara actividades relacionadas con el disco.

TL;RD:

Para montar un volumen/disco por identificador:

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

Para montar un volumen por UUID:

diskutil mount [Volume/Partition UUID]

Para montar un volumen por etiqueta:

diskutil mount [label]

Explicación

Con diskutil, los identificadores de nodo ( /dev/diskXsY) son intercambiables con los UUID: en cualquier diskutiloperación (como eject), se puede especificar un UUID en lugar de un identificador de nodo. De la página del manual:

DISPOSITIVOS

Un parámetro de dispositivo para cualquiera de los comandos anteriores (excepto cuando se requiera explícitamente lo contrario) generalmente puede ser cualquiera de los siguientes:

o El identificador del disco (ver más abajo). Cualquier entrada en forma de disco*, por ejemplo, disk1s9.

o La entrada del nodo del dispositivo que contiene el identificador del disco. Cualquier entrada con la forma de /dev/disk*, por ejemplo, /dev/disk2.

o El punto de montaje del volumen. Cualquier entrada con la forma de /Volumes/*, por ejemplo, /Volumes/Sin título. En la mayoría de los casos, también se acepta un punto de montaje "personalizado", por ejemplo, /su/personalizado/punto de montaje/aquí.

o El formulario de URL de cualquiera de los formularios de punto de montaje de volumen descritos anteriormente. Por ejemplo, archivo:///Volúmenes/Sin título o archivo:///.

o Un UUID. Cualquier entrada del formulario de, por ejemplo, 11111111-2222-3333-4444-555555555555. El UUID puede ser un UUID de "medios" que IOKit coloca en un nodo IOMedia como derivado, por ejemplo, de un UUID de partición de un mapa GPT, o puede ser un UUID de conjunto (LV) o miembro (PV) de AppleRAID (o CoreStorage).

Desde man diskutil, sección 'Dispositivos'.


La obtención de estos identificadores/UUID/etiquetas es simple, con cualquiera de los siguientes comandos:

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

Los valores devueltos por estos comandos deberían parecerse a lo siguiente:

$ 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

Como se muestra arriba, el identificador se puede encontrar en la IDENTIFIERcolumna, la etiqueta en la NAMEcolumna y el UUID en cualquier UUIDcampo (cualquier UUID montará el volumen).

Por etiqueta:

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

Por UUID:

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

Por identificador de disco:

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

adición para editar a la pregunta de OP: montaje en una ruta personalizada

Puede hacer esto con diskutil mounty la -mountPointopción. De la página del manual:

montar el dispositivo [solo lectura] [ruta del punto de montaje]

Montar un solo volumen. Si se especifica readOnly, el sistema de archivos se monta como de solo lectura, incluso si el sistema de archivos y/o el dispositivo y/o los medios subyacentes del volumen admiten la escritura; incluso el superusuario no puede escribir en él; esto es lo mismo que la opción rdonly para montar (8). Si se especifica -mountPoint, entonces esa ruta, en lugar de la ruta estándar de /Volumes/VolumeName, se usará como la vista del contenido del archivo de volumen; ya debe existir un directorio en esa ruta.

De man diskutil, sección 'Verbos'.

La sintaxis para montar en un punto de montaje personalizado es la siguiente:

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

Tenga en cuenta que /path/to/custom/mountpoint debe ser un directorio , al igual que con mount, y que su identificador/UUID/etiqueta son específicos del volumen (es decir, /dev/diskXsYno /dev/diskX). El montaje en un punto de montaje personalizado no se puede realizar con diskutil mountDisk, y solo funciona con un único volumen a la vez.

Gracias por la respuesta, ¿podría consultar la sección de actualización en mi pregunta y abordarla?
@biocyberman actualizó mi respuesta. Si no aborda su adición de manera adecuada, hágamelo saber.

Esto es lo que he estado usando para montar un SSD externo en mi carpeta Música que contiene mis archivos multimedia de iTunes automáticamente cada vez que inicio sesión. No dijiste exactamente cuál es el propósito del montaje externo, por lo que es posible que algunos de estos bits no ser lo que necesita pero, de nuevo, podría ser exactamente lo que está tratando de hacer.

Como se menciona en su pregunta y en la respuesta de @perhapsmaybeharry, el mountcomando no admite UUID, por lo que diskutiles la utilidad recomendada. Sin embargo, el fstabarchivo admite UUID, por lo que puede almacenar los parámetros de montaje y fstabluego diskutilleerá los parámetros fstabpara montar su unidad.

  • En ~/Music/iTunes/, cree una carpeta que se usará para el punto de montaje. SSD_MusicYo solía
  • Use sudo vifspara editar el fstabarchivo, agregue lo siguiente como una sola línea (edición para el UUID y el NOMBRE DE USUARIO según corresponda) y luego guarde/salga.UUID=F8C88B2D-5412-343B-8969-254F3AC559B8 /Users/USERNAME/Music/iTunes/SSD_Music hfs rw,noauto,noowners,nobrowse 0 0

    • noauto = no montar la unidad durante el arranque. He encontrado ocasiones en las que la unidad se montó como root en lugar de como yo, por lo que es mejor esperar hasta que inicie sesión.
    • noowners = Ignorar la propiedad del volumen. Los permisos se heredarán del punto de montaje. Si no usé esto, el volumen montado era propiedad de root pero los subdirectorios eran de mi propiedad.
    • nobrowse = No mostrar el disco en la barra lateral del Finder o en el Escritorio.
  • Realice el montaje con diskutil mount F8C88B2D-5412-343B-8969-254F3AC559B8( Nota: No incluya el UUID=prefijo en este comando.
  • Esperemos que se montó sin errores. Verifíquelo con mountel cual debería mostrar algo como/dev/disk2s2 on /Users/USERNAME/Music/iTunes/SSD_Music (hfs, local, nodev, nosuid, journaled, noowners, nobrowse)
  • Si está haciendo esto para iTunes, debe crear un alias para que la iTunes Mediacarpeta apunte a la carpeta en el disco montado.
    • Sal de iTunes si se está ejecutando
    • cd ~/Music/iTunes/
    • mv 'iTunes Media' 'iTunes Media-bak'
    • ln -s 'SSD_Music/iTunes Media' 'iTunes Media'
    • ditto 'iTunes Media-bak' 'iTunes Media'para copiar sus medios a la nueva unidad. Omita esto si ya lo ha copiado.
  • Desmontar el disco condiskutil unmount ~/Music/iTunes/SSD_Music

Ahora que puede montar la unidad por UUID, vamos a automatizarlo cuando inicie sesión.

  • En ~/Library/LaunchAgents/, crea un nuevo archivo llamadolocal.mount_SSD_Music.plist
  • Copie/pegue el siguiente XML en el nuevo archivo y luego guarde/salga.

    <?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>
    
  • Asegúrese de que la unidad esté desmontada

  • Pruebe el montaje utilizando el nuevo plist de LaunchAgent con launchctl load ~/Library/LaunchAgents/local.mount_SSD_Music.plist. Esperemos que se montó sin errores de nuevo.

Entonces, ahora, si reinicia, la unidad externa se montará automáticamente cuando inicie sesión.

¡Espero que esto ayude!

Estoy combinando algunos de mis comentarios en una respuesta, ya que creo que aborda el fstabproblema.

Como ya descubrió, el mountcomando no puede usar UUIDo LABELy debe usar el Identificador de disco, por ejemplo, /dev/disk0s4. Además, como quizás tal vez harry señaló que el método OS X es usar diskutil. Para abordar su actualización... Sin embargo fstab, puede usar UUIDo LABEL, solo mire los ejemplos en la página de manual para fstab. En un tipo de terminal fstaby luego haga clic con el botón derecho fstaby seleccione Abrir página de manual. ¡Léelo en su totalidad! :)

No tengo problemas para usar fstab, sin embargo, siempre uso al menos los primeros cuatro campos. Veo que te falta el tercer campo (fs_vfstype) en tu comentario. ¿Lo estás omitiendo en fstab? Debe editar su pregunta y mostrar exactamente lo que ha intentado fstaby qué editor ha utilizado.

Pruebe: UUID=1738336E-68DD-46B1-997E-57469CF0472D /mount/point hfs rw,auto ¿ dónde /mount/pointestá un directorio preexistente?

He probado esto en mi sistema usando my UUID, está UUIDen la línea que sugiero que pruebe arriba.

Nota: solo se montaría en el punto de montaje definido si incluyera el tercer campo (fs_vfstype); de lo contrario, se montaría /Volumesaunque existiera el segundo campo (fs_file).

Probé esto anteriormente y obtuve dos volúmenes idénticos montados UUID=... /mount/point hfs rw,autoen El Capitan: 1. /mount/point y 2. /Volumes.
@klanomath, no estoy seguro de lo que está tratando de decir, aparte de eso, ¿quizás funcione como dije en mi respuesta? ¿O estás diciendo que se monta dos veces sin importar qué? Por cierto, estoy ejecutando OS X 10.8.5.
@klanomath, lo edité, espero que sea más claro. Ahora, volviendo a su primer comentario, ¿está diciendo que en OS X 10.11 se montará en un punto de montaje personalizado pero también monta un segundo punto de montaje en el valor predeterminado /Volumestambién, con solo una línea agregada fstab?
Sí, esa fue mi experiencia. Escribí una respuesta similar, pero luego me di cuenta de que el volumen se mostraba dos veces: en el escritorio (que es /Volumes) y en el punto de montaje definido en fstab (que era /Users/user/test)
@klanomath, nunca vi tu respuesta, supongo que la borraste antes de ver esta pregunta. Como estoy ejecutando OS X 10.8.5 y no tengo una máquina OS X 10.11.x para probar, no hay mucho más que pueda hacer aparte de eliminar mi respuesta también.
¡No publiqué mi respuesta después de escribirla! Su respuesta no es incorrecta, pero el OP probablemente no quiera el resultado. Solo estoy buscando una solución para mejorar tu respuesta.
@klanomath, dejaré mi respuesta por un momento y si descubre cómo no tener dos puntos de montaje de una fstabentrada en OS X 10.11.x, ya que no muestra ese comportamiento en OS X 10.8.5 , y quiero agregarlo a mi respuesta, no dude en hacerlo con mi gratitud. :)