Monter et démonter des lecteurs à partir de la ligne de commande sous Mac OS X

La manière la plus simple de démonter un lecteur sous OS X consiste à simplement faire glisser un volume dans la corbeille, à utiliser les touches d'éjection, à déconnecter le lecteur ou à utiliser l'une des méthodes d'éjection forcée. Dans le même ordre d'idées, si vous souhaitez remonter un disque, vous pouvez généralement débrancher physiquement le disque et le rebrancher. Mais que se passe-t-il si vous voulez pouvoir monter, démonter et remonter des disques à partir de la ligne de commande? C'est exactement ce que nous allons couvrir ici.

Cette astuce fonctionne avec les disques USB externes, disques durs, Firewire, Thunderbolt, DVD, CD, lecteurs réseau, et même les clés USB, littéralement n'importe quel volume qui peut être monté et accessible via la commande diskutil incroyablement utile. En utilisant la ligne de commande pour remonter le disque, l'intégralité du processus peut être complétée à distance via SSH si nécessaire, et sans jamais devoir déconnecter physiquement un disque du Mac. Ceci est infiniment utile pour les situations de dépannage, pour les scripts et l'automatisation, et c'est un bon truc pour ceux d'entre nous qui aiment juste bricoler dans Terminal.

Démonter un lecteur à partir de la ligne de commande

Couvrons d'abord les disques démontables. Pour ce faire, vous aurez besoin d'un autre volume attaché ou connecté au Mac sous une forme ou une autre, puis lancez Terminal pour commencer (se trouve dans / Applications / Utilitaires /).

1: Liste tous les lecteurs

La première chose à faire est de lister les lecteurs connectés. Cela fournira une liste de tous les lecteurs qui sont attachés au Mac, qui sont montés et démontés, et toutes leurs partitions respectives. Nous faisons cela afin que nous puissions obtenir l'identifiant du lecteur, qui est typiquement quelque chose comme disk1s2, ou disk2s2, etc

diskutil list

La sortie ressemblera à ceci:

$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *121.3 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 120.5 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *16.0 GB disk1
1: EFI 209.7 MB disk1s1
2: Apple_HFS OSXDaily 15.7 GB disk1s2

Par souci de cet exemple, nous allons nous concentrer sur le lecteur attaché nommé "OSXDaily", qui se trouve être une clé USB externe qui apparaît en dernier dans la liste. Notez que l'identificateur de ce lecteur est "disk1s2" et nous le porterons à la prochaine série de commandes pour le démonter et le remonter.

Il est probablement utile de mentionner que les lecteurs seront toujours situés dans / dev / et donc / dev / sera toujours préfixé à l'identifiant.

2: Démonter le lecteur spécifié

Toujours en utilisant la commande diskutil, nous allons le mettre en évidence sur le lecteur en question pour le démonter.

diskutil unmount /dev/disk1s2

Cela rapportera le volume nommé et l'emplacement a été démonté, comme ceci:

$ diskutil unmount /dev/disk1s2
Volume OSXDaily on disk1s2 unmounted

C'est tout ce qu'on peut en dire. Vous remarquerez que le lecteur n'est plus accessible dans le Finder, mais il sera toujours visible via diskutil à partir de la ligne de commande ou de l'application Utilitaire de disque plus familière dans l'interface graphique d'OS X.

Monter un lecteur à partir de la ligne de commande

Si vous pouvez démonter un lecteur, vous pouvez bien sûr le monter ou le remonter. La séquence de commandes est très similaire; localisez le volume, puis montez le lecteur.

1: Trouver le lecteur au bâti

Si vous savez déjà où se trouve le volume, vous pouvez ignorer la partie 1 et passer directement à la partie 2, mais couvrons quand même la récupération de l'identificateur de volume. Cette fois, nous allons le raccourcir un peu car nous supposerons que nous connaissons le nom du disque à monter, donc nous avons seulement besoin de localiser l'identifiant. Nous ferons cela en utilisant grep pour raccourcir la sortie de la commande diskutil comme ceci:

$ diskutil list |grep OSXDaily
2: Apple_HFS OSXDaily 15.7 GB disk1s2

Cette sortie est évidemment beaucoup plus courte que la sortie complète de la liste diskutil que nous avons montrée ci-dessus.

Pour cet exemple, le lecteur "OSXDaily" est toujours situé dans / dev / disk1s2 et c'est ce que nous allons monter.

2: Monter (ou remonter) le lecteur

Pour monter (ou remonter) un disque, nous allons utiliser la même commande diskutil avec un nouveau flag et des entrées comme ça:

diskutil mount /dev/disk1s2

En utilisant les mêmes exemples qu'ailleurs, voici à quoi ressembleront la commande et la sortie:

$ diskutil mount /dev/disk1s2
Volume OSXDaily on /dev/disk1s2 mounted

De toute évidence, cela remonte le disque, et il rendra également le volume monté visible à nouveau dans le Finder OS X et les applications basées sur l'interface graphique dans les différentes boîtes de dialogue Ouvrir ou Enregistrer.

Démonter et remonter un lecteur / volume dans une seule commande

Voulez-vous rapidement démonter et remonter le même volume, essentiellement en activant la connectivité au Mac? Vous pouvez le faire en une seule commande en enchaînant les deux ensemble comme suit:

diskutil unmount /dev/disk1s2;diskutil mount /dev/disk1s2;echo "Remounted Volume"

Cela ressemblerait à ceci:

$ diskutil unmount /dev/disk1s2;diskutil mount /dev/disk1s2;echo "Remounted Volume"
Volume OSXDaily on disk1s2 unmounted
Volume OSXDaily on /dev/disk1s2 mounted
Remounted Volume

Si vous observez le volume dans le Finder pendant ce processus, vous constaterez qu'il disparaît brièvement, puis réapparaît presque immédiatement. La dernière partie d'écho est facultative, mais elle rend l'action de commande entière encore plus verbeuse.

Merci à Nilesh pour l'inspiration de la pointe