古い macOS をインストールする際に「ファイルが壊れている」エラーの回避方法


# 何が起こった

古いmacOSをCD（または`createinstallmedia`で作ったFlashドライブ）でインストールする際に

```
このMacOS ○○○インストールアプリケーションは破損しているため、macOSのインストールには使用できません
```

というエラーが表示され、インストールが進めません。これはパッケージの署名用証明書が2019年10月に期限切れているだからです。

## 持っているインストーラーが期限切れているかを確認する方法

```
$ hdiutil attach -noverify '/tmp/Install macOS High Sierra.app/Contents/SharedSupport/InstallESD.dmg'
/dev/disk4          	GUID_partition_scheme
/dev/disk4s1        	EFI
/dev/disk4s2        	Apple_HFS                      	/Volumes/InstallESD

$ pkgutil --check-signature /Volumes/InstallESD/Packages/OSInstall.mpkg
Package "OSInstall.mpkg":
   Status: signed by a certificate that has since expired
   Certificate Chain:
    1. Software Update
       SHA1 fingerprint: 1E 34 E3 91 C6 44 37 DD 24 BE 57 B1 66 7B 2F DA 09 76 E1 FD
       -----------------------------------------------------------------------------
    2. Apple Software Update Certification Authority
       SHA1 fingerprint: FA 02 79 0F CE 9D 93 00 89 C8 C2 51 0B BC 50 B4 85 8E 6F BF
       -----------------------------------------------------------------------------
    3. Apple Root CA
       SHA1 fingerprint: 61 1E 5B 66 2C 59 3A 08 FF 58 D1 4A E2 24 52 D1 98 DF 6C 60
```

`signed by a certificate that has since expired` で期限切れていると分かります。

もしくは直接Finderから`Install macOS High Sierra.app/Contents/SharedSupport/InstallESD.dmg`をマウントし、 OSInstall.mpkg を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657779/076ccc88-9823-3d4c-51d7-e99a56569e4e.png)

## 解決案１：そのまま流用

1. そのままCD（またはFlashドライブ）で起動する
1. Utilities メニューから Terminal を開く
1. `date -u 0101000019` でシステムの日付を 2019-01-01 00:00 GMT に変更する
1. そのままインストールに続行する

## 解決案２：新しいインストーラーを入手する

最新版のApp Storeアプリが必要です（**必ず Safari または Chrome で開いてください**）:

<details><summary>うまく行く時はちゃんとAppStoreを開きます（スクリーンショット）</summary>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657779/9cf32ff1-1641-0e96-c49a-b266c09b86a8.png)
</details>

- [macOS Catalina 10.15](https://apps.apple.com/us/app/macos-catalina/id1466841314?mt=12)  
- [macOS Mojave 10.14](https://apps.apple.com/us/app/macos-mojave/id1398502828?mt=12)
- [macOS High Sierra 10.13](https://apps.apple.com/us/app/macos-high-sierra/id1246284741?mt=12)

もっと古いmacOSは直接ディスクイメージをダウンロードしてください:

- [macOS Sierra 10.12](http://updates-http.cdn-apple.com/2019/cert/061-39476-20191023-48f365f4-0015-4c41-9f44-39d3d2aca067/InstallOS.dmg)
- [OS X El Capitan 10.11](http://updates-http.cdn-apple.com/2019/cert/061-41424-20191024-218af9ec-cf50-4516-9011-228c78eda3d2/InstallMacOSX.dmg) 
- [OS X Yosemite 10.10](http://updates-http.cdn-apple.com/2019/cert/061-41343-20191023-02465f92-3ab5-4c92-bfe2-b725447a070d/InstallMacOSX.dmg)


### createinstallmedia で bootable flashドライブを作る

現在Flashドライブが `/Volumes/NO_NAME` にマウントされた場合

```
$ cd "Install macOS High Sierra.app/Contents/Resources"
$ sudo ./createinstallmedia  --volume /Volumes/NO_NAME
Password: (ひそひそひそ)
Ready to start.
To continue we need to erase the volume at /Volumes/NO_NAME/.
If you wish to continue type (Y) then press return: y
Erasing Disk: 0%... 10%... 20%... 30%...100%...
Copying installer files to disk...
Copy complete.
Making disk bootable...
Copying boot files...
Copy complete.
Done.
```

以上！


## 参考

1. [How to get old versions of macOS](https://support.apple.com/en-us/HT211683)