Monta e smonta unità dalla riga di comando in Mac OS X

Il modo più semplice per disinstallare un'unità in OS X consiste nel trascinare un volume nel Cestino, utilizzare i tasti di espulsione, scollegare l'unità o utilizzare uno dei metodi di espulsione forzata. Seguendo le stesse linee, se si desidera rimontare un'unità, in genere è sufficiente scollegare fisicamente l'unità e ricollegarla. Ma cosa succede se si desidera essere in grado di montare, smontare e rimontare le unità dalla riga di comando? Questo è esattamente ciò che tratteremo qui.

Questo trucco funziona con dischi USB esterni, dischi rigidi, Firewire, Thunderbolt, DVD, CD, unità di rete, persino chiavette USB, letteralmente qualsiasi volume che può essere montato e accessibile tramite l'incredibile comando diskutil. Utilizzando la riga di comando per rimontare l'unità, l'intero processo può essere completato in remoto, se necessario, tramite SSH e senza dover mai disconnettere fisicamente un'unità dal Mac. Questo è infinitamente utile per la risoluzione di situazioni, script e automazione, ed è un ottimo trucco per quelli di noi che amano giocare in Terminal.

Smontare un'unità dalla riga di comando

Iniziamo con la copertura delle unità di smontaggio. Per fare ciò avrai bisogno di un altro volume collegato o connesso al Mac in una forma o nell'altra, quindi avvia Terminal per iniziare (si trova in / Applicazioni / Utility /).

1: elenca tutte le unità

La prima cosa che devi fare è elencare le unità connesse. Questo fornirà un elenco di tutte le unità collegate al Mac, che sono montate e non montate e tutte le loro rispettive partizioni. Lo stiamo facendo in modo che possiamo ottenere l'identificatore dell'unità, che in genere è qualcosa come disk1s2 o disk2s2, ecc.

diskutil list

L'output sarà simile a questo:

$ 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

Per il bene di questo esempio, ci concentreremo sull'unità collegata denominata "OSXDaily", che risulta essere una chiavetta USB esterna visualizzata per ultima nell'elenco. Nota che l'identificatore per quell'unità è "disk1s2" e lo porteremo alla prossima serie di comandi per smontarlo e rimontarlo.

Probabilmente vale la pena menzionare che le unità si troveranno sempre in / dev / e quindi / dev / sarà sempre preceduto dall'identificatore.

2: Smontare l'unità specificata

Usando ancora il comando diskutil, lo indicheremo sull'unità in questione da smontare.

diskutil unmount /dev/disk1s2

Questo riporterà il volume indicato e la posizione è stata smontata, in questo modo:

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

Questo è tutto ciò che c'è da fare. Noterai che l'unità non è più accessibile in Finder, ma sarà comunque visibile attraverso diskutil dalla riga di comando o l'app di Utility Disco più familiare nella GUI di OS X.

Montare un'unità dalla riga di comando

Se riesci a smontare un'unità, ovviamente puoi anche montarla o rimontarla. La sequenza di comandi è molto simile; individuare il volume, quindi montare l'unità.

1: trova l'unità da montare

Se sai già dove si trova il volume, puoi ignorare la parte 1 e passare direttamente alla parte 2, ma copriamo comunque il recupero dell'identificatore del volume. Questa volta lo accorciamo un po 'perché supponiamo di conoscere il nome del drive da montare, quindi abbiamo solo bisogno di localizzare l'identificatore. Lo faremo usando grep per abbreviare l'output del comando diskutil in questo modo:

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

Questa uscita è ovviamente molto più breve dell'output completo dell'elenco di diskutil che abbiamo mostrato sopra.

Per questo esempio, l'unità "OSXDaily" si trova ancora su / dev / disk1s2 e questo è ciò che monteremo.

2: montare (o rimontare) l'unità

Per montare (o rimontare) un'unità, useremo lo stesso comando diskutil con un nuovo flag e gli input in questo modo:

diskutil mount /dev/disk1s2

Usando gli stessi esempi come altrove, ecco come appariranno il comando e l'output:

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

Ovviamente questo monta di nuovo l'unità e renderà il volume montato nuovamente visibile nel Finder di OS X e nelle app basate sulla GUI nelle varie finestre di dialogo Apri o Salva.

Smonta e rimonta un'unità / volume in un singolo comando

Desideri smontare e rimontare rapidamente lo stesso volume, in pratica è possibile alimentare la connettività con il Mac? Puoi farlo in un singolo comando stringendo i due insieme in questo modo:

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

Questo apparirebbe come il seguente quando viene eseguito:

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

Se ti è capitato di osservare il volume nel Finder durante questo processo, lo troverai scomparire brevemente, quindi riapparire quasi immediatamente. L'ultima porzione dell'eco è facoltativa, ma rende l'intera azione del comando ancora più dettagliata.

Grazie a Nilesh per l'ispirazione di punta