lichongjia 发表于 2019-12-5 17:28

让OpenCore的引导界面更好看,已更新详细教程

本帖最后由 daliansky 于 2020-4-1 20:20 编辑

OpenCore一方面由于出来不久,并且工具也还在完善中,所以中文教程少。但是对新硬件有更好的支持,模块化设计也解决了Clover冗余问题。继承并改善了前面一些引导工具的功能特性,大势所趋,相信会越来越好。以我使用下来的情况看,从v0.5.1开始,OC稳定性已经非常好了,完全可以用于正式的生产环境!

以下是OpenCore的参考配置文章:
官方(英文)文档,任何情况下都以此为准
https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf

综合性教程(英文),比较通用且全面
https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide

黑果小兵的教程(中文)
https://blog.daliansky.net/OpenCore-BootLoader.html

Xjn819的教程(中文)
https://blog.xjn819.com/?p=543

但是因为OC目前并没有Clover那样好看的GUI引导界面(虽然保留了GUI接口),所以我采用了第三方工具refind来管理多系统引导,这样变相可以让OC的引导界面像Clover那样好看一些。
rEFInd初次使用,配置起来稍微有点麻烦,详细步骤没有时间写,论坛上的少,有疑问的可以邮件(lichongjia@vip.qq.com)。
图中主题我在附件中已经配置好了,如果需要更多相关文件以及我的OC和Clover配置,可以到我的GitHub页面下载,然后根据其中内容自己修改即可。

12月6日更新附件:加入官方完整配置示例文件"refind.conf-sample"


Github地址: https://github.com/lichongjia/EFI-ASUS-B250M12月6日更新内容:
鉴于还是有一些人喜欢比较好看的引导界面,也许是习惯了CloverGUI的原因。
昨天我发了个使用refind管理OpenCore来引导系统,我想下载了本帖附件的大概都希望能自定义自己的配置和主题,可能少许人对附件中的配置有些疑惑,网上refind的中文相关教程比较少,能搜到的都很简略。所以我经过梳理,对refind的配置文件和主题制作做一下简要说明(其实我觉得已经超详细了~)。

首先你下载解压后的文件是下面这个样子的,说明如图




然后我提取了几个常用参数对refind.conf文件做一下说明:

其中的参数稍微有点多,但是我们不必深究,只需要注意我们能用到的那几个参数即可。
完整的参数请查看官方refind.conf-sample文件

conf文件中的注释用"#",不要用"//"。我这里只是个人习惯而已!
timeout 60
// 这个是超时设置,启动后暂停多少秒然后进入系统

shutdown_after_timeout false
// 顾名思义,在超时之后关机,设置true/false

use_nvram false
// 是否使用nvram保存你的refind设置,个人建议使用本地文件来保存NVRAM变量,官方也说了长期使用NVRAM保存会对其有损耗

hideui singleuser,arrows,hints,label
// 隐藏引导界面的一些选项依,常用参数有以下选项
// singleuser:针对macOS的单用户模式
// arrows:这个是当你引导香过多时,隐藏你的左右两侧箭头的图标(前提是你主题中制作了该图标)
// hints:隐藏引导界面底部对refind的简要说明和帮助
// label:隐藏引导项的菜单文字
// badges:隐藏设备类型的标签,比如你插入含引导项的U盘的话,该引导项右下角就会有一个USB标识
// all:全部隐藏

small_icon_size 96
// 这是比如关机、重启这类图标的尺寸

big_icon_size 256
// 这就是引导项的图标尺寸)
/* 关于图标尺寸,我建议设置为你制作好的主题图标原尺寸为宜,这样可以避免缩放失真,从而影响美观 */

resolution 2560 1440
// 分辨率设置,可以接受两个参数(X * Y)或者一个参数(X)
/* 这里详细说一下,默认不设置的话值为"0 0",官方说此时会使用你系统分辨率默认值,通常是800x600。
当你使用1个参数来设置的时候,比如"0、1、2~10"等等,通过我的测试发现它的值是一个模式值数值表示(mode0,mode1~mode10),
有可能你的显示器并不支持你设置的分辨率(如"3840 2160"),然后启动后它就会显示你当前支持的所有模式,每个模式对应一个分辨率,然后你自己选择最适合你显示器分辨率填入即可 */

use_graphics_for osx,windows,linux
// 是否以图形化方式启动指定系统,默认refind会像OpenCore那样使用文字模式来启动系统,建议这里像我这样设置都使用图形化方式启动

showtools shutdown,reboot
// 显示哪些工具在你的引导项的下面,我只设置显示关机和重启,你需要更多项的话,参照官方Sample.conf文件完整说明

#dont_scan_tools ESP2:/EFI/ubuntu/mmx64.efi,gptsync_x64.efi
#scan_driver_dirs EFI/tools/drivers,drivers
#scanfor internal,external,optical,manual
#also_scan_dirs boot,ESP2:EFI/linux/kernels
#dont_scan_dirs ESP:/EFI/boot,EFI/Dell,EFI/memtest86
#dont_scan_dirs +ESP:/EFI/ubuntu
#dont_scan_files shim.efi,MokManager.efi
// 这几个一般不需要使用,除非你分区、启动项或efi驱动过多时可能需要

dont_scan_volumes "Macintosh HD","Recovery","Preboot"
// 使用分区卷名称来设置不扫描哪些卷,跟Clover的隐藏引导卷类似

dont_scan_dirs EFI_ESP:/EFI/APPLE,/EFI/CLOVER,/EFI/Microsoft/Boot,/EFI/OC
// 这个是设置不让refind扫面哪些目录,一般情况下我们只要自定义好了引导项,建议其它有.efi文件的目录都给添加上

scan_all_linux_kernels false
// 如果你没有Linux类系统的话,请设置为false,这样可以加快启动速度

/* 下面的是自定义启动项,这才是我们需要设置的 */
menuentry "OpenCore" {// 引导项名称
icon /EFI/BOOT/themes/Regular/icons/2K/os_opencore.png// 图标路径
loader /EFI/BOOT/BOOTx64-OC.efi// efi启动文件路径
enable// 此处设置启用/不启用(enable/disabled)此引导项
}

menuentry "Clover" {
icon /EFI/BOOT/themes/Regular/icons/2K/os_clover.png
loader /EFI/CLOVER/CLOVERX64.efi
disabled
}

include themes/Regular/theme-2K-dark.conf
// 引入主题的配置文件


示例图,我设置了5个引导,依次是macOS,Win10,Ubuntu,OpenCore,Clover]
注意:OC和Clover相互切换引导之前,一定要清空NVRAM

亮色主图


暗色主题


Catalina主题



下面是一些配置OpenCore的小提示!

测试是否带原生NVRAM,请在终端执行以下命令:
1、添加一个测试变量: sudo nvram TestVar=HelloWorld
2、然后重启运行: sudo nvram -p | grep 'TestVar'
3、检测是否成功后删除该测试变量(sudo nvram -d TestVar)

如果你已有Clover引导环境,我建议你参考你的Clover配置来进行。
虽然两者区别很大,但一些补丁实现方式差不多,这样可以让你的配置步骤更有条理。

OpenCore官方不建议使用更名补丁,除非必须使用的情况。因为新版Whatevergreen等驱动已经自带常用更名并注入一些必要设备,所以Clover下的一些常用二进制更名补丁(GFX0->IGPU,HDAS->HDEF,HECI->IMEI等)也不再需要。能使用SSDT注入的都优先考虑用SSDT注入(虽然某些功能在Clover下可以直接勾选很方便),但制作一个兼容性好的SSDT补丁Clover和OpenCore都可以使用,一次制作,两处使用。

尽可能采用添加设备属性(DeviceProperties)来对PCI设备打补丁。
例如通过Properties方法注入IMEI,PciRoot(0x0)/Pci(0x16,0x0):device-id, 3A1E0000, 当Properties方法不奏效时或者其他原因,再采用对设备或者方法更名以及Hotpatch的SSDT文件对其实施定制补丁。

显卡大多数情况下使用Whatevergreen即可解决。

声卡配合AppleALC驱动方法有很多种(Clover,DSDT,设备属性),如果采用DSDT注入的话,请禁用Clover相关选项(Devices-> Audio-> Inject = NO),个人建议用设备属性这种方式来注入,并且这也是OpenCore推荐采用的方式。

SATA类型的SSD若要开启TRIM,建议使用终端命令"sudo trimforce enable"来启用,不建议使用CloverKext补丁(Enable TRIM for SSD)或OpenCore的相关项(ThirdPartyTrim)。

USB相关,因为苹果原生EC控制器在DSDT中就叫EC,是否使用重命名补丁请先查看原机DSDT的EC控制器名字,可能叫H_EC或EC0,方法是搜索DSDT中"PNP0C09"的设备,如果该设备的"_STA"返回值为零(Zero),直接添加SSDT-EC-USBX.aml文件(注入EC控制器和电源管理),反之则应在SSDT中将EC禁用,USB电源问题使用iPAD测试比较方便。

教程已同步到个人公众号如果你觉得本帖内容对你有用的话,请以自己最喜欢的方式评论、点赞或收藏!!!



cantstop 发表于 2019-12-5 22:30

厉害了,可以ubantu,这个必须支持啊!

nomcoych 发表于 2019-12-5 23:33

305451372 发表于 2019-12-5 23:35

厉害厉害,感谢分享

nomcoych 发表于 2019-12-5 23:36

zhangfil88 发表于 2019-12-5 23:39

主要是配置文件

xjn819 发表于 2019-12-5 23:44

挺有意思的 支持一下~

lichongjia 发表于 2019-12-6 00:00

nomcoych 发表于 2019-12-5 23:36 https://www.pcbeta.com/static/image/common/back.gif
还是先用CLOVER吧,等啥时候OC完整了再转行。

从我自己的使用情况来看,目前Clover有的基本上它都有,Clover没有的它也有.大势所趋,早用早享受!
OC目前处于版本迭代中,除了官方推荐的Xcode和Propertree类plist文件编辑器之外,其它的GUI工具兼容性没那么好而已.相信后面这些都会有.Clover方便是因为功能已经比较成熟完善所以GUI配置工具兼容性好.
但只要认真过一遍OC的配置文件,你会觉得配置起来比Clover反而更快更具有通用性.

lichongjia 发表于 2019-12-6 00:06

xjn819 发表于 2019-12-5 23:44 https://www.pcbeta.com/static/image/common/back.gif
挺有意思的 支持一下~

其实,我个人感觉花里胡哨没多大用.可能对多系统有那么点点(好看的)作用
也许还有一小部分人喜欢好看的界面.
渐渐地没了那么多热情,能用就行,够用就好.

pcaby 发表于 2019-12-6 00:16

还是比较漂亮的,oc简单成功了一次,感觉,参考一些指南,还是很容易进行的。

s1nry 发表于 2019-12-6 01:27

oc更新新版本了,修复了好多bug

langshibo 发表于 2019-12-6 06:45

很好看啊!

maojinbing 发表于 2019-12-6 07:05

好思路。。。。。

YQZX 发表于 2019-12-6 09:08

挺有意思的 支持一下~

你我928 发表于 2019-12-6 09:26

还可以这样玩 感谢楼主!

花田错 发表于 2019-12-6 09:38

用了一天时间,配置了2个台式一个笔记本的OC, 从clover转OC感觉很顺利。

slw3344 发表于 2019-12-6 09:48

好东西啊,有时间折腾看看

Dragon23 发表于 2019-12-6 10:12

所以这个主题怎么用?解压出来一个BOOT文件夹,然后这个文件夹怎么个放法,放到哪里呢?

gstsrobin 发表于 2019-12-6 10:13

感谢楼主!求教,启动界面分辨率,主题,该如何切换和设置?

ajw333 发表于 2019-12-6 10:26

感谢 大神分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 让OpenCore的引导界面更好看,已更新详细教程