首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

预算只有 4000 元,如何购买一台高配苹果笔记本?

如果你喜欢的是苹果的工业设计和 Retina 屏,抱歉,这是不可能的。即便你在二手交易平台上也不可能。

但是如果你在意的是 MacOS,那么你可以考虑尝试一下黑苹果 (Hackintosh),也就是在普通的 PC 机上安装 MacOS

与安装 Linux 相比,安装 MacOS 的难点在于苹果的一些硬件定义不同,并且某些硬件缺乏驱动。

最近花了 4000 多,买了一个笔记本 Dell 15 5577,在业余时间中完成了黑苹果的安装,在此分享一下整个过程,希望对那些希望尝试黑平果的同学有一点帮助。

首先要声明,我绝对算不上什么大神,只是一个勤劳的搬运工,对相关知识一些整理。

因为大神们的不懈努力,现在黑苹果的过程已经越来越简单了。

基础知识

为了成功黑苹果,我们需要科普一些基础的知识。

计算机硬件需要 BIOS,也就是 Basic Input & Output System,顾名思义,定义了计算机的硬件地址和最基础的输入输出功能,例如唤醒与休眠功能等。而操作系统则是在 BIOS 之上,通过 BIOS 来对计算机硬件进行控制的。

对于传统的计算机主板,使用 Legacy BIOS,写在主板的 ROM 中;但是随着技术发展,EFI BIOS 逐渐成为主流。EFI 也就是 Extensible Firmware Interface,它的“可拓展性”是 Legacy BIOS 所没有的。

BIOS 的一个重要任务是引导操作系统加载,即 bootloader。EFI 会有自己的磁盘分区,通过识别这个分区中的 *.efi 文件实现对操作程序的引导。在这个分区中,也可以对 EFI 的行为进行配置。这个分区通常是不可见的。

另外一个概念是 ACPI,Advanced Configuration and Power Management Interface,即高级配置和电源管理接口,也是 BIOS 程序中的一部分,用于操作系统的调用。其中的 DDST 主要描述了计算机中各个设备的详情,而 SSDT 则定义了操作系统对这些设备的调用方法和每个方法的行为。

由于苹果和 PC 在 DDST 中对设备的定义不同,所以有时需要修改 DSDT 文件。而 Windows 和 Mac 对某些设备行为的要求也不同,因此需要编辑 SSDT。而 ALC (ACPI Source Language) 就是专门用来修改这 DSDT 和 SSDT 的编程语言。

经过二进制编码、可执行的 DSDT 和 SSDT 文件以 aml 为结尾;借助一些工具,可以将 aml 文件转换为可以阅读、编辑的 dsl 文件。

最后说一下 kext,大致可以理解为 MacOS 上的驱动文件。

开始动手

了解自己的电脑

苹果对不同硬件的支持程度不同,因此在动手之前建议对自己的硬件有一些了解,我有几个小方法。

对于组装台式机,购买的时候自己选择就好。但是对于笔记本而言,最简单的是通过鲁大师查看,但是依然可能会漏一些必要信息,那就建议找找同系列机型的拆机过程,硬件多半是相同的。还是找不到的话可能就需要自己拆开机器了 (我还没这么悲摧)。

参考阅读:

对硬件兼容有初步认识:https://www.tonymacx86.com/threads/laptop-compatibility.106791/

几个黑苹果中的常见问题:https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/

基本操作

tonymacx86 中把黑苹果分成了 5 个步骤 ,即

获取 MacOS 安装包

使用 UniBeast 准备引导 U盘 (这一步需要准备好一些必要、基础的驱动)

设置 BIOS

开始安装 MacOS

使用 MultiBeast 设置电脑上的引导区和必要文件

这几个标准步骤完成后,一个 MacOS 就应该可以在电脑上跑起来了。但是完成了这部分工作,可能只完成了整个黑苹果过程的 20%,之后的驱动安装与问题解决才是大头。

基本操作部分请参阅https://www.tonymacx86.com/threads/unibeast-install-macos-high-sierra-on-any-supported-intel-based-pc.235474/

驱动安装与问题解决

这是需要一些技巧、精力和运气的部分,需要用到的工具、技巧我将在下一部分介绍。

通常情况下,键盘、鼠标、基本显示、有线网卡、USB 都已经准备好了。但是还是有很多需要解决的问题。

电源管理

因为 MacOS 的休眠策略,某些设备在休眠唤醒后无法正常工作,这是第一个需要解决的问题。

https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/

https://www.tonymacx86.com/threads/guide-how-to-patch-dsdt-for-working-battery-status.116102/

无线网络/蓝牙

现在的很多笔记本都没有网线接口了,无线网络就变得更重要了。

最简单的是挑选一个 MacOS 支持较好的无线网卡,毕竟更换网卡的技术难度和资金成本都不大,比如 Brcm94352。当然你需要首先确认自己的无线网卡接口和大小。

https://www.tonymacx86.com/threads/guide-airport-pcie-half-mini-v2.104850/

显卡

核心显卡的问题通常不会太多,但是独立显卡就要麻烦很多。

显卡通用问题:

https://www.tonymacx86.com/threads/read-me-first-graphics-setup-troubleshooting.183617/

处理显存问题:

https://www.firewolf.science/2015/04/guide-intel-hd-graphics-5500-on-os-x-yosemite-10-10-3/

处理休眠唤醒后的显示问题:

https://www.tonymacx86.com/threads/solved-black-screen-after-upgrade-to-high-sierra.237050/page-5

声卡

苹果原生支持的声卡,是可以直接使用苹果自带驱动的;而没有支持的声卡,则需要安装第三方的驱动程序

安装声卡驱动前的准备:

https://www.tonymacx86.com/threads/before-you-install-audio-desktop-realtek-applehda-guide.219810/#post-1492288

安装声卡驱动的过程:

https://www.tonymacx86.com/threads/applehda-realtek-audio-guide.234732/#post-1606764

驱动安装与问题解决的工具与技巧

主要工具包括:

Clover:一个非常强大的工具,包括:

能够创建 EFI 引导分区

导出和加载、动态修改 DSDT、SSDT 文件

能够加载 kext

伪装 BIOS 系统信息等

Clover Configurator:编辑 Clover 的配置文件 config.plist

EFI Mounter:用于挂在 EFI 分区

KextBeast:用于安装 kext 文件

iasl:用于将 aml 格式的文件转换为 dsl 格式的文件

MaciASL:用于编辑 DSDT 和 SSDT 文件

IORegistryExplorer:用于查看系统中设备的注册情况

Clover 引导页面设置

进入 Clover 引导页面时,有几个小技巧:

光标移动选中希望启动的磁盘,点击空格后,勾选上 -v (verbose) 后,可以看到启动过程中的日志,这对于问题排查有极大的帮助。

另外 Clover 的页面提供了 EFI Shell 的功能,进入命令行后,输入即可打开 Clover 自身所在的分区,并在命令行中对 config 进行修改,或者增加/删除文件。

在 Clover 的 config 中,有可以直接选择某一个配置文件的配置选项,或者对显卡等设备的属性进行设置。

plist 修改

plist 是一种配置文件,Clover 和 kext 文件中的配置都使用了这个格式。

plist 本身是使用 xml 写的,但是不建议使用纯文本编辑器进行编辑。

编辑 Clover 的配置文件建议使用 Clover Configurator,而且要下载最新版本的,因为封装了 Clover 的所以配置。

编辑 kext 的配置,就建议使用 xcode 或者 PlistEditor Pro,同样会对数据进行封装,但是更加灵活。

在论坛中看到的绝大多数的设置都是对 Clvoer 配置文件的设置。因此先熟悉一下 Clover Configurator 中的配置项会有比较大的帮助。

处理 DSDT 和 SSDT

明白十六进制/十进制/二进制当然是必备的,有一点编程知识是最好的,熟悉 ASL 就更棒了。

具体如何进行处理,建议参考https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/这里有非常详细的说明。

如果希望对 ASL 有深入的了解 (当然也不是很有必要),可以查阅http://www.acpi.info/DOWNLOADS/ACPI_5_Errata%20A.pdf

修改、安装 kext

根据需求不同,kext 文件可能安装在

EFI 分区,例如 Clover 的

前两个需要使用 KextBeast 这样的 kext 安装工具。而最后一种,直接将文件复制进去就好了。

查看设备注册的属性

使用 IORegistryExplorer 即可查看设备的 vendorID、productID 地址信息等必要信息。

Xcode 工程编译

这个技能绝大多数情况下都用不到,我也没用到。但是如果有的硬件比较奇特,而对应的 kext 中没有支持时,就可能需要使用了。

我的电脑

Dell 15 5577 的配置如下:

CPU:i5-7300HQ

主板:HM175

显卡:HD630 + GTX1050

硬盘:128G + 1T SATA

内存:8G

屏幕:15.3inch,1080P

声卡:ALC256

有线网卡:RTL8111

蓝牙/Wi-Fi:Brcm95432

我把具体的过程写在 tonymacx86 网站上了,可以访问以下网址浏览:

https://www.tonymacx86.com/threads/guide-dell-15-5577-works-with-10-13-2.241795/

感悟

我始终相信一句话,有时候你学了什么东西,当时觉得没什么用,但是在不经意的某一天也许就真的有用了。

比方这一次黑苹果的过程,因为之前自己安装过 Windows 系统,所以对系统引导等知识有过了解,在设置 U盘启动盘时,就相对轻松了;plist 文件使用的 xml 格式我之前在做 Python 爬虫的时候有稍微了解,因此编辑起来也相对轻松;ASL 编辑中使用的正则表达式,也是自己在某些文件处理的时候学习过的。

这样说来,这次黑苹果的经历,也很可能会在未来的某一个时刻,给我带来价值。等大家都在天桥上贴膜的时候,也许我可以租一个门面,为大家安装系统,Windows、MacOS 都可以,白的、黑的也都行。

如果大家需要手把手教学的话,欢迎咨询报价!

文章封面来自: jarmoluk from Pixabay

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171231G0P40V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券