OpenCoreの0.7.0が公開されたので0.6.9からアップデートしました。config.plistの大きな変更点はありませんでした。またOpenCanopyが動かなくなりましたので、EFIのOC/Resourcesの中身を、配布されているものに差し替えました。
Table of Contents
0.7.0をダウンロードする
公式のダウンロードページは以下です。Kext Updater.appがダウンロードしてくれる内容を使っても良いです。
OpenCore 0.7.0とmacOS 11.4で動作確認している手元のマシンは以下です。また、kext類はKext Updaterを使って最新版に入れ替えてあります。
- ASUS Z390 ROG MAXIMUS XI HERO + 9900K + Radeon RX 580 + macOS Big Sur 11.4
- ASRock Z590 Extreme + 10900K + Radeon 5700XT + macOS Big Sur 11.4
.efiファイルを差し替える
更新するためには、今までと同様に、X64の方のフォルダの中身を、現用のファイルと入れ替えます。入れ替えるべきファイルは、いつもの通り以下です。
- EFI/BOOT/BOOTX64.efi
- EFI/OC/OpenCore.efi
- EFI/OC/Driversの中のうち、現在使用しているもの:手元のマシンでは、OpenCanopy.efiとOpenRuntime.efi
- EFI/OC/Toolsの中のうち、現在使用しているもの:手元のマシンでは、OpenShell.efi
ACPIとKextsは、OpenCoreの範疇では無いので変更不要です。
config.plistを更新する
現在のconfig.plistをconfig_old.plistと改名し、配布パッケージに入っているsample.plistをコピーして持ってきて、これをconfig.plistにしました。PlistEDPlusを使って、双方を開いて、古いconfig.plistの項目をコピーする方針で、新しいconfig.plistを作りました。
config.plistで設定する項目の変更点は以下のようでした。
- Kernel/QuirksにProvideCurrentCpuInfoという項目が追加されていました。kernelに現在のCPU情報を提供するというフラグです。Microsoft Hyper-Vのためのパッチだそうです。デフォルトのままfalseにしておきました。
- Misc/SecurityにAllowToggleSipという項目が追加されていました。OpenCoreピッカー(起動時の選択メニュー)でSIPをon/offできるようにするかどうかの選択肢です。元々SIPを無効にすることをOpenCoreでは推奨していないので、必要な場合のみ、一時的に使って下さいという記述がありました。なのでデフォルトのままfalseにしておきました。
- NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82にForceDisplayRotationInEFIという項目が追加されていました。EFIの表示を回転できるようです。デフォルトの0度にしておきました。
- UEFI/OutputにGopPassThroughという項目があります。0.6.9ではbool型でfalseを設定していたのですが、0.7.0ではこれがstring型になってました。on/offの他に、Appleという選択肢が可能になったためstring型になったようです。Appleの場合は、AppleFramebufferInfoを有効にしたプロトコルで提供すると書いてありました。今まで問題なかったので、デフォルトのままのDisabledにしておきました。
- UEFI/ProtocolOverridesにAppleEg2Infoという項目が追加されていました。Apple EFI Graphics 2プロトコルをビルトインのバージョンに入れ替えるという機能らしいです。EFI画面の回転に関係するようです。デフォルトのままfalseにしておきました。
- Misc/BootにあるPickerVariantの指定方法が変更になった様です。詳細は後述します。デフォルト値は今までと同じくAutoなので、そのままで良いです。
いずれも大きな変更ではなさそうです。以上の設定で、0.6.9から0.7.0に移行できました。
Pickerアイコン指定方法が変更
前節の変更で起動はできましたが、0.6.6や0.6.8の時のようにOpenCanopyが動かなくなり、起動時の選択メニュー (Pickerメニュー)が文字だけのメニューに戻ってしまいました。そこで以前と同じく、以下から、Resources/Image, Font, Labelを取り寄せて交換したところ、動くようになりました。
上記からダウンロードしたファイルを確認すると、Resources/Imageの中身にさらにディレクトリのある構造になってます。以前は、Imagesの中に直接アイコンファイルが置かれていました。今回からは、ESPのOCフォルダーにも、配布されている形のディレクトリ構造を保ってコピーすれば良いようでした。
コメントで教えていただいて気づいたのですが、Pickerに表示するアイコンの指定方法が変更になった様です。これを指定するパラメータはconfig.plistのMisc/BootにあるPickerVariantです。0.6.9までは、この値(文字列です)は、
- Auto (デフォルト) 背景色に合わせて適切なアイコンが自動選択される
- Default 通常の名前のアイコンファイルが選択される
- Old Oldで始まる名前のアイコンが選択される
- Modern Modernで始まる名前のアイコンが選択される
- (それ以外の値)カスタムアイコンとしてサポートされていれば指定できる
という規則でした。ファイル名の最初の文字で区別する方式です。例えばHDDのアイコンなら、PickerVariantにDefaultを指定するとHardDrive.icnsという名前のファイルが使用されますが、Modernを指定するとModernHardDrive.icnsという名前のファイルが使用されます。
これに対して、0.7.0では、上で説明したようにディレクトリで分類されるようになりました。アイコンファイルは66個くらいあるので、名前だけで区別するのは面倒ということだと思います。なので0.7.0のPickerVariantは、
- Auto 背景に合わせて自動的に選択される。
- Default Imageの中のAcidanthera\GoldenGateを選択する。
- Acidanthera\GoldenGate Imageの中のこのディレクトリを選択する。macOS 11スタイルのアイコンセット。
- Acidanthera\Syrah Imageの中のこのディレクトリを選択する。macOS 10.10スタイルのアイコンセット。
- Acidanthera\Chardonnay Imageの中のこのディレクトリを選択する。スタイルのアイコンセット。
特にこだわりがなければ、今まで通り、デフォルト値のAutoを指定しておけば良いと思います。
参考情報: ”EFIの表示を回転できる”機能に関してのプチ検証結果
日頃、27型液晶画面を縦型(ポートレートモード、270度回転)を使用していることから、この新機能に深く興味を持ちました。ダメ元で、どのように変わるのか試してみました。
*変更(追加)箇所は2つ
AppleEg2Info bool true
ForceDisplayRotationInEFI integer 270
反映結果:
てっきり ブートドライブ選択画面で、各アイコンが水平方向に並んで表示される、、、と期待したのですが、この表示場面は前と同じで変わらず。
変わったのは、ブートプログレス(進捗)バーが これまでの縦方向(下から上へ)から 普通どおりの水平方向(左から右へ)なっただけでした。
でも、今後の機能拡充(更新)に期待します。
修正・補足:”EFIの表示を回転できる”機能に関してのプチ検証結果(#2)
ForceDisplayRotationInEFI integerの値と表示の流れ:まとめ
1) 270 :
”通常はリンゴ マークの少し離れた真下”に示されるブートプログレス(進捗)バーが 、
ー 右斜め 少し下部域で
ー 通常の垂直方向(下から上へ)から 水平方向(右から左へ)に
2) 90 : (もしIntegerの値を270から90に変えてみると)
”通常はリンゴ マークの少し離れた真下”に示されるブートプログレス(進捗)バーが 、
ー 右斜め 少し下部域で
ー 通常の垂直方向(下から上へ)から 水平方向(左から右へ)に
お疲れ様です。
コミットウォッチしてるので、意外と気が付かなかったんですが・・・
PickerVariantって、いつの間にか、Resources/Imageの中身のディレクトリ指定になってなんですね。
autoとか、modernとか昔はちょっと適当な区分けだったのが、OCもいろいろなアイコンセットを許容するように考えてきたのかもしれません。
・・・
あとは、OCが、Cloverの反動からできてるため、noAuto、Manualismの徹底が、取り巻きのスイートアプリを産んできていますね。悪い方向に向かなければいいのですが、ちょっと心配です。適切なスイートが出てきたところで、OC自体がコアになり吸収されなければいいのですが・・・(実のところProperTreeもSnapShot機能というCloverではAutoだった部分を補完しているようです。(実際kextの依存関係は自動で解けるものなのです))
Frizにはかなり反対されAlanに助けられたのですが、やはりやや”教条的”なような気もします。
例えば、みんなには大きくはわからないところで、公式な書き方で、いままで<すべてのOSが動くように>いわば<理解したうえでみんなが調整してきた(人間は完ぺきではないので、使う側の立場に立った、これはいい意味での忖度です)>、BIOSの仕様上の不備を<主義に合わないという理由でなのか>簡単に批判してしまいました。最終的には不承不承織り込んだようですが、あまり気持ちのいい解決ではないですねぇ。
完璧な清廉潔白ならなぜ告知をディスカッションでしなかったのか、仕様に合わないBIOSのほうを変えさせないのでしょう。
一番不思議なのはこういうことです。
Manualismは間違えを直すためにあるはずです。それは、人間は完璧でないからです。
そして、たとえばBIOSやCPUのハードコードなどの問題であれば間違えは、実際に取り返しがききません(もうみんなが使ってしまっているからです。)だから、ソフトの方で間違えを吸収して動かしてきたという歴史があるのです。そして、それもまた、人間が完璧でないからなのです。
そう考えると、彼らのしていることは、やや不思議です。
そもそも<人間が完璧でない>からManualismをして彼らは規律を守っているのに、他者がBIOSのほうで取り返しがきかなくなった間違えを起こしたのも<また人間が完璧でない>から起こったものなのです。
私が一番気がかりなのは、自分は<人間的間違え>を想定しているのに、相手の<人間的間違え>に寛容でないところなのです。(これをしてまったく教条的でないと言っていいでしょうか・・・)
そして、彼らはもうそれに気づいているのでしないとは思いますが・・・OCの熱狂的なファンが、OCスイートアプリをどう判断するのか・・・そしてそれらが甘すぎる理由がOC側にもいくらかあるのではとは一切考えずに、批判することがOCのためになるのか私は心配なのです。
今更こんなことではまるとは思いませんでしたが、OC 0.7.0へのアップデートに失敗している模様。
KextUpdatorは一体どこをみて、今のOCのバージョンを把握しているのやら・・・・
また、何を持ってOC0.7.0に更新できたか確認できる手段はKextUpdator以外にあるのでしょうか。
私の場合、更新してもKextUpdatorでは0.6.6のままなのです・・・・。
Hackintool 便利です。
https://github.com/headkaze/Hackintool/releases/tag/3.6.1
ありがとうございます。
Hackintoolってこんなところも見れるんですねぇ。
でもバイナリー入れ替えても更新されずです・・・・・(謎)
参考 になるかと ..:
OPENCOREのバージョン確認と実際のバージョン?
[ 当 フォーラム › Discussions › OpenCoreのバージョン確認と実際のバージョン? ] の投稿記事
灯台下暗し・・・・。
ここで解説されている記事に答えがありました。
まさかNVRAMに書かれているとは・・・・
https://bootmacos.com/archives/12768
0.7.1が出たようですね。
ちょっと今からやってみます。
遅れました・・・
とりあえず入れ替えただけでトラブル(OpenCanopyが動かない)はないです。
Open Core 0.7.1やってみました。
とりあえず大きな変更点はなさそうです。
OC Configuratorをバージョンアップしてconfig.plist書き直した程度でした。