7 votes

Comment puis-je savoir sur quel volume se trouve le système d'exploitation ?

J'admets que je suis en train de regrouper plusieurs questions en une seule, alors pardonnez-moi et essayez de ne pas m'en vouloir.

Je suis nouveau sur Mac mais j'essaie de porter une de mes applications Java vers OS X. Sous Windows, elle utilise le numéro de série du disque dur pour quelque chose et je cherche à faire l'équivalent sous Mac en utilisant le Terminal !

La chose la plus proche que je peux trouver est l'UUID du volume en utilisant diskutil info ... ce qui est bien (tant que cela reste toujours le même ?): ma question principale est donc de savoir quel volume je dois utiliser, étant donné que trois apparaissent lorsque je tape diskutil list ? Il faut évidemment qu'il ait un UUID, mais je voudrais aussi utiliser le volume qui a le moins de chances de changer, ce qui me semble être celui sur lequel se trouve le système d'exploitation !

J'aimerais donc savoir quel est le volume le plus sûr à utiliser à cette fin, et s'il varie selon les ordinateurs, comment le trouver !

Merci d'avance

11voto

Aaron Lake Points 3622

Ouvrez Terminal.app et exécutez df -h / :

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

Sur ma machine, mon lecteur OS est sur /dev/disk1s2 . Avec ces informations, vous pouvez utiliser l'application Utilitaire de disque et trouver le lecteur physique sur lequel se trouve votre système d'exploitation :

Disk Utility

Utilisation de diskutil à partir de la ligne de commande, le lecteur de votre système d'exploitation sera en corrélation avec ce que le système d'exploitation de l'entreprise. df la sortie de la commande vous a donné :

% diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Nymeria                 499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
-> 2:                  Apple_HFS Untitled 1              119.2 GB   disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3

Si vous n'êtes pas familier avec la façon dont les systèmes d'exploitation de type UNIX (OS X) partitionnent un disque, consultez le site suivant cet article de Wikipedia .

Et si vous voulez obtenir tous les détails pour la partition racine directement dans le terminal, exécutez

diskutil info $(df / | tail -1 | cut -d' ' -f 1)

0voto

daveyost Points 69

Cette fonction de l'interpréteur de commandes vous indiquera le nom du volume qui contient un fichier (ou un dossier, etc.) donné.

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
}

Exemples :

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

J'aimerais connaître un moyen plus facile de le faire ou un moyen de le faire en Swift.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X