第 3 步

根据您 PC 正在使用的操作系统,我们提供两种方法。该页面在移动端可能访问体验不佳,因此我们建议您在桌面端访问此页面以获得最佳阅读体验。


Windows

请点击以下按钮下载该工具。下载完成之后,请解压到不含空格的文件夹内,否则工具将无法正常运行。

安装驱动

请打开 Drivers 文件夹内的 setup.exe 安装驱动。请勿直接打开上面列出的任何 MSI 文件。驱动安装完成之后,请双击导入 RegistryFix.reg 以尽量避免 USB 控制器的不兼容问题。

如果出现以下错误提示,说明您可能已经安装过驱动了。

现在您已经准备好使用 Bootloader 解锁工具了。

开始解锁 Bootloader

驱动安装完成之后,请直接打开 HCTSW_Care_UU4.cmd 主程序开始 Bootloader 解锁操作,流程相当简单。该工具包含了简体中文界面,配图以英文演示。准备好并接受注意事项之后,输入Y,然后按照解锁工具提示在手机上确认 Bootloader 解锁即可。

对于大多数机型,解锁完成 Bootloader 之后,该工具还可以为手机获取 Root 权限。但如果您错过了此机会,您可以重新打开该工具以获取 Root 权限。

macOS, BSD or Linux (点击展开)

我们假设您熟悉 Bash Shell 命令,并且已正确配置 Android SDK 平台工具。

我们已在以下 Linux 发行版上测试了此过程:

  • Debian 11 AMD64, ARMHF, ARM64 (Raspberry Pi OS)
  • 这也包括 Chrome OS 的 Linux 子系统。
  • Ubuntu 20.04 and Ubuntu 22.04 AMD64
  • Fedora 36 AMD64
  • openSUSE Tumbleweed AMD64
  • Deepin / UOS 20.7 AMD64

我们不能保证它能在 Termux、UserLAnd 或 Kali NetHunter 下运行。

下载 Windows 版 UU4 并解压

您需要 Windows 版 UU4 内包含的 Bootloader 镜像文件以确保您可以解锁 Bootloader。我们假设您将其解压到了 ~/uu4win/ 

安装提权程序

执行这些命令来安装先决条件。 我们假设您正在主目录下工作(~,或 /home/your_user_name/ ):

$ git clone https://github.com/HikariCalyx/uu4-linux
$ cd uu4-linux
$ sudo bash install.sh

这样做将安装 Python-Fastboot 和所有必要的先决条件。 在继续之前,您可以查看 install.sh 中写入的内容:

$ pip install -r requirements.txt

macOS 的先决条件安装过程尚未编写,因此您必须了解如何使用 Homebrew 来安装先决条件。

进入 Fastboot 模式,并检查解锁请求是否正确提交

您有两种方法进入 Fastboot 模式。 除了您熟悉的“adb reboot bootloader”命令之外,您还可以通过执行以下命令进入Fastboot模式:

$ fastboot oem alive

然后将手机关机连接电脑。

要检查解锁请求是否正确提交(注意,不能跳过此步骤),您必须执行:

$ python3 auth_utility/checkOrder.py --uu4hash 1234 --mode check

如果您看到以下内容,退出代码为 0:

{'orderNumber': 'HCT-F1914001111', 'orderStatus': 'processing'}

那么这意味着您已成功请求我们服务器上的引导加载程序解锁。 您现在可以继续。 如果您看到一堆错误消息,请检查您的电脑是否可以访问 https://api.hikaricalyx.com

授予服务权限,并写入服务引导加载程序

在继续之前,您应该执行:

$ fastboot oem getversions

示例输出:

(bootloader) model=A1N
(bootloader) sub_model=none
(bootloader) software version=A1N-5140-0-00WW-B01
(bootloader) SW model=00WW
(bootloader) build number=B01
(bootloader) hardware version=3.0
(bootloader) RF band id=G_850_900_1800_1900^W_1_2_5_8^C_0^T_34_39^L_1_2_

请记下 software version 一行,这对于少数手机来说很重要。

要授予服务权限,您需要执行:

$ python3 auth_utility/fihGetPermission.py --uu4hash 1234

如果您看到类似下面的输出:

Security Version: 0004
Project Code: A1N1
PSN: A1NGA5xxxxxxxxxx
DM-Veracity Challenge: 37394611CA83C2960FF9F957BBCD503A6E7FA545

并且退出码为0,则说明您已成功授予服务权限。 现在您可以刷新服务引导加载程序映像。

请找到您手机的引导加载程序映像目录,并将其刷新到您的手机,如下所示:

## 使用 emmc_appsboot 的手机需要像这样刷写:
$ fastboot flash aboot ~/uu4win/bootloader_image/(actual_path_for_your_phone)/emmc_appsboot_service.mbn
## 使用 abl 和 xbl (如果有) 的手机需要像这样刷写:
$ fastboot flash abl ~/uu4win/bootloader_image/(actual_path_for_your_phone)/abl_service.elf
$ fastboot flash xbl ~/uu4win/bootloader_image/(actual_path_for_your_phone)/xbl_service.elf
## 使用 lk 的手机需要像这样刷写:
$ fastboot flash lk_a ~/uu4win/bootloader_image/(actual_path_for_your_phone)/lk_service.img
$ fastboot flash lk_b ~/uu4win/bootloader_image/(actual_path_for_your_phone)/lk_service.img
$ fastboot reboot-bootloader

所有引导加载程序映像均按 SoC 型号和项目代码进行分类。 对于联发科机型,LK版本比较敏感,刷入错误版本的LK镜像可能会导致手机无法开机。 对于高通机型,请确保为您的手机选择正确的 ABL/XBL/ABOOT 映像。

再次授予服务权限并执行 Bootloader 解锁(对于大多数型号)

现在您已经启动到服务引导加载程序,您可以继续进行引导加载程序解锁过程。 首先,执行此命令授予服务权限。

$ python3 auth_utility/fihGetPermission.py --uu4hash 1234

如果您看到类似下面的输出:

Security Version: 0004
Project Code: A1N1
PSN: A1NGA5xxxxxxxxxx
UID: D92F8C834538AD2654374904FDDA5B80C736C2E7

并且退出码为0,则说明您已成功授予服务权限。 现在您可以解锁 Bootloader。

适用于除 Nokia 8.1/X7 (PNX) 和 Nokia 9 (AOP) 之外的大多数高通机型

执行以下命令以解锁 Bootloader:

$ fastboot oem fih on
$ fastboot oem devlock allow_unlock
$ fastboot flashing unlock_critical
## 如果需要,请在手机上确认解锁,然后回到 Fastboot 模式
$ python3 auth_utility/fihGetPermission.py --uu4hash 1234
$ fastboot oem fih on
$ fastboot oem devlock allow_unlock
$ fastboot oem unlock-go
## 如果需要,请在手机上确认解锁

国行 Nokia 6.1 的额外步骤

如果您使用的不是 Nokia 6.1,请不要执行此过程。

如果您使用的是国行 Nokia 6.1 (TA-1054) 或富士康内部定制的运行特殊版本固件的 Nokia 6.1,并且想随后安装 Lineage OS,则必须安装海外版 ROM 的引导加载程序映像,然后重复上面的引导加载程序解锁过程。

要确认您是否使用的是国行 Nokia 6.1,请检查“fastboot oem getversions”的输出。

(bootloader) model=P2C
(bootloader) sub_model=none
(bootloader) software version=PL2-347I-0-00CN-B02
(bootloader) SW model=00CN
(bootloader) build number=B01
(bootloader) hardware version=3.0
(bootloader) RF band id=G_850_900_1800_1900^W_1_2_5_8^C_0^T_34_39^L_1_2_

如果 model 一行显示 P2C,则您正在使用国行版 Nokia 6.1。如果 SW model 一行显示 00CN 那您也在使用国行固件,但如果不是,则可以跳过此步骤。

要安装海外版 ROM 引导加载程序映像并再次执行引导加载程序解锁,请执行以下命令:

$ cd  ~/uu4win/bootloader_image/SDM660-835/PL2-C1N-4/P2C_additional/
$ fastboot flash partition gpt_both0.bin
$ fastboot flash abl_a ../abl_service.elf
$ fastboot flash xbl_a ../xbl_service.elf
$ fastboot flash tz_a tz.mbn
$ fastboot flash rpm_a rpm.mbn
$ fastboot flash hwcfg hwcfg.img
$ fastboot flash hyp_a hyp.mbn
$ fastboot flash pmic_a pmic.elf
$ fastboot flash keymaster_a keymaster64.mbn
$ fastboot flash cmnlib_a cmnlib.mbn
$ fastboot flash cmnlib64_a cmnlib64.mbn
$ fastboot flash dsp_a dspso.bin
$ fastboot flash devcfg_a devcfg.mbn
$ fastboot flash sec sec.dat
$ fastboot flash tz_a tz.mbn
$ fastboot flash systeminfo_a systeminfo.img
$ fastboot reboot-bootloader
$ cd ~/uu4-linux/
$ python3 auth_utility/fihGetPermission.py --uu4hash 1234
$ fastboot oem CustomerSKUID set 600WW

然后,重复上面的引导加载程序解锁过程。 引导加载程序解锁完成后,您可以继续进行 Lineage OS 安装或海外版工厂镜像的安装。

对于联发科机型

只需执行以下两句命令。

$ fastboot flashing unlock
## 按一下音量加确定解锁
$ fastboot reboot

对于 Nokia 8.1/X7 (PNX) 或 Nokia 9 (AOP)

这两款机型的操作流程极为复杂,请谨慎操作!

$ fastboot oem fih on
$ fastboot oem allport
$ fastboot oem fuar
## 您的手机应该已经进入 Rooted ADB Shell 了,执行以下命令检查。
$ adb shell uid
## 为避免手机未内置 busybox,我们推送一个自己的 busybox
$ adb push ~/uu4win/bin/linux/arm64/busybox /data/local/tmp/b
$ adb shell chmod +x /data/local/tmp/b
$ adb shell /data/local/tmp/b dd if=/dev/block/bootdevice/by-name/mfd of=/data/local/tmp/mfd.img
$ adb shell /data/local/tmp/b dd if=/dev/block/bootdevice/by-name/securefs of=/data/local/tmp/securefs.img
$ adb pull /data/local/tmp/mfd.img
$ adb pull /data/local/tmp/securefs.img
$ psn=$(adb shell getprop ro.serialno)
$ printf ${psn} | dd of=~/uu4win/bootloader_image/SDM710-845/mfdaop.img bs=1 seek=112 count=16 conv=notrunc
$ adb push ~/uu4win/bootloader_image/SDM710-845/mfdaop.img /data/local/tmp/
$ adb shell /data/local/tmp/b dd if=/data/local/tmp/mfdaop.img /dev/block/bootdevice/by-name/mfd
## 仅适用于 Nokia 8.1/X7 (PNX) - 请勿在 Nokia 9 (AOP) 执行
$ adb push ~/uu4win/bootloader_image/SDM710-845/PNX/2-abl_service.elf /data/local/tmp/a
## 仅适用于 Nokia 9 (AOP) - 请勿在 Nokia 8.1/X7 (PNX) 执行
$ adb push ~/uu4win/bootloader_image/SDM710-845/AOP/4-abl_service.elf /data/local/tmp/a
$ adb shell /data/local/tmp/b dd if=/data/local/tmp/a of=/dev/block/bootdevice/by-name/abl_a
$ adb shell /data/local/tmp/b dd if=/data/local/tmp/a of=/dev/block/bootdevice/by-name/abl_b
$ adb reboot bootloader
$ fastboot flash unlock ~/uu4win/bootloader_image/SDM710-845/nb1collision.key
$ fastboot flashing unlock_critical
## 请在30秒内确认解锁,否则消息会自动消失
## 当手机提示 Erasing 时,请执行以下命令
$ fastboot oem alive
$ fastboot flash unlock ~/uu4win/bootloader_image/SDM710-845/nb1collision.key
$ fastboot flashing unlock
## 请在30秒内确认解锁,否则消息会自动消失
## 当手机提示 Erasing 时,请执行以下命令
$ fastboot oem alive
$ python3 auth_utility/fihGetPermission.py --uu4hash 1234
$ fastboot flash mfd mfd.img
$ fastboot flash mfdbk mfd.img
$ fastboot flash securefs securefs.img
$ fastboot flash securefsbk securefs.img
## 仅适用于 Nokia 8.1/X7 (PNX) - 请勿在 Nokia 9 (AOP) 执行
$ fastboot flash abl ~/uu4win/bootloader_image/SDM710-845/PNX/6-abl.elf
## 仅适用于 Nokia 9 (AOP) - 请勿在 Nokia 8.1/X7 (PNX) 执行
$ fastboot flash abl ~/uu4win/bootloader_image/SDM710-845/AOP/5-abl.elf

以上就是解锁 Bootloader 的全部步骤。

如何提取 Boot 镜像用于 Magisk Root?

既然您已经阅读到了这里,我估计您已经知道如何从 Rooted ADB Shell 提取 Boot 镜像了。

然而,对于 Nokia 3.1 A / C (EAG) 以及 Nokia 3.1 Plus C (RHD),进入 Rooted ADB Shell 会导致解锁状态被重置回未解锁状态,因此我们建议您在解锁 Bootloader 之前就将 Boot 镜像提取出来。