M1/M2 Macで OSのUSB インストーラーが作成できない
M1/M2 Macで OS USB インストーラーが作成できない
Mac OS インストール用USBディスクを作成
Apple Silicon搭載の M1/M2 Macで、「createinstallmedia」 コマンドを実行すると zsh: killed sudo --volumes/MyVolume とエラーがでます。
AppleのApp Storeのすべてのアプリは、セキュリティ(マルウェアやウィルスを防ぐ)のために「コード署名 (Code Signature)」されています。Apple Silicon搭載のMacでは、アプリに対する追加のコード署名要件があり古いOSでは「createinstallmedia」コマンドが実行できないようになっています。
古いOSの「createinstallmedia」コマンドを実行するには「Codedesign」コマンドで、新しい署名コードを生成して古い署名コードと置き換える必要があります。
codedesignコマンドは、Mac OS 10.5.0 (Leopard) で初めて登場しました。
こちらのサイトを参考にさせていただきました。
Xcodeのインストール
「Codedesign」コマンドを実行するために、Xcodeが必要となりますのでインストールします。アプリケーションから「ターミナル」を起動して以下コマンドを入力します。
※インストール済みの方は飛ばしてください。
xcode-select --install
ナビゲーションに従ってインストールを進めます。
「Codedesign」コマンドの実行
ここでは、macOS 10.13 High Sierraのインストーラーを例に「署名の置き換え」を行っていきます。
cd /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/
codesign -s - -f createinstallmedia
createinstallmedia: replacing existing signature となり署名が置き換わりました。
codesign :コード署名を作成および操作する
-s sign:アイデンティティ この ID を使用して、指定されたパスでコードに署名します。
-f --force :署名時に、codesignによって既存の署名が置き換えられます。
例えばmacOS 14 Mojaveの場合は
cd /Applications/Install\ macOS\ Mojave.app/Contents/Resources/
codesign -s - -f createinstallmedia
「createinstallmedia」コマンドの実行
再度macOS 10.13 High Sierraの「createinstallmedia」コマンドを入力すると、ディスクの作成が始まります。
また、「createinstallmedia」コマンドを入力して、"Bad CPU type in executable"となった場合は、「Rosetta 2」が必要になります。
※「Rosetta 2」は古めのアプリなどをインストールすると自動的に入ったりします。
「Rosetta 2」のインストール
下記コマンドを入力
softwareupdate --install-rosetta
Type A and press return to agree: と聞いてきますので、「a」を入力してEnterすることで「Rosetta 2」のインストールが完了します。
以上、MacLabでしたー !!