Drives op de commandoregel plaatsen en ontkoppelen in Mac OS X

De eenvoudigste manier om een ​​schijfeenheid in OS X te ontkoppelen, is door gewoon een volume naar de prullenbak te slepen, de uitwerptoetsen te gebruiken, de schijf los te koppelen of een van de forceject-methoden te gebruiken. Op dezelfde manier, als u een schijf opnieuw wilt koppelen, kunt u meestal gewoon de schijf fysiek loskoppelen en weer aansluiten. Maar wat als u drives vanaf de opdrachtregel wilt aankoppelen, ontkoppelen en opnieuw wilt koppelen? Dat is precies wat we hier zullen behandelen.

Deze truc werkt met externe USB-schijven, harde schijven, Firewire, Thunderbolt, DVD's, CD's, netwerkstations, zelfs USB-sticks, letterlijk elk volume dat kan worden gemount en gebruikt via de ongelooflijk nuttige diskutil-opdracht. Door de opdrachtregel te gebruiken om de schijf opnieuw te koppelen, kan het hele proces op afstand worden voltooid indien nodig via SSH en zonder ooit fysiek een drive van de Mac te hoeven loskoppelen. Dit is oneindig handig voor het oplossen van problemen, voor scripting en automatisering, en het is een geweldige truc voor diegenen onder ons die graag in Terminal aan het sleutelen zijn.

Ontkoppel een station van de opdrachtregel

Laten we eerst dekking bieden voor het ontkoppelen van schijven. Hiervoor hebt u een ander volume nodig dat op een of andere manier is aangesloten op of verbonden met de Mac. Start vervolgens Terminal om aan de slag te gaan (zit in / Programma's / Hulpprogramma's /).

1: lijst met alle schijven

Het eerste dat u moet doen, is een lijst maken van de aangesloten schijven. Dit geeft een lijst met alle stations die zijn aangesloten op de Mac, die zijn aangekoppeld en niet-gekoppeld, en alle bijbehorende partities. We doen dit, zodat we de schijf-ID kunnen ophalen, die meestal zoiets is als disk1s2, of disk2s2, enzovoort

diskutil list

De uitvoer ziet er ongeveer zo uit:

$ 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

Omwille van dit voorbeeld richten we ons op de bijgevoegde schijf met de naam "OSXDaily", wat toevallig een externe USB-stick is die als laatste in de lijst voorkomt. Merk op dat de identifier voor dat station "disk1s2" is en we dragen dat naar de volgende reeks commando's om het te ontkoppelen en opnieuw te koppelen.

Het is waarschijnlijk de moeite waard om te vermelden dat de drives zich altijd in / dev / en dus / dev / altijd op de identifier zullen bevinden.

2: Ontkoppel het opgegeven station

Nog steeds met behulp van de opdracht diskutil, zullen we het naar de desbetreffende schijf verwijzen om het te ontkoppelen.

diskutil unmount /dev/disk1s2

Hierdoor wordt het benoemde volume gerapporteerd en is de locatie niet gemount, zoals:

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

Dat is alles wat er is. U zult merken dat de schijf niet langer toegankelijk is in Finder, maar dat deze nog steeds zichtbaar is via diskutil vanaf de opdrachtregel of de meer bekende Disk Utility-app in de GUI van OS X.

Monteer een drive vanaf de commandoregel

Als u een drive kunt ontkoppelen, kunt u er natuurlijk ook een koppelen. De volgorde van de commando's lijkt erg op elkaar; lokaliseer het volume en monteer de drive.

1: Zoek de drive om te monteren

Als je al weet waar het volume zich bevindt, kun je deel 1 negeren en direct naar deel 2 gaan, maar laten we het toch even hebben over het ophalen van het volume-ID. Deze keer zullen we het een beetje inkorten, omdat we aannemen dat we de naam van de schijf die moet worden gemount kennen, dus we hoeven alleen de identificatie te lokaliseren. We doen dit door grep te gebruiken om de uitvoer van de opdracht diskutil als volgt te verkorten:

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

Die output is duidelijk veel korter dan de volledige output van de diskutil-lijst die we hierboven hebben getoond.

Voor dit voorbeeld bevindt de drive "OSXDaily" zich nog steeds op / dev / disk1s2 en dat is wat we zullen mounten.

2: Monteer (of monteer opnieuw) de schijf

Om een ​​schijf te mounten (of opnieuw te koppelen), gebruiken we dezelfde diskutil-opdracht met een nieuwe vlag en invoeren als volgt:

diskutil mount /dev/disk1s2

Met dezelfde voorbeelden als elders, hier is wat het commando en de uitvoer eruit zal zien:

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

Hierdoor wordt de drive uiteraard opnieuw gemount en wordt het gekoppelde volume ook weer zichtbaar in de OS X Finder en op op GUI gebaseerde apps in de verschillende geopende of opgeslagen dialoogvensters.

Unmount & Remount Drive / Volume in één opdracht

Wilt u snel hetzelfde volume ontkoppelen en opnieuw installeren, in essentie power cycling via connectiviteit met de Mac? Je kunt dat doen in een enkel commando door de twee samen te rijgen zoals zo:

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

Dit zou er als volgt uitzien:

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

Als je tijdens dit proces toevallig het volume in de Finder zag, zou je merken dat het even verdwijnt en dan bijna onmiddellijk weer verschijnt. Het laatste echogedeelte is optioneel, maar het maakt de hele commandomodus nog uitgebreider.

Met dank aan Nilesh voor de tipinspiratie