Engine's blog

MVNOやガジェットに関する散財履歴、れびゅー、エンジニア的な技術に関する何か

mac OS X(Catalina 15.1) を外付けSSDにインストールして心理的安全を保つ方法

はじめに

筆者はただのガジェットオタクです。
macのシステム内部等についてはとんと疎いので、ガチサーバーエンジニアやインフラ自信ニキはブラウザバックしてどうぞ、といったかんじで筆者の心理的安全を保全させてください(ノミの心臓

ことの始まり

インフラエンジニアとして7年働いてきまして、基本的にはWindowsで事足りてきました。
というより数年前まではインフラ管理をするにあたり必要なツール類はだいたいWindows向けしか提供されておらず、
筆者の所属企業がNW専門だったこともありコンソールケーブルのモジュール的な意味でWindowsしか選択できませんでした。

なので、基本的に自宅にはWindowsマシン2台、ESXiサーバー1台、使徒不明な1Uサーバー(DL360)1台というまさにインフラエンジニアの鑑のような構成でした。

ただ、元々私はサーバーエンジニアであり、またNWの会社で話のわかる人間がいなかったことも手伝ってある時開発系案件のPM(とインフラの設計構築運用)を振られました。
で、気づけばその際に縁を持ったプログラマに師事して自身もプログラマに転向しておりました。
(現在はPG職1年です)

そんな転換期、Appleが数年ぶりにmac miniをリリースするという情報が入り、子持ち弱小エンジニアである私は飛びついたわけですよ。 開発するならmacだよね!!でもたけえからかえねえよお..mac mini安いしかうしかねえ!!と。

でね、買うときに思ったんです。

「おれ、サーバーエンジニアだしストレージなんてネットワークストレージ組めば余裕っしょ。組むの自体簡単だし。」
「むしろその方がWindowsからも編集データ見れるし、シームレスに環境が移動できて楽じゃね?」
「よーしmac miniのストレージは最小でいこかー(ポチー」

今からマカーになるApple信者予備軍のみなさん、決して僕のように お布施をケチらないでください

Apple製品を買う際には、思っているより1グレードあげて買うことをお勧めします。

というか電子機器を買う際は1,2グレードあげて買うのが基本です。
でないと新製品が好サイクルでリリースされる現代では機能不足に陥りがちで すぐに粗大ゴミいきになってしまいます
特にapple製品はそのけが強いので用心が必要です。

Catalinaへのアップグレードでエラーが一生でる

先日Catalinaにアップグレードを行おうとしたところストレージの不足エラーが発生しました。
お布施をケチったせいではあるんですが、40GBも空きがあって容量不足のエラーを出されるとは思いませんでした。だって初期ストレージ容量の30%もあいてるんですよ?

一応これには原因があるようで、Timemachineというmacのスナップショット昨日が悪さをしている場合に起こるようです。
(アップデートパッケージを保持した状態でtimemachineのバックアップが走ると、このパッケージもTimemachineのスナップショットに含まれてしまうっぽい)

なので、Timemachineの直近のスナップショットをドロップすればいけたりはするんですがそれにしても次回のアップデート時にはもっとファイルが増えていて整理がつかないせいでアップデートできないとか十分あり得ます。

ということで外部ストレージにOSを入れることでいつでもストレージをいつでも換装できる状態にして安心しようというのが今回の経緯です。

またしてもいつも通り前置きが長いですね。本題にいきましょう。

免責

本手順は全ての動作を保証するものではありません。
多少なりとmacOSやPCというものに対する事前知識が必要な作業です。
本手順にのっとった作業であっても一切の責任をおいかねますので、全ての工程において自己責任で実施ください

Appleの規約について

外部ストレージへのインストールは、現在の内部ストレージを含め原則2箇所まで許可されています。 2019/11/14段階で規約を読む限りそもそもそれっぽい記述も見当たらないのだけど..

復旧用と通常用という意図で許諾されているものだと思います。 というのもSnow Lepard(綴り自信なし)あたりからOS単体での販売が行われていないので、復旧させる方法として許可されていると考えれば当然といえば当然だとも思う。

以降からやっと本題です。


準備した物

  1. M.2 SSD

Crucial SSD M.2 1000GB P1シリーズ Type2280 PCIe3.0x4 NVMe 5年保証  正規代理店保証品  CT1000P1SSD8JP

Crucial SSD M.2 1000GB P1シリーズ Type2280 PCIe3.0x4 NVMe 5年保証 正規代理店保証品 CT1000P1SSD8JP

  1. NVMe対応のM.2 SSD外付けケース(USB Type-C対応) - amazon

PCIE接続の内臓ストレージと比べて転送速度が落ちてしまうと普段使いでどうしてもストレスになってしまいます。
なので今回はCrucialのM.2 SSD 500GBを用意しました。
また、外付けようケースとして NVMe対応 且つ Type-C に対応したケースを選定しました。
M.2 SSDの外付けケースはまだあまり出揃っていないようで、またNVMe対応でないケースだと動作しないため注意が必要です。

ただ転送速度は2.5inchのSSDでも変わらないと思うので、転送速度がなるべく早い物を選定するようにしてください。
リンクのものは最大転送速度10Gbpsです。ただM.2SSD側が5000MB/sだった気がするのでオーバースペック。。まあケースがボトルネックになるよりいいでしょう。
また、リンクはアフィリンクではないので安心して踏んでいただいて大丈夫です。一円も僕の手元には入りません。入ったところで微々たる数字なので。。

手順

比較的最新のMACだとApple T2 セキュリティチップというものが搭載されているようで、外部ストレージからのOS起動を抑制するようになっています。 (端末ののっとり防止策ですかね?) なので、「MAC 外付けSSD OSインストール」とかで検索した結果の記事通りに実施しても「macOSが検証できません」というエラーが発生して一生完了しません。

うまくいかない具体例

  1. 外部ストレージを初期化
  2. App Store よりOSのアップグレードパッケージをダウンロードする
  3. Launcherなどからインストール用のアプリケーションを起動する
  4. インストールディスクを外部ストレージにして進める

正しい手順

  1. 外部ストレージを初期化
  2. MACを再起動する
  3. 再起動の起動時に 「command + r 」を押しっぱなしにする
  4. macのユーティリティ画面(リカバリ画面?)になったら 画面上部のユーティリティタブから起動セキュリティユーティリティ を開く
  5. 起動セキュリティユーティリティ画面の 「安全な起動」を セキュリティなし にして、「許可する起動メディア」を 外部メディアまたはリムーバブルメディアからの起動を許可 に変更
  6. ラジオボタンを付け替えたら画面左上の❌から画面を閉じて macosを再インストール
  7. インストール先を[1.]で初期化した外部ストレージを選択
  8. 画面の師事通りに進めるだけ

ストレージの初期化については

です。多分最新のフォーマット形式なので読み書き早いんじゃね?と安直なアレ。

安全な起動項目をセキュリティなしにして大丈夫か

Appleは、macのハードウェア全てについて検査を行い、標準的に組み込まれていない機器による動作を一切できないようにしています。
この制限を取り払った魔改造macをHachintoshとよんでたりします。

今回の外部ストレージはもちろん許可を受けていません。が、このチェックがついていることで外部ストレージの動作が不安定になり、ひいてはOSの起動も不安定になる恐れがあるため私はセキュリティを外しました。

外部メディアを許諾していないというよりセキュリティの観点から許可しない方が望ましいということでデフォルトは厳格に許可しない物になっているんだと思っています。
たぶん動作自体は保証外かもしれませんが、もとのメディアを破壊しているわけではないのでいつでも戻せますし、と思ってます。

とはいえAppleの公式にも手順自体は存在しているので行為自体に問題はないと思います。

support.apple.com

その他困ったこと

1. Appleの2段階認証が一生通らない

2段階認証を有効にしているとiPhoneなどapple製品にセキュリティコードが送信されますが、
どんなに正しいコードを入力してもエラー になる場合があります。

そんな場合は落ち着いてAppleIDの認証をスキップしてください。

インストール完了後、再度認証を求められた段階でやれば問題なく通ります。

2. もともと使っていた内部ストレージのデータが吸い出せなくなるのでは?と不安で夜しか眠れない

OSインストールプロセスの最後にデータの復旧ステップがあり、その際にディスクから復元でMachintosh HDを洗濯すれば完全に元に戻ります。
アプリデータも何もかもそのままだったのでびっくりしました。
(ただしセキュリティ設定系は初期化されていたので、terminalの権限など許可するなど帰ってきた部長の印鑑祭り状態でした)


以上です。 この記事にたどり着いた方にとって何らかの参考になれば幸いです。