私たちはこれまでも、「本当にできる、macOSをボタン一つで再インストールする方法 」というタイトルのブログも含め、このトピックのブログをいくつか掲載してきました。 まっさらなオペレーティングシステムを再インストールするというアイデアは、管理者がこれまで頑なに守ってきた「コンピュータを再利用する前や廃棄する前、もしくはトラブルシューティングに失敗した時には、コンピュータのドライブを完全に消去して再インストールする」という習慣から生まれたものです。
Appleは、この完全消去と再インストールの必要性を実質的に排除し、オペレーティングシステムに触れずにデータだけを消去する方法に置き換えました。そして、IT管理者やセキュリティの専門家がこのことに一抹の不安を感じていたとしても不思議はありません。消去と再インストールの習慣は、1990年代にコンピュータがデスクに常設されるようになった頃から続いているものです。
しかし、「昔からそういうふうにやってきたから」というのは、macOS Montereyで初めて搭載されたこの新機能を避ける理由にはならないでしょう。 このブログでは、以下の内容について見ていきます。
- 「すべてのコンテンツと設定を消去」オプションの仕組み
- 「すべてのコンテンツと設定を消去」オプションがmacOSに搭載された経緯
- すべてのコンテンツと設定を消去する」オプションのセキュリティ
- 「すべてのコンテンツと設定を消去」オプションの実行
- 例外的にすべてを完全に消去してインストールする必要があるケース
私たちの目標は、Macのディスク全体を消去するという習慣を過去の産物にすることです。
「すべてのコンテンツと設定を消去」オプションの仕組み
このオプションは少なくとも十数年前(iPhone 3以降)からiOSに存在しています。これは、iOSを再インストールすることなくiPhoneを安全にリセットするための方法としてAppleが独自に設計したものです。iPhoneは元々消費者向けの製品であり、このプロセスは消費者に優しいものでなければなりませんでした。
そこで、Appleは2つのことを行いました。
まず、iPhoneに保存されるデータは必ず暗号化されます。これに暗証コードを追加することで、消費者はデバイスを使用する際に暗号化を解除し、使用していないデータを保護する手段を手に入れたのです。しかし、消費者がiOSのオペレーティングシステムそのものに直接触れることはできませんでした。ユーザがOSに手を触れ、変更を加えることをAppleは望んでいなかったからです。
次にAppleが行ったのは、iPhoneのストレージを、読み取り専用のパーティションと書き込み可能データ用のパーティションに分けることでした。このようなOSのパーティションはアップデートの適用時のみに変更され、通常の使用時には、読み取り専用で変更不可能なままでした。
iPhoneを売却するとき、あるいは誰かに譲るとき、「すべてのコンテンツと設定を消去」機能を使用することで、データパーティションの暗号鍵のみが削除され、OSのパーティションはそのまま残ります。この方法のメリットは、なんといってもスピードと利便性です。OSは残るので再インストールの必要はなく、最後に適用されたアップデートと同じ状態が保たれます。
「すべてのコンテンツと設定を消去」オプションがmacOSに搭載された経緯
しかし、Macにはつい最近まで、このようなスピードと利便性を備えたオプションは存在しませんでした。これは、iOSに最初から内蔵されていたセキュリティレベルに追いつくために、時間をかけて大きな変更を重ねる必要があったからです。
移行が始まった正確な時期は曖昧ですが、SIP(システム整合性保護)が導入されたOS X El Capitan 10.11を目安に考えるのが妥当でしょう。SIPは、マルウェアのような外部の脅威、あるいは管理者が直接OSに触れることのできる能力を奪うもので、Macのオペレーティングシステム保護の先駆けとなりました。OSに変更を加えるためには、まずRecovery HDを起動してSIPを無効化する必要があり、 これは実際にそのコンピュータの前に座っている人間にしかできないことでした。
その後の数回のメジャーアップデートを経て、オペレーティングシステムのより多くの部分にSIPが適用されるようになりました。また、セキュリティをさらに強化するため、macOS High Sierra 10.13でApple File System(APFS)が採用され、ドライブ上のデータを処理する方法を大きく変えるための水面下の準備が始まりました。さらに、ファームウェアによってオペレーティングシステムを特定のハードウェアシステムに結びつけるプロセスが導入され、インストールの段階でインターネットに接続し、マシンに合った特定のファームウェアバージョンをダウンロードすることが求められるようになりました。
2017年にはオペレーティングシステムではなくハードウェアに特化した新たなセキュリティ機能であるT2セキュリティチップが導入されました。このチップは、2020年後半に導入されたAppleシリコンチップと同様に、macOSのインストールの安全性において重要な役割を担いました。これらのチップのおかげで、iOSデバイスの場合と同じように、Macのディスクが開封後すぐに暗号化されるようになったのです。
2018年3月にリリースされたmacOS High Sierra 10.13.4のインストーラには新たにstartosinstallコマンドが含まれており、ディスク上のオペレーティングシステム(ユーザデータも含む)を完全に消去し、macOSを新たにインストールするためのオプション(--eraseinstall
)が利用できるようになりました。コマンドラインツールであるstartosinstallはリモートで呼び出すことも可能で、誰かがコンピュータの前に座り、前もって外付けドライブで起動させておく必要がなくなりました。
さらにMacOS Catalina 10.15では、コンピュータのディスクを読み取り専用のオペレーティングシステムと書き込み可能なユーザデータ用のパーティションに分割するプロセスが導入され、まもなく「すべてのコンテンツと設定を消去」オプションが到来することを予感させました。そしてこれは、システムボリュームの整合性をチェックするためにインストール時と起動時に厳格なチェックサム検証を行う、macOS Big Sur 11.0で導入された署名付きシステムボリュームの基盤となりました。
こうしてすべてのピースが揃い、macOS Montereyで「すべてのコンテンツと設定を消去」が導入されるに至ったのです。startosinstallコマンドと--eraseinstall
を使った以前の方法では高速なMacで約20分、モデルによってはもっと時間がかかっていましたが、新しいプロセスはたったの4~5分と飛躍的にスピーディーになりました。
「すべてのコンテンツと設定を消去する」オプションのセキュリティ
「すべてのコンテンツと設定を消去」オプションはローカルの管理者によって実行でき、以下のことが可能になります。
- iCloudを含むすべてのAppleのサービスからエンドユーザをサインアウトさせる
- Touch IDから指紋を取り除く
- Bluetoothアクセサリのペアリングを解除
- Macに対して「デバイスを探す」やアクティベーションロックを無効化する
- アプリ、データ、ユーザ設定を消去
- Boot Campを使用してシステムボリュームを含む他のすべてのボリュームを消去
同様に、Jamf NowやJamf Pro、Jamf Schoolなどのモバイルデバイス管理(MDM)サーバからEraseDevice
コマンドを送信すると、ドライブ全体を消去するのではなく、macOS MontereyおよびVenturaが搭載されたコンピュータで「すべてのコンテンツと設定の消去」を実行することができます。
「すべてのコンテンツと設定の消去」を実行すると、まずオペレーティングシステムが改造されたり破損していないことを確認します。これはどのような仕組みになっているのでしょうか?
ここで重要になるのが、T2チップやAppleシリコンのチップです。各チップには「Secure Enclave」と呼ばれる領域が存在し、そこに各Macに固有の暗号鍵が格納されています。暗号鍵は、署名されたシステムボリュームのロック解除を可能にするものです(システムボリュームはデバイスを開封した時すでに暗号化されています)。
「すべてのコンテンツと設定を消去」を実行した際に、暗号鍵が署名されたシステムボリュームと一致しなかった場合は、macOSの再インストールが必要であることを示すアラートが表示されます。つまり、改造されたり、破損した状態のmacOSシステムがコンピュータに残ることを防いでくれるのです。そして、新たなオペレーティングシステムはAppleから直接手に入れるしか方法がありません。
しかし、もし管理者が自分で改造したオペレーティングシステムをインストールしようとした場合はどうなるのでしょうか?これは不可能なことではありませんが、それができるのは「完全なセキュリティ」から「低セキュリティ」(Appleシリコンの場合)または「セキュリティなし」(Intelの場合)へとMacのセキュリティを引き下げた場合のみです。このタイプのセキュリティは、低レベルのソフトウェアをテストする必要がある開発者を主に対象としています。
「すべてのコンテンツと設定を消去する」には、もうひとつ重要な役割があります。Macのセキュリティレベルが引き下げられていた場合、再び「完全なセキュリティ」に再設定し、Secure Enclaveと暗号鍵で署名されたシステムボリュームのすべてのセキュリティを元の状態に戻してくれるのです。
Jamf Proを搭載したIntelまたは AppleシリコンベースのMacのセキュリティレベルを確認するには、[コンピュータ] → [インベントリ] → [セキュリティ]を選択します。または、セキュアブートレベルを指定してコンピュータの詳細検索やスマートグループを作成し、リストを作成します。
Jamf Proがセキュリティの低下を報告しても、「すべてのコンテンツと設定を消去」またはEraseDevice
コマンドを正常に実行するだけで、Macをもっとも安全な設定に戻すことができることを覚えておくと便利です。
「すべてのコンテンツと設定を消去」オプションの実行
「すべてのコンテンツと設定を消去」オプションはエンドユーザがコンピュータ本体から直接行う方法と、MDM管理者がEraseDevice
コマンドを1台または複数のコンピュータに送信する方法があり、どちらも条件は同じです。
- T2セキュリティチップが搭載されていること(Intelベースのコンピュータの場合)
- Appleシリコンベースのコンピュータはすべて「すべてのコンテンツと設定を消去」に対応済み
- macOS Monterey 12.0以降を搭載していること
- コンピュータ本体からコマンドを実行する場合、現在のログインアカウントが管理者のものであり、iCloudからサインアウトするために必要な認証情報を持っていること
macOS Venturaでコマンドを実行するには、[システム設定(旧システム環境設定)] → [一般] → [転送またはリセット]と進み、[すべてのコンテンツと設定を消去する]をクリックします。消去アシスタントが表示されたら、まず管理者の認証情報の入力が求められます。
次に、コンテンツや設定に加えてこれから削除される項目が表示されます。
コンピュータがiCloudに接続されている場合、管理者はアカウントのApple IDのパスワードの入力を促されます。
認証後、「すべてのデータ、設定、アプリが消去され、元に戻せなくなる」ことを通告するメッセージが表示されます。
Macをアクティベートするため、コンピュータが一時的に「復旧」モードで再起動します。ここでエンドユーザが何もしなければ、約60秒後に再起動します。このプロセスでも、インストールされているmacOSの整合性を確認するためにSecure Enclaveに保存されている暗号鍵が使用され、必要に応じてセキュリティレベルが「完全なセキュリティ」に戻ります。
約4~5分後に「こんにちは」と多言語で表示されたら、コンピュータが出荷時の状態にリセットされ、セキュリティが完全な状態に戻ったことがわかります。macOSのインストールが必要であるというメッセージが表示された場合は、既存のシステムが破損していることを意味しています。その場合は、復旧Appから新たにmacOSシステムのダウンロードとインストールを行うことができます。
しかし、iCloudアカウントにサインインしている状態でMDM管理者がEraseDeviceコマンドを送信したらどうなるでしょうか。
まず、Jamf Proから1台のコンピュータだけにEraseDevice
コマンドを送信する場合は、[コンピュータ] → [管理] → [管理コマンド] → [コンピュータをワイプ]を選択します。コンピュータが「すべてのコンテンツと設定を消去」オプションに対応している場合(前述の条件を参照)、ユーザデータと設定だけが消去されます。「すべてのコンテンツと設定を消去」オプションに対応していないコンピュータでこのプロセスを行うと、すべて(オペレーティングシステム、ユーザデータ、設定)が消去されるので気をつけてください。
このコマンドを送信するために、アクティベーションロックの解除を有効にし、リモートワイプパスコードを提供しなければならない場合があります。
アクティベーションロックの解除にはコンピュータをiCloudアカウントから切り離す働きがあります。一方、リモートワイプパスコードはリモートロックが有効になっている場合のみ使用できます。リモートロックが有効になっていない場合は、任意の6桁の数字を使用すれば問題ありません。「コンピュータをワイプ」を選択したら、続行するかどうか最後にもう一度確認があります。
コンピュータがiCloudに接続されていない場合、またはアクティベーションロックを防ぐJamf ProのPreStage Enrollment(事前登録)経由でコンピュータが登録された場合は、アクティベーションロックを無効にするオプションは適用されません。その場合、アクティベーションロックが解除できなかったというメッセージが表示されますが、そのままOKをクリックして進んでしまって問題ありません。
EraseDevice
コマンドを複数のコンピュータに送信する唯一の方法は、Jamf Pro Classic APIを使用することです。コンピュータの詳細検索やスマートコンピュータグループの下にあるアクションボタンで実行することはできません。また、最新のJamf Pro APIのバージョンはまだこの機能をサポートしていません。
Classic API を使用してEraseDevice
コマンドをコンピュータに送信するための基本的なスクリプト構文は次のようになります。
最後の文字列を入力する際には、「123456」の代わりにコンピュータをデバイスロックから解除するための6桁のパスコードを入力し、「1,5,18,24」と表示されている部分にはコンピュータのJamf IDを羅列してください (Classic APIはIDによってしかコンピュータを選別することができません)。
このスクリプトの詳細は、こちらのGitHub gistで確認することができます。
Classic APIを使用して複数のMacにEraseDeviceコマンドを送信することは、学校などで学期ごとにMacをリセットする必要がある場合などに便利です。また、設定アシスタントを自動で進めるPreStage Enrollment(事前登録)オプションを併用することで、物理的なコンピュータに一切触れることなくリセット作業を行うことができる場合もあります。
例外的にすべてを完全に消去してインストールする必要があるケース
それでは、startosinstall
コマンドと --eraseinstall
を合わせて使うケースはもはや存在しないのでしょうか?
そんなことはありません。「すべてのコンテンツと設定を消去」オプションに対応しているmacOS MontereyやmacOS Venturaを、T2セキュリティチップが搭載されていない古めのコンピュータで使用しているケースが稀にあります。T2またはAppleシリコンチップを搭載したコンピュータでしか動作しないオペレーティングシステムがAppleからリリースされるまでは、startosinstall
コマンドは管理者のツールボックスに存在し続けるでしょう。
おそらく数年後には、Secure Enclaveが必須のmacOSのバージョンがリリースされるはずです。現在のiOSやiPadOSのように、クリーンなmacOSを再インストールする必要があるのは、カーネルとハードウェアの間の低レベルでOSを扱う開発者に限られると思われます。多くの平均的なデバイス管理者がこのような作業を行うことはほぼないでしょう。
結局のところ、「すべてのコンテンツと設定を消去する」オプションは、macOSとiOSがその距離を縮め、最終的にひとつのOSになる日まで続く、Appleの長い開発の道のりを助ける機能のひとつでしかありません。このプロセスには時間がかかりそうですが、その実現にAppleが積極的に取り組んできたのは確かです。
とりあえず、今私たちにわかっているのは、「すべてのコンテンツと設定を消去する」オプションが startosinstall に置き換わるものであること、そして、それがユーザデータの削除だけでなく、コンピュータを出荷時の設定にリセットするための安全な方法であるということです。
コンピュータの再導入を効率化したい方はぜひJamf Proをお試しください。
Jamfブログの購読
市場トレンドやAppleの最新情報、Jamfのニュースなどをお届けします。
当社がお客様の情報をどのように収集、利用、移転、および保存するかに関しては、プライバシーポリシーをご参照ください。