/Lenovo-V2000-macOS

本指南旨在 Lenovo V2000 Bigger 笔记本电脑上,步步为营地安装 macOS Catalina

Primary LanguageASL

小黑 型号
主板 Lenovo Lancer 5A5 BIOS Version: 9BCN29WW
主板芯片组 Intel Lynx Point-LP 南桥, Intel Haswell 北桥
CPU Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz 可睿频至 3.1GHz
集显 Intel HD Graphics 4400 Haswell-ULT GT2
独显 NVIDIA GeForce 840M
声卡 Conexant CX20751/2
有线 Realtek RTL8168/8111 PCI-E Realtek RTL8168GU
无线和蓝牙 Intel 3160 AC
触控板 ELAN

概述

本指南旨在 Lenovo V2000 Bigger 笔记本电脑上,步步为营地安装 macOS Catalina

已将原本的无线网卡替换成了 Broadcom BCM94352Z (DW1560)。

此款笔记本电脑的 BIOS 中含有 WiFi 白名单,在更换无线网卡之前,依照 该指南(英文) 攻克它。

BIOS 设置

恢复 BIOS 到默认状态后,再设置:

  • UEFI Boot: Enabled
  • Secure Boot: Disabled
  • Legacy Boot (but UEFI first) (这样在启动时可以有效地减少“花屏”)

提醒:可保持独立显卡在 BIOS 中的启用状态。它将会在运行 macOS 时,被 Hotpatch 编译的 AML 自动禁用。

准备 USB、开始安装

  1. 打开 Disk Utility 将 U盘 抹成 GUID 分区方案下的 APFSMac OS 扩展(日志式) 分区格式。

参考 apple logo 如何抹掉 Mac 磁盘

  1. 使用下面的 createinstallmedia 命令创建用于引导安装 macOS 的 U盘。其中 USB_Volume 为你的 U盘 卷名。
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB_Volume

参考 apple logo 如何创建可引导的 macOS 安装器

  1. 安装 CloverBootloader 到 U盘,可从 Github logo CloverBootloader 下载最新版本的 CloverBootloader。
  2. RealtekRTL8111.kext 复制到 U盘 EFI/CLOVER/kexts/Other,作为必要的网络支持。

RealtekRTL8111.kext 可从 Bitbucket logo OS-X-Realtek-Network 下载获得

  1. ApplePS2SmartTouchPad.kext 复制到 U盘 EFI/CLOVER/kexts/Other,以驱动键盘和 ELAN 触控板。

ApplePS2SmartTouchPad.kext 位于本仓库的 Kexts 目录中

  1. 使用本仓库中的 config.install.plist 作为安装 macOS 时,U盘 的 EFI/CLOVER/config.plist

完成安装后

使用 U盘 的 Clover 引导进入刚安装好的 macOS,
同样,再次安装 CloverBootloader 到笔记本硬盘。
接着,依照以下步骤,来完善 macOS。

  1. 接入网线,打开 Terminal,安装开发者工具:
xcode-select --install

此时会收到系统会提示,根据提示完成安装

  1. 下载此项目:
git clone https://github.com/Fansaly/Lenovo-V2000-macOS
cd Lenovo-V2000-macOS
  1. 下载 工具、kext 和 hotpatch:
make download

可输入 make download-tools make download-kexts make download-hotpatch-bplan 分别单独下载

  1. 解压缩上一步下载的文件:
make unarchive
  1. 编译生成 DSDT/SSDT aml 文件:
make
  1. 安装 DSDT/SSDT aml、kexts 和 drivers:
make install

可输入 make install-aml make install-kexts make install-drivers 分别单独安装

  1. 手动替换 Clover 的 config.plist:
efi_dir=$(make mount)
cp config.plist ${efi_dir}/EFI/ClOVER

替换完成后,应该自定义 SMBIOS 中的 Serial NumberBoard Serial NumberSmUUID,等等

下载、安装和更新,依赖于 Config/config.plist

Makefile 其它功能

make mount              # 挂载 EFI 分区
make backup             # 备份 EFI/CLOVER
make update-kexts       # 检查 kexts 的更新
make upgrade-kexts      # 升级 kexts(下载/安装)
make update-kextcache   # 更新系统 kext 缓存
make update-repo        # 更新本地项目

提醒:应当始终保持本地项目kexts 为最新。

EFI/CLOVER/drivers/UEFI

  • Recommended
    • FSInject.efi
  • File System
    • ApfsDriverLoader.efi
    • VBoxHfs.efi
  • Memory fix
    • OpenRuntime.efi
  • Custom
    • VirtualSmc.efi 由 make install-drivers 安装(无需额外操作)

 

电源管理

注意,Hackintosh 不支持 写入到磁盘S4 的休眠模式。需要禁用它:

sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage

即使我们巧妙地使用了一个同名的目录来帮助我们禁用它,但是每当系统更新后往往会重新启用它,因此每次系统更新完成之后都需要检查并禁用它。

 

已知问题

音频:在初次安装或者新增、更新 kext 之后,声卡可能不工作。

修复方法:正常重启(如果需要,可以重启多次)

 

致谢

acidanthera, lvs1974, RehabMan, the-braveknight, vit9696, etc.

自己使用

因为个人是使用同一个硬件控制3个系统,所以有一点自己的体会

Win10的默认启动

当EFI目录下有一个Microsoft目录就会自动进入Windows 10,此点基本无解。现在使用Arch的Systemd-boot,将Microsoft修改为Win10,使用systemd-boot来管理启动

MacOS的双屏显示

因为个人习惯是使用外接多一个HDMI显示器,但在默认的显示配置中是无法使用。所以自己通过hackintool,尝试用HD4600的配置驱动起来。同时有一个奇怪的情况,这时BIOS使用UEFI会主屏花屏,但副屏正常。因为个人经常会多系统使用,所以就使用UEFI,当登录MacOS后在副屏中通过系统设置,改变一次主屏的分辨率,就可以让主副屏都正常

Monterey 蓝牙

在升级到Monterey后蓝牙无法打开,反复尝试后可以打开蓝牙了。参考https://zhuanlan.zhihu.com/p/404324240可以使用了

遗留问题

现在复位时无法找到EFI,只能重新开机可以,具体原因不明。

MacOS睡眠后唤醒会重新启动