今回のOpenCore-0.6.9-RELEASEで紹介します。
知ってると思いますが、OpenCoreでは、結構きちんと(人手が足りているので)Sample.plistが整備され、ocvalidate(構文チェッカー)も整備されているようです。
それらここにあります。
OpenCore-0.6.9-RELEASE.zipを解凍した時に、
OpenCore-0.6.9-RELEASE/Docs/Sample.plist
OpenCore-0.6.9-RELEASE/Utilities/ocvalidate/ocvalidate
まず、構文があっているかどうかの調べかたです。
上の、ocvalidateを、コマンドとして実行できるように特定の場所にコピーします。
ここでは簡単に、Finderで、デスクトップにコピーしたとしましょう。
そして、調べたい、OpenCoreのconfig.plstもデスクトップにコピーしたとしましょう。
ターミナルで、以下のように打ち込みます。
% ~/Desktop/ocvalidate ~/Desktop/config.plist
構文に問題があれば、結果がでます。
(みなさんなら、もっと楽に、ocvalidateを~(ホーム)に、config.plstも/Volume/EFI/EFI/OC/config.plistで指定もできると思います。そのばあい、
% ~/ocvalidate /Volumes/EFI/EFI/OC/config.plist
です。)
多くの場合、次の3つの場合が出ます。
1.項目(Item)がなくなったので消してほしい場合
2.項目が増えたので、増やしてほしい場合
3.項目の型が変わったので、直してほしい場合
直し方は、どれも似ています。
まず、2.3の場合について、説明します。
上に示したSample.plistに、今の正しい記述方法が書いてあるので、これを探して、古いconfig.plistにコピーするなり。参考にして直せばいいです。
まず、古いconfig.plistの複製を作りましょう。(用心に越したことはありません。うまく行かなくなったら、こっからやり直せばいいんです。)
ここでは、PlistEDplusを使った方法で書きます(執筆時の最新はhttps://github.com/ic005k/PlistEDPlus/releases/tag/1.0.52です。)
まず、PlistEDplusで、上で示したSample.plistを開きましょう。
上部のメニューの右側にFindと書かれた、検索用窓が見えると思います。ここに、足りないアイテムや、変わったアイテムの名前をいれます。ここでは、CustomDelaysのはずなので、ターミナルからのコピペでいいので入れましょう。そして、横の虫眼鏡マークのボタンを押すと、結果ができきます。
みると、場所は、UEFIのAppleInput、型はbool、値はfalseになっています。OpenCoreのサンプルは安全側(いれても普通には問題が出ない)で記述しているので、参考にしましょう。
次に、古いconfig.plistをPlistEDplusで開きましょう。タブができて、config.plistになるはずです。
(項目が足りない場合は、Sample.plistのアイテム欄を選択してコピーし、古いconfig.plistの同じ場所にペーストして挿入すればいいです。)
古いconfig.plistでも、CustomDelaysを検索しましょう。結果はきっと、型がString、値はYESになっていたはずです。(すいません、直しちゃったので古いのないです。)
まえに、ocvalidateででた、メッセージの「Faild to parse string field as value with type boolean and contents」は、型が違うので、解析できませんでしたと言っているのです。
そこで、PlistEDplusのCustomDelaysの行で、stringと書かれたところをクリックすると、型一覧が出るので、boolが出てくるので選択しましょう。値はデフォルトでfalseのはずなので、さっきのSampleとおなじですから、安全側なので、問題はほぼ起こらないと思います。
なおしたあと、PlistEDplusの上部メニューで、フロッピー印のボタン(今頃フロッピーって作者のお年がわかるようですがww)を押してセーブして、終わりです。
きっと、これで、問題は解決しているはずです。
もし、CustomDelaysでない場合も、ocvalidateを使うことで、アイテム名が出ますので、同じようにPlistEDplusを使って、Sample.plistを参考に、コピペなどででも、古いconfig.plistを直せばいいと思います。
次に項目(Item)がなくなったので消してほしい場合には、Sample.plistには項目はありません。(検索しても出てきません)
この場合、古いconfig.plistで同じように検索して、その行を選択し、消去すればいいのです。
コメント