Mac の ターミナルでディスクを unmount / mount する方法

# 本記事の内容

本記事では、Mac で 外付け HDD を unmount / mount する方法を説明する。
説明の流れは、以下の通りである。

1. unmount の方法と実行結果
2. mount の方法と実行結果
3. 蛇足) 本記事を書いた理由と sudo について


# unmount の方法と実行結果
unmount の手順と unmount コマンドを実行した結果を説明する。

### unmount 手順
1. ターミナルを開く
2. `df -H` を打つ
3. `diskutil list` を打つ
4. `diskutil unmount <device>` を打つ

### 実際に unmount した結果
```bash
$ df -H # 後でに実行する mount コマンドのオプションに指定する情報を取得するため
Filesystem      Size   Used  Avail Capacity iused               ifree %iused  Mounted on
/dev/disk1s1    120G    87G    29G    75%  932680 1234567890123843127    0%   /
devfs           201k   201k     0B   100%     680                   0  100%   /dev
/dev/disk1s4    120G   4.3G    29G    13%       5 1234567890124775802    0%   /private/var/vm
map -hosts        0B     0B     0B   100%       0                   0  100%   /net
map auto_home     0B     0B     0B   100%       0                   0  100%   /home
/dev/disk3s2    2.0T   990G   1.0T    50% 5334999          4289632280    0%   /Volumes/HD-WLU3

$ diskutil list # ディスクの状況を確認
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         120.5 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +120.5 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            84.8 GB    disk1s1
   2:                APFS Volume Preboot                 21.4 MB    disk1s2
   3:                APFS Volume Recovery                514.7 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk3
   1:                        EFI EFI                     209.7 MB   disk3s1
   2:                  Apple_HFS HD-WLU3                 2.0 TB     disk3s2

$ diskutil unmount disk3s2 # ディスクの mount を実行
Volume HD-WLU3 on disk3s2 unmounted
$ 
```

### 補足
 - disk2 はディスク全体で、 disk3s2 は disk3 の2番めのスライス (=パーティション)を意味する。実際に unmount / mount するのはパーティションのため、コマンドのオプションには disk3s2 を指定する。

# mount の方法と実行結果
通常の mount 方法とマウントポイントを指定した mount 方法、およびそれらの実行結果を説明する。USB を無理やり抜き差しするなどして ディスクのマウントに問題が発生した場合、後者の方法を実施する。

1. 通常の mount 方法
2. マウントポイントを指定した mount 方法

### 1. mount 手順 （通常の mount 方法）
1. ターミナルを開く
2. `diskutil mount <device>` を打つ
3. `df -H` を打つ

### 実行結果
```bash
$ diskutil mount disk３s2
Volume HD-WLU3 on disk3s2 mounted
$ df -H
Filesystem      Size   Used  Avail Capacity iused               ifree %iused  Mounted on
/dev/disk1s1    120G    87G    29G    75%  932680 1234567890123843127    0%   /
devfs           201k   201k     0B   100%     680                   0  100%   /dev
/dev/disk1s4    120G   4.3G    29G    13%       5 1234567890124775802    0%   /private/var/vm
map -hosts        0B     0B     0B   100%       0                   0  100%   /net
map auto_home     0B     0B     0B   100%       0                   0  100%   /home
/dev/disk3s2    2.0T   990G   1.0T    50% 5334999          4289632280    0%   /Volumes/HD-WLU3
```

### 2. mount 手順 （マウントポイントを指定した mount 方法）

1. ターミナルを開く
2. `sudo mkdir <マウントするパス>`
3. `sudo diskutil mount -mountPoint <マウントするパス> <device>` を打つ
4. `df -H` を打つ

### 実行結果

```bash
$ sudo mkdir "/Volumes/HD-WLU3 1"
$ Password:
$ sudo diskutil mount -mountPoint "/Volumes/HD-WLU3 1" disk3s2
Volume HD-WLU3 on disk3s2 mounted
$ df -H
Filesystem      Size   Used  Avail Capacity iused               ifree %iused  Mounted on
/dev/disk1s1    120G    87G    29G    75%  932799 1234567890123843008    0%   /
devfs           201k   201k     0B   100%     680                   0  100%   /dev
/dev/disk1s4    120G   4.3G    29G    13%       5 1234567890124775802    0%   /private/var/vm
map -hosts        0B     0B     0B   100%       0                   0  100%   /net
map auto_home     0B     0B     0B   100%       0                   0  100%   /home
/dev/disk3s2    2.0T   990G   1.0T    50% 5335001          4289632278    0%   /Volumes/HD-WLU3 1
$
```
### 補足
1. `HD-WLU3 1`にマウントしたはずなのに、`Volume HD-WLU3 on disk3s2 mounted`と出力された。`df`コマンドで確認すると、 `HD-WLU3 1`にマウントされているので、`df`コマンドの出力がバグっている気がする。
2. sudo を付けずにマウントポイントを指定して`mount`を実行すると、以下のエラーが出る。dameged とか出力されて、ちょっとびっくりする。

```bash
$ diskutil mount -mountPoint "/Volumes/HD-WLU3 1" disk3s2
Volume on disk3s2 failed to mount
If the volume is damaged, try the "readOnly" option
$ 
```
# 蛇足

### １． unmount / mount の方法をまとめた理由

Mac 上の Virtual Box で仮想マシンを起動しようとしたら、Virtual Box が 「"/Volumes/HD-WLU3 1"にディスクがありません」とエラーを出力し、仮想マシンを起動できなかった。
そのため、マウントポイントを指定して、ディスクを mount する必要があった。

### ２． diskutil の sudo
High Sierra の 10.13.6 (2018年7月頃？) から sudo が必要になったらしい。
[10.13.6でESPをマウントする権限が変更される | Mac信者のHackintosh修行](http://siroanko.hatenablog.com/entry/2018/07/10/213737)