efi文件格式 (efi是什么格式的文件) 前面的话

前天 macOS 发布了10.15也就是Catalina版本。为了体验一下这个版本是否还兼容AMD机器,所以就有了这篇文章。安装需要一些耐心和运气,并不困难,困难的是驱动,有时候甚至无解。下面贴一下我的渣配置:

主板:微星 b450m 迫击炮 max

CPU:r7 3700x

网卡:RTL 8111h 板载网卡

声卡:乐之邦 08mp USB声卡 (免驱)

显示器:LG HDR 4k (HDMI连接)

显卡:XFX RX580 4G 2304sp(500块淘来的矿卡,求别翻车)

安装方式使用 Vanilla, 操作起来就非常简单了,但是必须要把网卡驱动成功,这种方式需要从苹果官网下载安装镜像,保持全程联网,不过备选方案使用的是原版镜像本地安装。

它的原理是什么呢?

我们知道 macOS 有一个 Recovery 的恢复分区,用于重装系统以及其他维护系统的操作。使用 gibMacOS 可以把 Recovery 和 Clover 烧录在U盘上,然后开机从U盘启动,通过 Clover 引导进去 Recovery 系统,以在线安装的方式安装系统。其中重点在 Clover 引导,这里需要给 Clover 引导打补丁,还要顺便加载一些驱动,才能是 Recovery 正确引导。

方案图

安装准备

首先准备一个 U 盘,超过8G就可以。然后下载两个软件。

https://github.com/corpnewt/gibMacOShttps://github.com/AMD-OSX/AMD_Vanilla

gibMacOS:的作用上面已经说过,下载 Clover 和 Recovery ,并把它烧录到U盘上。

AMD_Vanilla:是 Clover 的配置文件 config.plist 的例子。使用这里的 config.plist (已经打完补丁)就可以正确引导AMD的CPU。这里的 config.plist 配置文件内容其实也非常简单,都是系统引导时候的配置,我们一般用它做驱动注入引导参数,Clover主题,补丁注入等。AMD_Vanilla 有两个配置文件可以选,15_16h和17h,根据自己的CPU型号进行选择,我的CPU是Ryzen用的是17h。

注意:如果CPU是Intel的,那就不能用这里的plist,因为intel的配置更为简单,甚至可以不用给他打补丁,具体可以查查关于自己CPU的plist参数,一般来说,直接下载的Clover都会内置。

下载方式:进到页面里面之后,选择Clone or Download。可以使用git克隆下来,或者选择Download下载为Zip文件。

使用 gibMacOS 需要安装Python和7-zip,从官网直接下载一个就好了,无脑安装,记得点上加入到PATH环境变量之中。

制作启动U盘

第一步:下载必要的文件(Recovery和Clover)

打开到 gibMacOS 的下载目录。按住Shift键然后右键,选择 在此处打开命令提示符 (或者poweshell也可以)。

1.执行 gibMacOS.bat ,他会下载一些文件,现在下载的是关于macOS版本的信息。

2. 下载完成之后选择M,切换系统版本,输入 10.15 ,然后又是一阵下载。

3. 然后输入r,回车。切换到只读Recovery模式,这会减少下载时间。(如果你本来下载就挺慢的,那么省略这一步把,这一步也要时间)

4. 接下来找到10.15,这里是2,那么就输入2,回车。

当所有东西下载完成之后(大概8个G左右),到当前目录找到我们刚才Recovery的下载目录,一般在macOS Downloads\publicrelease\061-18881 - 10.15 macOS Catalina下面。

比如我的:D:\Code\gibMacOS\macOS Downloads\publicrelease\061-18881 - 10.15 macOS Catalina 记住这个地址,下面要用到。

小结:这一步完成之后,应该会有一个大概8G左右的文件夹,里面有macOS的引导文件,如上面的地址。

第二步:制作启动U盘

现在可以制作U盘了。插上一下U盘,关闭当前命令行窗口。然后执行 MakeInstall.bat

选择你的U盘,我在这里输入 3G。这里多一个参数G,是因为我在这里使用GPT(GUID)分区和EFI方式格式进行引导,因为macOS需要EFI方式进行引导,这里只是为了保持一致。其实不加也可以,Clover随便怎么引导都可以,而现在很多主板都支持混合引导。

如果第一次失败了,说明你的U盘需要删除现有分区,不用管它,再试一次一般都会成功,实在不行就不加这个参数G,然后到下面这个页面。

在下面这个地方粘贴我们刚才的地址。

制作完启动U盘之后,有两个分区,一个是分区格式是HFS,在Windows平台下无法查看和编辑,我们不用管它,重要是另一个FAT32格式EFI分区,名称是CLOVER,他是引导分区。

第三步:注入相应的驱动

目前为止,应该有一个制作完成的引导U盘,它有两个分区。

首先我们打开盘符为 CLOVER 分区,进入到下面路径:

EFI\CLOVER\drivers 删除offbios文件夹进入到UEFI文件夹下,只保留 ApfsDriverLoader.efiAptioMemoryFix.efiHFSPlus.efi 这三个文件,其余删除

接下来我们要安装必要的驱动,进入到下面的路径。

EFI\CLOVER\kexts\Other

在这个仓库中下载相应的驱动:https://1drv.ms/f/s!AiP7m5LaOED-m-J8-MLJGnOgAqnjGw

有两个驱动是必须要安装的:

VirtualSMC.kextFakeSMC.kext,它的作用是告诉macOS,我是苹果计算机!NullCPUPowerManagement.kext 用来关闭CPU电源管理,因为AMD不支持。AppleMCEReporterDisabler.kext 为什么有3呢?这个是 Catalina 才要加载的驱动。下载地址在https://github.com/AMD-OSX/AMD_Vanilla/tree/master/Extra

其他驱动如果是免驱也不用安装,只要保证能够顺利进入Recovery,并且能联网就行。我安装的驱动如下:

Lilu.kextWhateverGreen.kext 是显卡驱动,虽然我这张显卡是免驱,但是在Recovery中,还是会死机,但是进入系统之后就可以删掉了。所以加载上这个驱动之后,解决问题。

RealtekRTL8111.kext 是网卡驱动,在 Recovery 中需要在线下载系统,所以要驱动网卡。

然后,回到 EFI\CLOVER 目录下,找到 config.plist 这个文件。还记得一开始下载那两个软件吗?用 AMD_Vanilla 对应版本的 config.plist 替换这个 config.plist,我这个是17h。

https://github.com/AMD-OSX/AMD_Vanilla/blob/master/17h/config.plist

小结:在这部分中,我们修改了两个文件夹。一个是driver,在driver中删除了很多文件。另一个是kexts,在kexts\Other中放置了驱动文件。然后修改了 config.plist 文件

第四步:建分区

这一步就开始建分区了,毕竟系统要安装在本地硬盘呀。

首先在本地新建一个200MB大小的efi分区用于引导,然后建立一个250G的主分区用于安装系统,使用任何工具都可以,Windows自带的工具也可以,我这里使用的是Windows自带工具,在这里假设硬盘0有250G未分配空间。

打开命令行工具:

diskpart# 列出所有磁盘list disk# 选择上面磁盘中要处理的磁盘select disk 0# 建立efi分区,为了不污染Windows默认EFI,重新新建一个create partition efi size=200 # 建立Mac安装盘为256Gcreate partition primary size=256000 # 列出当前硬盘的分区list partition # 选择上面新建的EFI分区select partition 5 # 分配个盘符,便于修改文件,如果弹出格式化,可以格式化为FAT32assign letter=f

可以看到,分区5的类型是系统,大小为200MB。这个就是我们安装完系统要用的引导分区,但是我们现在要关注的是下面那个分区,一会的Mac系统会安装在这个分区里面。

进行安装

安装

接下来就可以直接安装系统了,重新启动计算机,启动的时候,选择从U盘启动。

然后选择第一项,安装macOS。接下来不停的输出log,一直到下面这个页面。

按照Mac安装系统的流程一步一步的走下去,直到系统自动重启。进入系统,完成安装。

后续工作

系统安装完成了,但是我们每一次进入系统都需要使用U盘引导。所以,需要把CLOVER复制到本地硬盘中。

复制引导文件

打开命令提示符

diskpartlist diskselect disk 0list partition# 以上命令的意思就是找到上面分配的EFI分区,同上select partition 5 # 给EFI分区起个盘符assign letter=f

然后把U盘中的 CLOVER 分区所有内容拷贝到f盘,直接复制粘贴就可以。

修改 config.plist

不知道你注意没有,开机的时候会有很多log,这一步骤可以去掉。打开config.plist,找到这一行。

<string>-v npci=0x2000 debug=0x100 keepsyms=1</string>把 -v 去掉后保存。然后把下面timeout那项的时间改成5或者其他。

注意:这里更改的是f盘的config.plist

然后重启电脑,在BIOS启动顺序中,把刚才设置的引导分区(F盘的)设置为第一启动,保存后重启。

现在的默认引导就是Clover了。

加载其他驱动

现在看看还有没有其他的驱动需要安装,如果有,那么就在网上直接搜索你的硬件型号,然后在上面那个驱动仓库里面寻找对应的驱动。有些驱动确实是无解的,只能更换硬件。注意,注入驱动之后要重建权限缓存,这部分就不在这里讲了,各位客官网上去搜搜吧。

备选方案

如果使用上面的方法,在 Recovery 中,网卡没有办法驱动,那么可以先把镜像下载下来。然后烧录到另一块U盘(至少16G)中,然后使用上面制作的EFI分区(U盘)去引导这个镜像。那么下面就说说做法。

首先按照上面的办法,先把分区分好,一个EFI分区(本地硬盘),一个Mac安装所在分区。

下载原版安装镜像

如果有Mac系统

打开设置中的软件更新,下载10.15。

下载完成之后,在启动台里面应该有一个下面这样的图标。

插上U盘,打开命令行执行

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume [U盘地址]

等一会启动盘就制作完成了。

无Mac系统

如果没有Mac系统,可以从网上找一找原版镜像,我也在上传,上传之后会贴出来。

Windows下面制作U盘镜像需要一个额外的软件TransMac。他不是一个免费软件,但是提供免费试用。

打开时候选择U盘,右键 Save Image of Disk,选择镜像,等一会就制作完成了。

引导原版镜像

接下来的工作就是使用上面分好的EFI分区(U盘),来引导U盘的原版镜像。插上原版系统的U盘和Clover引导U盘,开机从EFI分区启动,到Clover界面,如下:

我们不能使用原版系统自带的引导功能进行引导,由于我们的电脑不是真正的苹果,需要Clover模拟并加载相应的硬件驱动才可以正确引导安装镜像

引导之后进入下面的页面

然后选择 Disk Utility ,把刚才我们那个250GB的那个系统分区格式化为APFS格式。

“Mac OS 扩展(日志式)”格式文件系统是 macOS Sierra 或更早版本的默认文件系统。它使用日志式技术帮助保护分层文件系统的完整性,并提供可用来保护磁盘上数据的加密选项。

在 macOS High Sierra 中,它被 Apple 文件系统 (APFS) 取代,这是配备固态硬盘的 Mac 电脑的默认文件系统。

不要像我这样乱起名字,因为他就是Mac系统的盘符,多丑呀,不过后面可以更改 =。=

退出这个App,然后选择 Install MacOS,安装到刚刚格式化好的分区。

安装完成时候,他会自动重启,重启到Clover。这时候发现多一个引导项。

等待安装,没什么问题就可以进入系统了。

电脑

接下来的工作,参考主方案的后续工作,来制作本地硬盘引导分区,以及驱动的安装等等。

本文篇幅有点长,感谢您的耐心。