Mac mini (Late 2012)  Fusion DriveモデルをフルSSD化して快適なプログラミング環境を手に入れる

**以下の記事は参考情報として示したものですので、これを読んで作業した結果については一切の責任を負いません**

# 背景

自宅では約6年前に購入した Mac mini (Late 2012) Fusion Drive モデルを使っています。自宅には写真ライブラリのデータだけで400GBくらいあって容量が欲しかったものの、当時はSSDで1TBなんていったら目が飛び出るほど高かったため、Fusion Driveモデルを選んだのです。

普通に使っている分にはそれなりにディスクレスポンスも良く割と満足度は高かったのですが、やはり Xcode でバリバリビルドしたり VM Wareで Windowsを動かしたり、動画の編集をしたりするとディスクレスポンスの遅さに少し困ることが出てきました。

ふと Amazonをみたら 1TBの SSDが 2万円ほどで買えてしまうことに気づき、 **快適なプログラミング環境を手に入れるためにも、SSDに換装してしまうがよい！** と天の声が聞こえてきたので換装することにしました。

![スクリーンショット 2018-08-14 22.24.53.png](https://qiita-image-store.s3.amazonaws.com/0/41616/37898a71-3c71-82d6-2709-41c94256bde8.png)

※この記事は無事に換装を終えて快適になった Mac miniから書いています

# 懸案事項

Fusion Driveモデルのドライブを物理的にいじるのははじめてなので、色々と懸案事項がありました。

- Fusion Driveは 1TBのHDDと 128GBのSSDを論理的に合体させ、よく使うファイル(セクター?)をSSD上に保持することで高速性と容量を両立したもの
- Mac mini には物理的に2台のドライブしか内蔵できず Fusion Drive モデルは完全に埋まっている。そのため、128GBのSSDのみ取り出して1TBのSSDを内蔵し、1TBのHDDは内蔵したままにして単独のバックアップドライブとして使いたい。
- ところが、Fusion Driveは、2つの物理ドライブを分離してしまうとデータは読み出せず、**必ず２つセットで利用する必要がある**。そのため、ドライブを分離してしまうとデータが読み出せなくなってしまう。
- OSはせっかくなのでクリーンインストールして使い、Timemachineからはリストアしたくないが、そもそもFusion Driveからつくった Time Machineバックアップは「リストア先もFusion Driveでないと失敗する」という怖い情報を読んだことがあり、何かあったときにリストアできない不安がある。

普通のドライブ換装であれば取り出したドライブをHDDケースとかにいれれば旧環境にいつでもアクセスできるので、あまり心配せずにガンガンやっちゃうのですが、上記のように Fusion Driveは２台セットなので普通にはいかず、さらに構成が壊れてしまったらデータには二度とアクセスできなくなるのでは……、というのが心配でした。

(後述しますが、実際にはあまり心配いりませんでした

# 実行計画

不安はありましたが、以下の手順でやってみることにしました。

1. 念のため別のHDDに Timemachineバックアップ (僕は Timemachine用に2TBのHDDを持っていたのでそれでバックアップ）
2. 1TBのSSDをUSB接続のSATAドライブケースに入れて、外部ドライブとして接続
3. それに macOSをクリーンインストールして起動
4. 内蔵ドライブ(Fusion Drive)から必要なデータ類を1TB SSD側にコピー
5. うまく動いているのを確認したら Mac miniをバラして、128GBのSSDをとりはずし、1TBのSSDと交換 (Fusion Driveは機能しなくなる)
6. 内蔵した 1TB SSDから起動できることを確認したら、1TBの HDDはフォーマットして何かに使う

結果としては、この手順でうまくいきました🎉

## 作業の詳細

### Timemachineバックアップ
こちらは念のため取っておきましたが、結果的にはこちらを使わなくても問題なかったので、どうしても用意できない場合は無しで行くのも不可能ではありません（推奨はしません）。

### 1TBのSSDをUSB接続のSATAアダプタに入れて、外部ドライブとして接続
こういう時のために１つ持っておくと便利です。USBで Mac に接続するだけで特に難しくはありません。

![IMG_0834.JPG](https://qiita-image-store.s3.amazonaws.com/0/41616/6bbea410-2cf3-94a6-14db-e9688c585010.jpeg)

最初にフォーマットように言われますが、今回は APFSボリュームとしてフォーマットしてみました。

### それに macOSをクリーンインストールして起動
「⌘+R」を押しながら Mac を起動してリカバリーモードに入り、macOSのインストール先として今フォーマットしたUSB接続の1TB SSDを選ぶだけです。

### 内蔵ドライブ(Fusion Drive)から必要なデータ類を1TB SSD側にコピー

1TB SSDに インストールしたOSから起動すると、内蔵されている Fusion Driveは普通にマウントされた状態で起動しますので、あとはひたすらコピーするだけです。

ちょっと面倒だったのは、旧OSと新OSでユーザIDが変わってしまったことです。そのため、 `/Users/xxxx/` 以下のフォルダが開けず、スーパーユーザーでコピー作業をしないといけませんでした。（するとオーナーが変わっちゃうのでchownも必要……）

この辺はもう少しうまいやり方があったかもしれませんが、力ずくでやってしまいました。

あ、あとキーチェーンの中に Xcodeで使っている秘密鍵（自分の証明書）がある場合は事前にファイル(.p12ファイル)としてエクスポートしておくのをお勧めします。

### SSDの換装

こちらをみながら作業しました。
https://sekinesan.jp/blog/2017/05/23/17203

念のため、Amazonで似たような分解キットを購入しましたが、やってみて本当に必要だったのは以下のツールのみでした。

- T6とT8のトルクストライバー
- ピンセット（キット付属のヘラでケーブル外すより、ピンセットの方が楽でした）
- ロジックボードを引き出すときに取っ手となる金属棒（キット付属のものを使ったが他のもので代用可能）

なお、キットにはMac mini専用のSATAの接続ケーブルもはいっていますが、 **Fusion Driveモデルを買った人は、２台分のSATA接続ケーブルが最初から内蔵されているので不要です。** 

※ ただし Mac mini 2014モデルとかだと、 [通常の2.5インチSSDではなく PCIe接続のSSDが載っている](https://applech2.com/archives/41487920.html) という話もあるのでご注意

うまくバラせたら 128GBのSSDを 1TBのSSDと差し替えます。上記記事ではHDDマウンタまでバラしていますが、僕の Mac miniでは SSDは下段に入っていたので、ロジックボードを引き出すところまででOKでした。(ややこしいですが裏返して開くので、バラすと手前に見えるのが下段のドライブです。下段の方がアクセスしやすいのです）


### 起動確認

そのまま電源を入れれば 1TB SSDにインストールした macOSが起動するはずです。

このとき、内蔵 1TB HDDは Fusion Driveとして構成されているにも関わらず、片割れの 128GB SSDがいないため、ドライブとしては使えない状態になっています。

**ここで「もしや」と思って試してみたのですが、取り外した128GBのSSDを、SATAケースに入れてUSB接続したら、Fusion Driveとしてアクセス可能になりました！**

これならコピーし忘れたファイルがあっても、普通にファイルとしてアクセスできますので安心です。（これができない場合は Timemachineからコピーする予定でした）

# Fusion Drive 結構柔軟です

今回の一番の収穫は **Fusion Driveの片方を外して、外部ケースに入れてUSB接続しても、 Fusion Driveが壊れずにマウントできることがわかった** というところです。

普通に起動ディスクとしても選べるので、SSDを入れ替えた後に何か忘れていたことがあっても旧OSでブートできるということです。これは作業をする上でとても心強いです。

これができることがわかっていれば、もう少し早く換装していたかもしれません。

# 今後
しばらく生活してみて、コピー忘れのファイルなどがなければ、 `diskutil cs delete` コマンドをつかって Fusion Drive構成を解消し、内蔵 1TB のHDDを Timemachineバックアップか、その他のデータ置き場かなにかとして使おうと思っています。

おしまい。