[Hackintosh][OpenCore] macOS Sonoma のインストール(1)下準備

Overview

現在は OpenCore で macOS Venture を運用している。

[Hackintosh] OpenCore で Ventura を立てる(1) BIOS 設定
https://wacw.cf/2023/04/05/hackintosh-ventura-with-opencore-1/

[Hackintosh] OpenCore で Ventura を立てる(2) EFI フォルダーを作成する
https://wacw.cf/2023/04/05/hackintosh-ventura-with-opencore-2/

[Hackintosh] OpenCore で Ventura を立てる(3) USB インストーラーを作成する
https://wacw.cf/2023/04/05/hackintosh-ventura-with-opencore-3/

[Hackintosh] OpenCore で Ventura を立てる(4)まとめ
https://wacw.cf/2023/04/05/hackintosh-ventura-with-opencore-4/

[Hackintosh] USB ポート 15 個制限用の USBPorts.kext を作成する
https://wacw.cf/2023/04/07/usb-port-mapping-with-usbport-kext/

macOS Sonoma へアップグレードすることにした。クリーンインストールをする。

少し待てば macOS Sequoia がリリースされるが、ちょうどアップグレードのためのまとまった時間が取れるのが今なので一つ前のバージョンである Sonoma へアップグレードすることにした。

ハードウェア構成は次のようになっている。

現在の macOS は Ventura 13.5 (22G74) だ。

まず現在の Ventura の状態で OpenCore と kext を最新版にアップデートしておく。現在のハードウェア構成で最新の OpenCore と kext が動くことを確認したいからだ。もちろん Sonoma にアップグレードすることで動かなくなる可能性もあるが、現時点での最新の OpenCore と kext とハードウェアの相性を確認するためだ。

(0)BIOS の設定は以前のまま変えていない。そのまま進めていく。

[Hackintosh] OpenCore で Ventura を立てる(1) BIOS 設定
https://wacw.cf/2023/04/05/hackintosh-ventura-with-opencore-1/

(1)念のため Carbon Copy Cloner でシステムドライブをバックアップしておいた。

Carbon Copy Cloner | macOS Backup Software | Bombich Software
https://bombich.com/

(2)念のため ESP をバックアップする。

Kext Updater を使うと「EFI」ボタンをクリックするだけで EFI フォルダーをマウントできる。

Kext Updater – SL-Soft
https://www.sl-soft.de/en/kext-updater/

EFI フォルダーをそのまま別の場所にコピーしてバックアップすればいい。

(3)kext を最新版にアップデートする。

現在僕が使っている kext を以下のようにアップデートした。最新版に差し替えればいい。

  • AppleALC.kext: 1.8.3 -> 1.9.1
  • IntelMausi.kext: 1.0.7(アップデートなし)
  • Lilu.kext: 1.6.6 -> 1.6.8
  • VirtualSMC.kext: 1.3.2 -> 1.3.3
  • WhateverGreen.kext: 1.6.5 -> 1.6.7
  • USBPorts.kext(アップデートなし)

その際、Kext Updater を使うと簡単に最新版のチェックおよびダウンロードができる。

USBPorts.kext は自分で作成したものなのでアップデートはない。

[Hackintosh] USB ポート 15 個制限用の USBPorts.kext を作成する
https://wacw.cf/2023/04/07/usb-port-mapping-with-usbport-kext/

Mac を再起動して問題なく起動できることを確認した。

(4)3で Kext Updater を使うと最新版の OpenCore もダウンロードされる。僕は現在バージョン 0.9.2 の OpenCore を使っているが最新版は 1.0.1 だ。

参考:
Releases · acidanthera/OpenCorePkg
https://github.com/acidanthera/OpenCorePkg/releases

「デスクトップ>Kext-Updates>OpenCore>Docs>Sample.plist」が OpenCore の元になる設定ファイルだ。それを自分の環境に合わせて編集していく。

(4-1)Sample.plist を config.plist と名前を変更し、ProperTree アプリで開く。

参考:
[Hackintosh] ProperTree をインストールする – with a Christian Wife
https://wacw.cf/2023/03/28/propertree/

(4-2)#WARNING で始まる最初4行を削除する(「右クリック>Remove~」で)。

(4-3))「File>OC Clean Snapshot」をクリック。あらかじめ Kext Updater で EFI フォルダーをマウントしておき、「EFI>OC」を指定する。

これで config.plist の ACPI や driver、kext 関係が自動入力される。つまり ACPI や driver、kext フォルダーの中身を変更するたびに OC Clean Snapshot を実行すればいいということだ。

(4-4))「Root>Kernel>Add」で次のような順になるよう、項目をドラッグ・アンド・ドロップして変更する。つまり、kext 同士で依存関係がある場合、大もとのものを先に配置している。

  1. Lilu
  2. VirtualSMC
  3. IntelMausi
  4. USBPorts
  5. WhateverGreen
  6. AppleALC

(4-5)【「Root>ACPI」の項目】

変更しなくていい。

(4-6)【「Root>Booter>Quirks」の項目】

以下を変更する。

  • DevirtualiseMmio: True に。
  • FixupAppleEfiImages: False のままに。
  • RebuildAppleMemoryMap: True に。
  • SetupVirtualMap: True のままに。
  • SyncRuntimePermissions: True に。
  • ResizeAppleGpuBars: 0 に。(BIOS で Re-Size BAR Support を有効化したので。)

(4-7)以前 Audio device の Devide Path を調べて「PciRoot(0x0)/Pci(0x1F,0x3)」だった。

参考:
wacw blog | [Hackintosh] OpenCore で Ventura を立てる(2) EFI フォルダーを作成する
https://wacw.cf/2023/04/05/hackintosh-ventura-with-opencore-2/

(4-8)【DeviceProperties の項目(1)】

「Add」の項目が「PciRoot(0x0)/Pci(0x1b,0x0)」となっているので、(4-7)で分かった「PciRoot(0x0)/Pci(0x1F,0x3)」に値を変更する。

layout-id はあとで boot-arg で入力するので、そのままの値でいい。

(4-9)【DeviceProperties の項目(2)】

4-8 の「PciRoot(0x0)/Pci(0x1F,0x3)」と同じ階層に以下のような新しい項目を作成する。

  • Key: PciRoot(0x0)/Pci(0x2,0x0)
  • Type: Dictionary

さらに以下の子項目を作成する。

  • Key: AAPL,ig-platform-id
  • Type: Data
  • Value: 00009B3E

(5)【Kernel の項目】

「Quirks」内の以下を設定した。

  • AppleCpuPmCfgLock: False のままに(BIOS 側の設定で CFG Lock を無効化しているため)。
  • AppleXcpmCfgLock: False のままに(BIOS 側の設定で CFG Lock を無効化しているため)。
  • DisableIoMapper: False のままに(BIOS 側の設定で VT-d を無効化しているため)。
  • DisableIoMapperMapping: False のままに。
  • PanicNoKextDump: True に。
  • PowerTimeoutKernelPanic: True に。

(6)【misc の項目】

「Boot」内に以下の設定をした。

  • InstanceIdentifier: 空白のまま。

「Debug」内の以下を設定した。

  • AppleDebug: True に。
  • DisableWatchDog: True に。
  • Target: 67 に。

「Security」内の以下を設定した。

  • AllowSetDefault: True に。
  • ExposeSensitiveData: 3 に。
  • ScanPolicy: 19858179 に。
  • Vault: Optional に。

「Tools」内に以下の設定をした。

  • OpenShel.efi の項目の「Auxiliary」: true のままに。

(7)【NVRAM の項目】

「Add」内で以下を設定する。

  • 「7C436110-AB2A-4BBB-A880-FE41995C9F82」内の # で始まる行を削除する。
  • US キーボードを使っているので、「prev-lang:kbd」の Value を 656e2d55533a30 にする。
  • 「7C436110-AB2A-4BBB-A880-FE41995C9F82」内の「boot-args」に debug=0x100 alcid=1 を追記する。alcid は layout-id であり、環境によって値を変える必要があるかもしれない。僕は1で大丈夫だった。

(8)【PlatformInfo の項目】

GenSMBIOS を使って、Serial、Board Serial、SmUUID を生成する。

GenSMBIOSを使って機種情報を設定する – Boot macOS
https://bootmacos.com/archives/9597

そのうえで「Generic」の項目を以下のように設定した。

  • SystemProductName: iMac19,1
  • SystemSerialNumber: GenSMBIOS で生成された Serial の値を入力。
  • MLB: GenSMBIOS で生成された Board Serial の値を入力。
  • SystemUUID: GenSMBIOS で生成された SmUUID の値を入力。
  • ROM: GenSMBIOS で生成された Apple ROM の値を入力。しかし、再起動するとデフォルトの 112233445566 に戻ってしまうのはなぜだろう。

ただし、現時点で PlatformInfo を変えてしまうと、Apple ID からサインアウトしてしまう。別デバイスとして認識されてしまうからだ。単なるアップデートなので別デバイスとして認識されると困る。現時点では現在の PlatformInfo をそのまま入力しよう。このあと Sonoma のインストール段階になって新しい PlatformInfo を入力しよう。

(9)【UEFI の項目】

「Output」内で以下のように設定する。

  • ConsoleFont: 空白のまま。
  • InitialMode: Auto のまま。
  • GopBurstMode: False のまま。

「ProtocolOverrides」内を以下のように設定する。

  • Pcilo: False のまま。

「Quirks」内で以下のように設定する。

  • ShimRetainProtocol: False のまま。

その他はデフォルトのままにしておいた。

(10)Kext Updater で「Tools>Select an OpenCore config.plist which you wan to check」で config.plist を指定すれば、記述のチェックができる。

(11)編集した config.plist と現在の EFI フォルダーの config.plist を差し替える。

(12)EFI フォルダーの efi を「デスクトップ>Kext-Updates>OpenCore>X64>EFI」に含まれる最新の efi と差し替える。

僕は以下を差し替えた。

  • EFI>BOOT>BOOTx64.efi
  • EFI>OC>OpenCore.efi
  • EFI>OC>Drivers>OpenRuntime.efi
  • EFI>OC>Tools>OpenShell.efi

EFI>OC>Drivers>HfsPlus.efi は Kext-Updates の自動ダウンロードに含まれないので以下のサイトでチェックしたが、更新されていないようなので差し替えは不要だ。

OcBinaryData/Drivers at master · acidanthera/OcBinaryData · GitHub
https://github.com/acidanthera/OcBinaryData/tree/master/Drivers

Mac を再起動して問題なく起動できることを確認した。

(13)最新の Ventura の状態でも問題なく OpenCore が動くことを確認したいので、Ventura のアップデートをする。

現在 Ventura 13.5 だが、「リンゴマーク>System Settings>Software Update Available」ですでに Sonoma 14.6.1 にアップデート通知も表示されているが、一番下の「Other Updates Available」から macOS Ventura 13.6.9 にアップデートできる。

再起動は3回あり、1回目は macOS Installer 、2回目と3回目はボリューム名が選択されていた。

アップデート後、問題なく起動できることを確認した。

以上で、Ventura において、OS および OpenCore や kext を最新版にアップデートした。

今気付いたが、以前は OpenCore にしてから Apple ID でサインインしたデバイス一覧が System Preference で表示されない不具合があったが直っていた。今回直ったのか以前に直ったのかは分からない。

[Hackintosh] OpenCore Venture のその後
https://wacw.cf/2023/04/20/15-days-after-installing-opencore-ventura/

また、Mac と iPad や iPhone とのクリップボードの共有がうまく動かなくなった。AirDrop は動作するのに。

(続く。)

参考:
[Hackintosh] OpenCore 0.9.0 から 0.9.2 にアップデート
https://wacw.cf/2023/06/12/updating-opencore-from-090-to-092/

OpenCore 0.9.2 から0.9.3に更新 – Boot macOS
https://bootmacos.com/archives/21257

OpenCore 0.9.3 から0.9.4に更新 – Boot macOS
https://bootmacos.com/archives/21381

OpenCore 0.9.4 から0.9.5に更新 – Boot macOS
https://bootmacos.com/archives/21448

OpenCore 0.9.5 から0.9.6に更新 – Boot macOS
https://bootmacos.com/archives/21715

SonomaのUSBインストーラを作ってクリーンインストール
https://bootmacos.com/archives/21470

OpenCoreのpicker画面を設定する
https://bootmacos.com/archives/11657