现在请下载我们的 Bootloader 解锁工具。
根据您正在使用的操作系统,我们提供两种方法。
请点击以下按钮下载该工具。下载完成之后,请解压到不含空格的文件夹内,否则工具将无法正常运行。
如果出现以下错误提示,说明您可能已经安装过驱动了。
现在您已经准备好使用 Bootloader 解锁工具了。
驱动安装完成之后,请直接打开 HCTSW_Care_UU4.cmd 主程序开始 Bootloader 解锁操作,流程相当简单。该工具包含了简体中文界面,配图以英文演示。准备好并接受注意事项之后,输入Y,然后按照解锁工具提示在手机上确认 Bootloader 解锁即可。
对于大多数机型,解锁完成 Bootloader 之后,该工具还可以为手机获取 Root 权限。但如果您错过了此机会,您可以重新打开该工具以获取 Root 权限。
‘reg’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。
您的 “PATH” 变量数值已经损坏。如需修复,请开始按钮按下鼠标右键,选择运行,然后输入:
SystemPropertiesAdvanced
然后点击 “环境变量…” 按钮,将系统变量中的 “Path” 数值改为:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;C:\Program Files\dotnet\;
解锁工具直接闪退了!
请检查 PATH 变量是否被损坏,然后请确保您解压出来的路径不包含空额或括号。如果您的用户名包含空格,请避免将其解压到桌面上。
错误:无法连接到光卡科技 API 服务器。错误编码为:6
请检查您是否可以访问 https://api.hikaricalyx.com/ 。如果出于特别原因无法访问(例如:您位于福建省泉州市),则需要使用里面的 OfflineMode 并联系我们协助完成。
我们并未找到您的订单。
如果您认为这并不正确,请凭有效的订单号咨询光卡科技。错误代码:00001006
如果您确认在我们的网站上提交了解锁申请,请检查您是否输入了正确的序列号。如果您的设备序列号为 0123456789ABCDEF,则无法使用此服务。
错误:客户端文件损坏或版本过低。请重新下载安装最新的版本。
错误代码:00002005
请确保您是从我们的网站下载了最新版本的 UU4,而不是其它任何网站。我们的服务器不接受任何未经授权的修改。
错误:您的操作系统未安装通用 C 运行库 (KB2999226)。
如果未能安装 KB2999226 更新,则您正在使用过时的操作系统。请升级到 Windows 10 或更新版本。
我们假设您熟悉 Bash Shell 命令,并且已正确配置 Android SDK 平台工具。
我们已在以下 Linux 发行版上测试了此过程:
我们不能保证它能在 Termux、UserLAnd 或 Kali NetHunter 下运行。
您需要 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-ADB 和所有必要的先决条件。 在继续之前,您可以查看 install.sh 中写入的内容。
macOS 的先决条件安装过程尚未编写,因此您必须了解如何使用 Homebrew 来安装先决条件。
您有两种方法进入 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 映像。
现在您已经启动到服务引导加载程序,您可以继续进行引导加载程序解锁过程。 首先,执行此命令授予服务权限。
$ python3 auth_utility/fihGetPermission.py --uu4hash 1234
如果您看到类似下面的输出:
Security Version: 0004
Project Code: A1N1
PSN: A1NGA5xxxxxxxxxx
UID: D92F8C834538AD2654374904FDDA5B80C736C2E7
并且退出码为0,则说明您已成功授予服务权限。 现在您可以解锁 Bootloader。
执行以下命令以解锁 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 (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
这两款机型的操作流程极为复杂,请谨慎操作!
$ 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 的全部步骤。
既然您已经阅读到了这里,我估计您已经知道如何从 Rooted ADB Shell 提取 Boot 镜像了。
然而,对于 Nokia 3.1 A / C (EAG) 以及 Nokia 3.1 Plus C (RHD),进入 Rooted ADB Shell 会导致解锁状态被重置回未解锁状态,因此我们建议您在解锁 Bootloader 之前就将 Boot 镜像提取出来。