Línea de comando equivalente a la Utilidad de Disco, que no es diskutil, para obtener UUID

4

Siguiendo a la respuesta a ¿Puede hacer que OSX monte solo ciertas particiones cuando conecta un disco duro externo? , todos los sitios que he revisado ( CNET , OSXDaily, subprocesos de la comunidad de soporte de Apple ) dicen que tiene que usar la Utilidad de Disco (o la línea de comando diskutil info /dev/disk<X>s<Y> ) para encontrar el UUID.

¿Hay un equivalente en la línea de comandos que me proporcione esta información, que no es diskutil ? En particular, ¿uno que funcionará en modo de usuario único?

Por qué diskutil no funciona

En modo de usuario único (al menos en Mountain Lion) después de ejecutar:

/sbin/fsck -fy
/sbin/mount -uw /

en ejecución:

diskutil info disk0s5

da el siguiente error

Unable to run because unable to use the DiskManagement framework.
Common reasons include, but are not limited to, the DiskArbitration
framework being unavailable due to being booted in single user mode.

Fondo

Mi problema es que tengo una partición que está muriendo en mi disco interno, que solo contiene un sistema operativo Snow Leopard desactualizado, pero está ralentizando mi Mac (de forma insoportable), ya que la consola informa (repetidamente):

kernel: disk0s5: I/O error.

Ya no inicio en Snow Leopard como inicio Mountain Lion que está en un disco FireWire externo, por lo que me gustaría dejar la partición de Snow Leopard sin montar, usando la línea

UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX none hfs rw,noauto

en /etc/fstab .

Sin embargo, para obtener el UUID de la partición defectuosa, tengo que abrir la Utilidad de Discos y tener la partición defectuosa montada, lo que es un proceso extremadamente lento (la Utilidad de Discos tarda unos veinte minutos en abrirse).

TL; DR - ¿Puedo obtener el UUID de la partición interna cuando inicio en el modo de usuario único de un sistema operativo almacenado en una partición que está en un disco FW externo?

    
pregunta Greenonline 23.03.2016 - 05:14

3 respuestas

3

Actualización:

IOReg proporciona el UUID de partición, no el UUID de volumen, ya que opera debajo de la capa HFS. Supuse incorrectamente que se necesitaba el UUID del dispositivo en lugar del UUID de volumen porque estaba sustituyendo a un nodo de dispositivo. Para obtener el UUID de volumen, use hfs.util . Por ejemplo:

/System/Library/Filesystems/hfs.fs/Contents/Resources/hfs.util -k disk0s3

Reemplace "disk0s3" con cualquiera que sea el "identificador de dispositivo" de su volumen. Esto es diferente al "nodo del dispositivo" (que es "/ dev / disk0s3" en este caso ").

Detalles originales de IOReg:

Puede ejecutar ioreg -c IOMedia -r para mostrar el árbol de dispositivos para los dispositivos de disco en su sistema. Esto debería dar una cantidad manejable de salida (en comparación con ioreg -l , que lo muestra todo).

Si solo quieres extraer UUID, puedes ioreg -c IOMedia -r | grep UUID , pero la desventaja es que pierdes el contexto.

La información diskutil es interesante; obviamente, depende de los demonios que no se ejecutan en modo de usuario único.

    
respondido por el janm 23.03.2016 - 06:18
1

Instale GPT Fdisk . Después de iniciar el modo de usuario único, ingrese:

/sbin/fsck -fy
/sbin/mount -uw /
/usr/local/bin/gdisk

En el modo interactivo, primero ingrese el nodo del dispositivo (por ejemplo, disco0):

/dev/disk0

luego i para mostrar información detallada sobre una partición.
Finalmente ingrese el número de partición, por ej. 5 para obtener el GUID exclusivo de la partición:

Partition GUID code: 53746F72-6167-11AA-AA11-00306543ECAC (Apple Core Storage)
Partition unique GUID: 7AA0FD56-01BC-4EA1-8CE2-7972E63A2A6D
First sector: 409640 (at 200.0 MiB)
Last sector: 133955543 (at 63.9 GiB)
Partition size: 133545904 sectors (63.7 GiB)
Attribute flags: 0000000000000000
Partition name: ''
    
respondido por el klanomath 27.03.2016 - 23:37
0

Como nota aparte, acabo de descubrir que no hay necesidad real de hacer nada de esto, porque, en lugar de usar el UUID, puede usar la etiqueta de volumen en vez de, en /etc/fstab , así:

LABEL=Archive none hfs rw,noauto 0 0

Este método tiene el beneficio de:

  1. Es mucho más sencillo de implementar y lo más importante ;
  2. La etiqueta del volumen no cambia, mientras que los UUID cambian a medida que conecta otros discos FW o USB. Por lo tanto, si usa UUID en /etc/fstab , entonces necesita actualizar esos UUID para los discos sin montar, en /etc/fstab , cada vez que cambie la configuración del disco.

Nota: El uso de LABEL en /etc/fstab puede no funcionar siempre (es decir, si el disco está muy dañado y la etiqueta no se puede leer). En tales casos, estará obligado a utilizar UUID.

    
respondido por el Greenonline 30.03.2016 - 08:22

Lea otras preguntas en las etiquetas