asr restore による Mac の起動ボリュームのリストア
はじめに
- Apple 標準の asr コマンドを利用して、 Mac の起動ボリューム(デフォルトでは Macintosh HD)をリストアする方法です
- とはいえ、起動ボリュームか否かは関係なく、どのボリュームでも扱い方は同じです
- むしろ、起動可能なボリュームのイメージ作成の方にコツがある
- 今回は、イメージ作成についての詳細には触れません
検証環境
- MacBook Pro without T2 Security Chip (-2017)
- MacBook Pro with T2 Security Chip (2018-)
- macOS Mojave 10.14.6
asr コマンド
- asr は、 Apple Software Restore の略であり、その名の通りリストアを目的としたコマンドです
- Apple がどこまで公式にサポートしているのかはわかりませんが、起動ボリューム自体もリストア可能です
- ソースとなるディスクイメージの作成方法にコツがあったり、いろいろ苦労はありますが…
- 主に利用するのは、
asr restore
の形式です
asr restore
asr restore
は、以下のような形式で記述します
asr restore --source リカバリ元のディスクイメージやボリューム --target リカバリ先のディスクやボリューム --erase
オプションの説明
--source or -s
- リカバリ元のソースを指定
- ディスクイメージ でもいいし、それをマウントしたボリュームでも OK
- DMG 形式はそのまま指定できるが、 Sparse Bundle などではマウントしなければ指定不可能
--target or -t
- リカバリ先のターゲットを指定
/Volume/...
のようにボリュームを指定しても、 /disk/disk1s2
のようにディスクを指定する形式でも OK
--erase
リストア先のデータを削除する
利用例
トレーニング用に複数 Mac をリストアする
手順
- あらかじめ、全 Mac にパーティションを切っておく(ここでは Setup というパーティションとする)
- Carbon Copy Cloner (以下、 CCC)を使って、リストアイメージを格納したディスクイメージを作成する(ここでは Setup.sparsebundle とする)
- CCC を利用するのは、 Disk Utility で作成したイメージから戻すと bless に失敗して起動できず、その対処方法がわからなかったためです
- T2 Security Chip あり/なしの Mac 間では、同じイメージを使い回すことはできません
- イメージを全リストア対象の Mac の Setup パーティションにコピーする(残念ながらここは手作業)
asr restore
でリストア(2,3 分で完了)
最後に
- Apple としてはモノリシックイメージからのリストアは推奨していないものの、 asr コマンドについては WWDC 2019 のセッションで紹介しています
- APFS や T2 Security Chip との付き合い方は考える必要がありますが、学校やトレーニング企業ではイメージからのリストアは必須なので、今後も引き続き使い方を探っていきます