Univers Apple

09
Avril
2019

Monter et éjecter un disque dur sur le Mac via le terminal

Publié par sky

Sur Mac, depuis le Système 6 (et peut être même avant), il suffit de brancher un disque dur ou d'insérer un disque amovible, pour qu'il apparaisse dans le Finder. Pour le déconnecter, rien de plus simple, il suffit de faire un drag'n drop du disque vers la corbeille.

Dans le cas d'un serveur, ou d'un média center, ou plus généralement d'un Mac distant, nous n'avons pas toujours accès au Finder pour effectuer les éjections, ou pour lancer Utilitaire de disque pour monter un disque récalcitrant.

L'utilisation des lignes de commande, à distance, est alors la meilleure solution pour effectuer ces tâches.

Mais commençons par voir les volumes montés, via le terminal, il suffit de lister les dossiers qui se trouvent dans /Volumes

ls -l /Volumes

sur mon Mac, j'ai le résultat suivant :

drwxrwxr-x  23 root  admin   850 Jan 29 20:23 Data
lrwxr-xr-x   1 root  wheel     1 Mar 13 22:55 MacPro -> /
drwxr-xr-x  37 root  wheel  1326 Jul 26  2018 Stockage
drwxrwxr-x  14 root  admin   544 Mar 17 09:33 TimeMachine

Pour commencer, j'ai le volume MacPro qui est la partition système. Puis j'ai trois disques connectés, et qui sont actuellement montés.

Les actions de montage et de démontage des disques se feront grâce à la commande diskutil, que nous avions déjà vue à plusieurs reprises, lors de la création d'une partition Recovery, de l'utilisation de smartmontools, ou encore de la création d'une carte de boot pour Raspberry Pi via le terminal.

Regardons déjà la liste des disques connectés au Mac.

diskutil list

avec pour résultat

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk3         1000.0 GB  disk0s2

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS TimeMachine             1.5 TB     disk1s2
   3:                  Apple_HFS Data                    499.9 GB   disk1s3

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS Stockage                999.3 GB   disk2s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk2s3

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1000.0 GB  disk3
                                 Physical Store disk0s2
   1:                APFS Volume MacPro                  616.1 GB   disk3s1
   2:                APFS Volume Preboot                 22.0 MB    disk3s2
   3:                APFS Volume Recovery                519.0 MB   disk3s3
   4:                APFS Volume VM                      3.2 GB     disk3s4

 

Le disque /dev/disk0 est le plus complexe, il s'agit du disque principal du Mac, qui contient un volume virtuel en APFS, le nouveau système de fichier de macOS. Le contenu de ce volume est accessible depuis le disque virtuel /dev/disk3 (synthesized).

Nous retrouvons ensuite les volumes TimeMachine et Data sur le disque physique /dev/disk1.
Et nous avons le volume nommé Stockage qui se trouve sur le disque physique /dev/disk2.

S'il y avait un disque externe connecté, il serait marqué comme /dev/diskX (external, physical).

Pour démonter un volume, il suffit d'utiliser la commande diskutil avec la sous-commande unmount et l'identifiant de notre volume qui se trouve dans la colonne la plus à droite.

Par exemple pour démonter Stockage

diskutil unmount /dev/disk2s2

Si cela a fonctionné, vous obtiendrez le message

Volume Stockage on disk2s2 unmounted

Si le disque est utilisé par un processus, la commande vous renverra l'erreur suivante

Volume Stockage on disk2s2 failed to unmount: dissented by PID 273 (/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds_stores)

vous indiquant le processus qui utilise le disque, et empêche le démontage, ici une application système : mds_stores.

Il est possible de forcer le démontage pour passer outre

diskutil unmount force /dev/disk2s2

avec pour résultat

Volume Stockage on disk2s2 force-unmounted.

Une fois le volume démonté, il est possible de remonter, via la commande

diskutil mount /dev/disk2s2

Le résultat espéré est

Volume Stockage on /dev/disk2s2 mounted

Si vous souhaitez monter tous les volumes d'un disque, vous pouvez utiliser la commande

diskutil mountDisk /dev/disk2

Ici, il ne faut plus donner l'identifiant du volume, mais bien du disque.

Pour le démontage, c'est identique

diskutil unmountDisk /dev/disk2

et il est, ici aussi, possible de forcer le démontage en rajoutant le mot-clé "force".

Si votre disque n'apparait pas dans la liste des disques, ou vous renvoie une erreur

Volume on disk2 timed out waiting to mount

ou encore

Volume on disk2s2 failed to mount

il est possible de votre disque ait un soucis.

La commande diskutil permet aussi de reformatter, d'effacer ou de redimensionner un volume. Si l'on regarde bien, Utilitaire de disque n'est, en fait, qu'une interface graphique à la commande diskutil.

 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Les cookies assurent le bon fonctionnement de nos services. En continuant, vous acceptez leur utilisation sur notre site internet.
Accepter