Macで趣味用と開発用で環境を分ける

Macで開発用の環境と趣味用の環境を分ける方法を紹介します。

私は長年MacBookAirを使用してきたのですが、ぶっちゃけたところ、MacOSのシステムを全然理解せずに使っていました。。
普段のプログラミングの勉強や開発の練習で様々なツールやソフトウェアをインストールしたりダウンロードしたりするのですが、それらが一体どこに、どれぐらい保存されているのか全く把握しておらず、気づけばあちらこちらに謎の設定ファイルだらけでストレージが圧迫されていたので、これを機に、Macを工場出荷時の状態に戻して、Apple独自のファイルシステム、 **APFS** を活用して環境を有効利用したいと思いました。
自分の備忘録としてもここに記したいと思います。

# APFSとは
APFSとはAppleが独自で開発したファイルシステムのことです。
めちゃくちゃざっくり言うと、以下のような構成のこと。（だと思います。）
```
デバイス
└── パーティション
    └── コンテナ
        └── ボリュームグループ
            └── ボリューム
                └── ディスク
                    └── MacOS
```

APFSの階層構造のイメージとしては
- デバイス（土地）の上に、
- パーティション（家）を建てて、
- その中にコンテナ（部屋）を置いて、
- その中にボリューム（冷蔵庫）があって、
- その中にディスク（食材）がある
みたいな関係性かと勝手に思ってます。

※私の説明だとざっくり過ぎて厳密性がないので、詳しい解説などは下記のリンクなどでご自身で調べてください。

https://ja.wikipedia.org/wiki/Apple_File_System

https://pc.watch.impress.co.jp/docs/column/macinfo/1370312.html

https://www.monk-jp.com/220216/

# 今回のゴール
### 何をするのか？
Macで趣味用と開発用で環境を分けること
### どうやってやるのか？
デフォルトの環境に加えて、ボリュームを新たに追加して、合計で２つのボリュームを用意する。それぞれのボリュームを趣味用・開発用で使い分ける。

```
〜今回やることのイメージ〜

デバイス
└── パーティション
    └── コンテナ
        ├── ボリューム1（趣味用の環境）
        └── ボリューム2（開発用の環境）
```

### 今回やらないこと
**APFSとは何か？** のような解説記事ではありません。
APFSそのものの詳細を知りたい方は前述の参考記事などを参照してください。

# 実際にやってみる

今回実施した環境は以下の通りです。
<table>
  <thead>
    <tr>
      <th>名前</th> <th>説明</th>
    </tr>
  </thead>
  <tr>
    <td>端末</td> <td>MacBook Air Retina, 13-inch, 2020</td>
  </tr>
  <tr>
    <td>容量</td> <td>256GB</td>
  </tr>
  <tr>
    <td>OS</td> <td>Sonoma 14.3.1</td>
  </tr>
  <tr>
    <td>プロセッサ</td> <td>1.1 GHz デュアルコアIntel Core i3</td>
  </tr>
  <tr>
    <td>状況</td> <td>工場出荷時の状態からスタートする</td>
  </tr>
</table>

### 1. デフォルトのAPFSの状況を確認する

ディスクユーティリティを開きます。

<details><summary>ディスクユーティリティとは</summary>
ディスクユーティリティとは、Macの内蔵および外部のストレージデバイスを管理するところです。

[Macのディスクユーティリティの概要](https://support.apple.com/ja-jp/guide/disk-utility/dskutl1029/mac)

</details>

![0-スクリーンショット 2024-02-23 20.23.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/0407126e-e845-b114-555a-7277d9868f95.png)

ディスクユーティリティを開いたら、左上にある **表示** をクリックします。
![1-スクリーンショット 2024-02-23 20.24.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/e3c76223-b1c7-8f71-3c8f-839fc9d60694.png)


**すべてのデバイスを表示** を選択します。
![2-スクリーンショット 2024-02-23 20.26.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/091db76a-f745-c5d2-0245-45c799eb466c.png)

左側のサイドバーを見ると、一番上が *APPLE SSD AP0256N Media* となっており、 **パーティションマップ** となっています。
これがデフォルトで作られるパーティションのようです。
![3-スクリーンショット 2024-02-23 20.26.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/5039d211-97cf-624a-f932-2c3279529574.png)

```
デバイス
└── パーティション　←ここのこと
    └── コンテナ
        └── ボリュームグループ
            └── ボリューム
```


続いて*コンテナdisk1* を見ると、 **APFSコンテナ** となっています。
これがデフォルトで作られるコンテナのようです。パーティションの直下にいます。
![4-スクリーンショット 2024-02-23 20.27.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/5c34b2bf-9f57-fb43-9da5-5652e61839fb.png)

```
デバイス
└── パーティション
    └── コンテナ　←ここのこと
        └── ボリュームグループ
            └── ボリューム
```

*Macintosh HD ボリューム* を見ると **ボリュームグループ・APFS** となっています。
これがデフォルトで作られるボリュームのグループのようです。
![5-スクリーンショット 2024-02-23 20.29.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/a90f383b-fce1-b295-0ed7-ef78875a8d33.png)

```
デバイス
└── パーティション
    └── コンテナ
        └── ボリュームグループ　←ここのこと
            └── ボリューム
```

*Macintosh HD* を見ると **APFSシステムボリューム・APFS** となっています。
これはボリュームなのですが、システムボリューム、つまりボリュームを起動させる設定ファイルなどのシステムファイルが入ってるので、削除や消去などができないようにグレーアウトしています。
![6-スクリーンショット 2024-02-23 20.30.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/0a3c167b-ab0d-1c1c-bf5d-db7449523e87.png)

*Macintosh HD ス・・・* を見ると **APFS起動スナップショット・APFS** となっています。
これはボリュームの状態を切り取ったスナップショットです。
おそらくバックアップなどで利用されるのかな？今回の作業には特に関係ないのでスルーして大丈夫です。
![7-スクリーンショット 2024-02-23 20.32.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/cc0e9bcd-5ed9-c7e1-83db-3151f90d227f.png)

*Macintosh HD Data* を見ると **APFSデータボリューム・APFS** となっています。
ここに実際のデータが入ります。
![8-スクリーンショット 2024-02-23 20.32.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/1fd49ae5-8cfe-0a4b-664a-5d5b5998de66.png)

```
デバイス
└── パーティション
    └── コンテナ
        └── ボリュームグループ
            └── ボリューム　←ここのこと
```

### 2. ボリュームを追加する
今回のゴールである開発用環境のボリュームを新たに追加します。
上部のボリュームの **+** をクリックします。
![9-スクリーンショット 2024-02-23 20.35.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/617b6bc7-279f-e223-c229-a55539eaa472.png)

**APFSボリュームをコンテナに追加しますか？** と表示されるので、任意の名前を入力して **追加** をクリックします。
ちなみに今回は *develop* という名前のボリュームを追加します。
![10-スクリーンショット 2024-02-23 21.08.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/9ddeca4c-3fef-9fc8-0b18-90bfdbf3f5a2.png)

**完了** というボタンが表示されたらそのままクリックします。
![11-スクリーンショット 2024-02-23 21.09.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/cf8100c5-d154-f994-22c8-d5877cb7d902.png)

そうするとサイドバーに新たに *develop* という項目が追加されていて、 **APFSボリューム・APFS** となっています。
無事、新しいボリュームが追加されました。
![12-スクリーンショット 2024-02-23 21.29.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/46296681-56df-5795-4c00-4f1744668402.png)

```
デバイス
└── パーティション
    └── コンテナ
        ├── ボリューム1
        └── ボリューム2　←ここのこと
```


### 3. 追加したボリュームに環境をセットアップする
さて、ボリュームの追加はできましたが、今の *develop* は何も入っていない空っぽのボリュームです。
（厳密には、ボリュームを作ると、そのボリュームの中に自動的にディスクが作成されるのですが、そのディスクが中身の何もない空っぽという意味です。）
実際に使えるようにするため、そのボリューム内のディスクにOSのインストール作業が必要です。
上記の作業が終わったら一旦シャットダウンをします。
そして **リカバリーモード** で起動させます。

:::note warn
リカバリーモードとは、OSの再インストールなどの復旧作業を行うために特殊なキー操作でMacを起動させることです。
Macのリカバリーモードにはいくつか種類があるのですが、今回は、
 **Option＋Command＋Rキー**
 を押しっぱなしの状態で電源ボタンを押して起動します。

[Intelプロセッサを搭載したMacでmacOS復旧を使用する](https://support.apple.com/ja-jp/guide/mac-help/mchl338cf9a8/mac)
:::

リカバリーモードで起動してしばらくすると以下のような画面が出てくるはずなので、 **「macOS Sonomaを再インストール」** を選択して、 **続ける** をクリックします。
![IMG_6586.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/2a9ab778-8e83-4083-e598-dee699ea3118.jpeg)

**「続ける」** をクリックします。
![IMG_6587.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/8b4a709d-5794-41ae-d582-c4b2449ab7cc.jpeg)

使用許諾条件を読み、 **「同意する」** をクリックします。
![IMG_6588.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/232d3956-d5e7-45c7-e993-2974df2822dd.jpeg)

さらに聞かれるので **「同意する」** をクリックします。
![IMG_6589.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/bcbf5f25-d168-7295-787a-d9a76edb3045.jpeg)

そうするとmacOSをどのディスクにインストールするのか選ぶ画面になるのですが、ここで先ほど新たに作った **develop** が表示されていたらOKです！
developを選択して、 **「続ける」** をクリックします。
![IMG_6591.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/0fdd4f5c-39a8-a82f-e4f2-6c39c5ed5b70.jpeg)

あとは自動的にmacOSのインストールが始まるので、完了するまでしばらく待ち、無事にdevelopディスクでmacOSが起動すればOKです！
あとは普通にお好みの初期設定を済ませてください。
これで趣味用の環境と開発用の環境を別々のディスクで用意することができました。

ちなみに、以下の画像を見てもらうとわかりやすいと思います。
2枚目の青い部分がmacOSの容量になります。
1枚目：OSインストール前
2枚目：OSインストール後

![12-スクリーンショット 2024-02-23 21.29.05のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/0ef9987a-6c1a-b980-8ddd-b488624dda5c.png)

![dev1-スクリーンショット 2024-02-23 5.46.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/32231c24-018d-f41b-ecc3-a757a3c83842.png)

### 4. ディスクを使い分けるには？
一旦シャットダウンします。
電源が落ちてる状態から **optionキー** を押しっぱなしで電源を入れてください。
しばらく待つと以下のような画面が表示されるので、起動したい方のディスクをダブルクリックすると、そのディスクで起動されます。
![IMG_6605.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/64c3ac20-77c1-ee7e-690e-a5ca525c6948.jpeg)

::: note alert
ディスクの下にある **ネットワークを選択・・・** でWi-Fiネットワークを選択して接続すると **リカバリーモード** の画面に行ってしまうので触らないこと！
:::

### 5. デフォルトの起動ディスクを設定する
システム設定を開き、一般 → **起動ディスク** を選択します。
![スクリーンショット 2024-02-27 9.04.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/b04657e8-f6c2-0b91-103c-cb91fb097bd7.png)

ここでデフォルトの起動ディスクを設定します。
今回私は、最初に作られた方のMacintosh HDをデフォルトにしたいので、 **Macintosh HD** を選択した状態で **再起動** をクリックすると、Macintosh HDの方で再起動されます。

この設定により今後は、電源が落ちてる状態から通常通り電源ボタンを押して起動させるとMacintosh HDで起動することになります。

![スクリーンショット 2024-02-27 9.07.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1230266/b5341c87-b7bd-61da-6188-ba43c9b71e54.png)

### 6. まとめ
今回の作業で趣味用と開発用で環境を分ける手順を紹介しました。
この要領さえ分かれば、後から環境を増やしたり減らしたりすることがとても簡単にできます。
今回はやっていませんが、外付けSSDストレージにボリュームを作ってそこに環境を作ることもできるので、物理的な容量も外付けでどんどん増やすことは可能ですね。（お金があれば）
これを機に私自身もAPFSについてもっと調べて、快適なMacライフをエンジョイしたいと思います。
最後まで読んでいただきありがとうございました。