¿Cómo puedo saber en qué volumen se encuentra el sistema operativo?

5

Admito que estoy rodando varias preguntas en una aquí, así que, por favor, perdóname y trata de no golpearme por ello.

Soy nuevo en Mac, pero estoy tratando de portar una de mis aplicaciones Java a OS X. En Windows, usa el número de serie del disco duro para algo y estoy buscando hacer lo mismo en Mac usando el Terminal.

Lo más cercano que puedo encontrar es el UUID de volumen usando diskutil info ... , lo cual está bien (¿siempre y cuando esto seguirá siendo el mismo?): así que mi pregunta principal es qué volumen debo usar, ya que aparecen tres cuando escribo diskutil list ? Obviamente, debe tener un UUID, pero también me gustaría usar el volumen que es menos probable que cambie, ¡que parece ser el que tiene el sistema operativo en mi cuenta!

Por lo tanto, me gustaría saber qué volumen es el más seguro para mí para este propósito, y si varía en diferentes computadoras, ¡cómo encontrarlo!

Gracias de antemano

    
pregunta Andy 02.05.2012 - 21:00

2 respuestas

9

Abre Terminal.app y ejecuta df -h / :

% df -h /
Filesystem     Size   Used  Avail Capacity  Mounted on
/dev/disk1s2  111Gi   75Gi   36Gi    68%    /

En mi máquina, mi unidad de sistema operativo está en /dev/disk1s2 . Con esta información, puede utilizar la aplicación Utilidad de Discos y averiguar en qué unidad física se encuentra su sistema operativo:

Elusodediskutildesdelalíneadecomandosenlaunidaddesistemaoperativoseráloquecorrespondaaloquelediolasalidadelcomandodf:

%diskutillist/dev/disk0#:TYPENAMESIZEIDENTIFIER0:GUID_partition_scheme*500.1GBdisk01:EFI209.7MBdisk0s12:Apple_HFSNymeria499.2GBdisk0s23:Apple_BootRecoveryHD650.0MBdisk0s3/dev/disk1#:TYPENAMESIZEIDENTIFIER0:GUID_partition_scheme*120.0GBdisk11:EFI209.7MBdisk1s1->2:Apple_HFSUntitled1119.2GBdisk1s23:Apple_BootRecoveryHD650.0MBdisk1s3

SinoestáfamiliarizadoconlaformaenquelossistemasoperativossimilaresaUNIX(OSX)particionanunaunidad,consulte este artículo de Wikipedia .

Y si desea obtener todos los detalles de la partición raíz directamente en el terminal, ejecute

diskutil info $(df / | tail -1 | cut -d' ' -f 1)
    
respondido por el Aaron Lake 02.05.2012 - 21:31
0

Esta función de shell le dirá el nombre del volumen que contiene cualquier archivo (o carpeta, etc.) dado.

function volumeOfFile {
  local result=$(
      /bin/df "$1" \
      | /usr/bin/sed -e 1d -e 's,  *, ,g' -e s,/Volumes/,, \
      | cut -d' ' -f 9-
  )
  if [[ $result == / ]] ; then
    /bin/ls -l /Volumes \
    | /usr/bin/sed -n -e 's,  *, ,g' -e 's, -> /$,,p' \
    | cut -d' ' -f 9-
  else
    echo "$result"
  fi
}

Ejemplos:

$ volumeOfFile /System
Mac HD
$ volumeOfFile /Volumes/Other/Users
Other
$

Me gustaría saber una forma más fácil de hacer esto o una forma de hacerlo en Swift.

    
respondido por el daveyost 15.12.2016 - 08:03

Lea otras preguntas en las etiquetas