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

17

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

mount El uso del 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

mount utilizando 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.

biocyberman
fuente
Como ya descubrió, el mountcomando no puede usar UUIDo LABELdebe usar el Identificador de disco, por ejemplo /dev/disk0s4. Además, tal vez quizás maybeharry señaló que el método OS X es utilizar diskutil. Para abordar su actualización ... Sin embargo, fstabpuede usar el UUIDo LABEL, solo mire los ejemplos en la página del manual fstab. En un tipo de Terminal fstab, haga clic derecho fstaby seleccione Abrir página de manual, ¡luego léalo en su totalidad! :)
user3439894
@ user3439894 Intenté una línea fstabcomo esta: UUID=<volume_uuid> /mount/point autoy corrí sudo mount -a. El mismo error que ocurrió:... mount_hfs: No such file or directory
biocyberman
El segundo campo, (fs_file), el punto de montaje, ya debe existir, ¿no?
user3439894
Sí, existe
biocyberman
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 fstab? Debería editar su pregunta y mostrar exactamente lo que ha intentado fstaby qué editor ha utilizado. Dicho esto, ninguno de mis puntos de montaje es otro que el predeterminado / Volumespara el que noneestá configurado. Probaré una vez que vea tu edición y el punto de montaje que estás intentando.
user3439894

Respuestas:

17

Cuando se usa OS X, generalmente es más recomendable usarlo diskutilpara actividades relacionadas con el disco.

TL; DR:

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 UUID: en cualquier diskutiloperación (como eject), se puede especificar un UUID en lugar de un identificador de nodo. Desde la página del manual:

DISPOSITIVOS

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

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

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

o El punto de montaje del volumen. Cualquier entrada de la forma de / Volumes / *, por ejemplo / Volumes / Untitled. En la mayoría de los casos, también se acepta un punto de montaje "personalizado", por ejemplo, / your / custom / mountpoint / here.

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

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

De man diskutil, sección 'Dispositivos'.


Obtener 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 de estos comandos deberían tener un aspecto similar al 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 de la NAMEcolumna y el UUID de cualquier UUIDcampo (cualquiera de los 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

Además para editar a la pregunta de OP: montaje en una ruta personalizada

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

monte el dispositivo [readOnly] [-mountPoint path]

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 dispositivo y / o medios subyacentes del volumen admiten la escritura; incluso el superusuario puede no escribirle; Esto es lo mismo que la opción rdonly para montar (8). Si se especifica un -mountPoint, entonces esa ruta, en lugar de la ruta estándar de / Volumes / VolumeName, se usará como vista en el 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). No se puede realizar el montaje en un punto de montaje personalizado diskutil mountDisk, y solo funciona con un solo volumen a la vez.

quizás pueda
fuente
Gracias por la respuesta, ¿podría consultar la sección de actualización en mi pregunta y abordarla?
biocyberman
@biocyberman actualizó mi respuesta. Si no aborda su adición de manera apropiada, por favor avíseme
quizás sea
2

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 dijo exactamente cuál es el propósito del montaje externo, por lo que algunos de estos bits podrían no sea ​​lo que necesita pero, de nuevo, podría ser exactamente lo que está tratando de hacer.

Como se mencionó en su pregunta y en la respuesta de @ maybemaybeharry, 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 utilizará para el punto de montaje. He utilizado SSD_Music.
  • Use sudo vifspara editar el fstabarchivo, agregue lo siguiente como una sola línea (editando para el UUID y USERNAME 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 monte la unidad durante el arranque. He encontrado momentos en los 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 la raíz, pero los subdirectorios me pertenecían.
    • 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.
  • Con suerte se montó sin errores. Verifíquelo con lo mountque 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'copiar sus medios a la nueva unidad. Omita esto si ya lo ha copiado.
  • Desmontar el disco con diskutil unmount ~/Music/iTunes/SSD_Music

Ahora que puede montar la unidad por UUID, automaticémosla cuando inicie sesión.

  • En ~/Library/LaunchAgents/, cree un nuevo archivo llamadolocal.mount_SSD_Music.plist
  • Copie / pegue el siguiente XML en el nuevo archivo y luego guárdelo / 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 con el nuevo pliegue LaunchAgent con launchctl load ~/Library/LaunchAgents/local.mount_SSD_Music.plist. Ojalá vuelva a montar sin errores.

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

¡Espero que esto ayude!

Software Insomniac
fuente
0

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

Como ya descubrió, el mountcomando no puede usar UUIDo LABELdebe usar el identificador de disco, por ejemplo /dev/disk0s4. Además, tal vez quizás maybeharry señaló que el método OS X es utilizar diskutil. Para abordar su actualización ... Sin embargo, fstabpuede usar el UUIDo LABEL, solo mire los ejemplos en la página del manual fstab. En un tipo de Terminal fstab, haga clic 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 fstab? Debería editar su pregunta y mostrar exactamente lo que ha intentado fstaby qué editor ha utilizado.

Prueba: UUID=1738336E-68DD-46B1-997E-57469CF0472D /mount/point hfs rw,auto donde /mount/pointhay un directorio preexistente.

He probado esto en mi sistema usando my UUID, es tu UUIDen la línea que te sugiero que pruebes más arriba.

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

usuario3439894
fuente
He probado esto anteriormente y tengo dos volúmenes idénticos montados UUID=... /mount/point hfs rw,autoen El Capitan: 1. / mount / point y 2. / Volumes.
klanomath
@klanomath, ¿No estás seguro de lo que estás tratando de decir, aparte de que tal vez funciona 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.
user3439894
@klanomath, lo he editado, espero que sea más claro. Ahora volviendo a su primer comentario, ¿está diciendo que bajo OS X 10.11 se montará en un punto de montaje personalizado pero también monta un segundo punto de montaje por defecto /Volumes, con solo una línea agregada fstab?
user3439894
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 / Volúmenes) y en el punto de montaje definido en fstab (que era / Usuarios / usuario / prueba)
klanomath
@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 para eliminar mi respuesta también.
user3439894