
Mac OS X のコマンドラインからドライブをマウントおよびアンマウントする
MacOS および Mac OS X のコマンドラインから、ドライブ、ボリューム、ディスクをマウントおよびアンマウントできます。
多くのユーザーにとって、Macでドライブをアンマウントする最も簡単な方法は、ボリュームをゴミ箱にドラッグするか、イジェクトキーを使うか、ドライブを切断するか、強制イジェクトのいずれかの方法を使うことです。同様に、ドライブを再マウントする場合も、通常はドライブを物理的に取り外して再度差し込むだけです。しかし、コマンドラインからドライブのマウント、アンマウント、再マウントを実行したい場合はどうすればよいでしょうか?ここではまさにその方法を説明します。
この方法は、外付けUSBディスク、ハードドライブ、FireWire、Thunderbolt、DVD、CD、ネットワークドライブ、さらにはUSBサムドライブなど、非常に便利なdiskutilコマンドを使ってマウントおよびアクセスできるあらゆるボリュームで有効です。コマンドラインを使ってドライブを再マウントすることで、必要に応じてSSH経由でリモートからプロセス全体を完了でき、Macからドライブを物理的に取り外す必要はありません。これは、トラブルシューティング、スクリプト作成、自動化に非常に役立ち、ターミナルであれこれいじくり回すのが好きな人にとっても非常に便利な方法です。
Macのコマンドラインからドライブをアンマウントする方法
まず、ドライブのアンマウントについて説明します。これを行うには、Macに何らかの方法で接続または接続された別のボリュームが必要です。次に、ターミナル(/アプリケーション/ユーティリティ/にあります)を起動して作業を開始します。
1: すべてのドライブを一覧表示する
まず最初に、接続されているドライブを一覧表示する必要があります。これにより、Macに接続されているすべてのドライブ(マウントされているかアンマウントされているかを問わず)と、それぞれのパーティションのリストが表示されます。これは、通常disk1s2やdisk2s2などのドライブ識別子を取得するためです。
diskutil list
出力は次のようになります。
$ 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
この例では、「OSXDaily」という名前の接続ドライブに焦点を当てます。これは、リストの最後に表示される外付けUSBメモリです。このドライブの識別子は「disk1s2」です。この識別子は、次の一連のコマンドでアンマウントと再マウントに使用されます。
ドライブは常に /dev/ に配置され、したがって識別子の前には常に /dev/ が付くことに注意する必要があります。
2: 指定されたドライブをアンマウントする
引き続き diskutil コマンドを使用して、問題のドライブを指定してマウント解除します。
diskutil unmount /dev/disk1s2
これにより、次のように、名前付きボリュームと場所がマウント解除されたことが報告されます。
$ diskutil unmount /dev/disk1s2
Volume OSXDaily on disk1s2 unmounted
これで完了です。Finder ではドライブにアクセスできなくなりましたが、コマンドラインの diskutil や、Mac OS X の GUI にあるおなじみのディスクユーティリティアプリを使えば、引き続きドライブを表示できます。
Macのコマンドラインからドライブをマウントする方法
ドライブをアンマウントできるなら、もちろんマウントや再マウントも可能です。コマンドシーケンスはほぼ同じで、ボリュームを見つけてドライブをマウントするだけです。
1: マウントするドライブを見つける
ボリュームの場所が既にわかっている場合は、パート1を無視してパート2に進んでも構いませんが、ボリューム識別子の取得方法については触れておきましょう。今回は、マウントするドライブの名前がわかっていると仮定し、識別子を見つけるだけで済むため、手順を少し短くします。grepを使ってdiskutilコマンドの出力を以下のように短縮します。
$ diskutil list |grep OSXDaily
2: Apple_HFS OSXDaily 15.7 GB disk1s2
この出力は、明らかに、上記に示した diskutil list の完全な出力よりもはるかに短くなっています。
この例では、ドライブ「OSXDaily」はまだ /dev/disk1s2 にあるので、これをマウントします。
2: ドライブをマウント(または再マウント)する
ドライブをマウント (または再マウント) するには、次のように新しいフラグと入力を使用して同じ diskutil コマンドを使用します。
diskutil mount /dev/disk1s2
他の場所と同じ例を使用すると、コマンドと出力は次のようになります。
$ diskutil mount /dev/disk1s2
Volume OSXDaily on /dev/disk1s2 mounted
これにより、当然ドライブが再度マウントされ、マウントされたボリュームが Mac OS X Finder や GUI ベースのアプリケーションのさまざまな [開く] または [保存] ダイアログボックスに再度表示されるようになります。
ドライブ/ボリュームを1つのコマンドでアンマウントおよび再マウントする方法
同じボリュームを素早くアンマウントして再マウントし、Macへの接続を電源オン/オフにしたいですか? 次のように2つのコマンドを連結することで、1つのコマンドで実行できます。
diskutil unmount /dev/disk1s2;diskutil mount /dev/disk1s2;echo "Remounted Volume"
実行すると次のようになります。
$ diskutil unmount /dev/disk1s2;diskutil mount /dev/disk1s2;echo "Remounted Volume"
Volume OSXDaily on disk1s2 unmounted
Volume OSXDaily on /dev/disk1s2 mounted
Remounted Volume
この処理中にFinderでボリュームを監視していた場合、ボリュームが一瞬消えてからすぐに再び表示されることに気づくでしょう。最後のecho部分はオプションですが、これによりコマンド全体の動作がさらに冗長になります。
ヒントを教えてくれたNileshに感謝します