刷机教程 / BOOTLOADER

索尼 XZ Premium 日版 SO-04J 解锁 BL 教程

日版 Xperia XZ Premium SO-04J 的解锁分为五步:刷入支持临时 Root 的 Oreo 系统、准备 N59 引导、备份 TA、写入配套 P114 ABL/XBL,再用 Xperable 完成 BL 解锁。下面按操作顺序说明工具、命令与成功标志。

动手前确认三件事
  • 仅适用日版 Docomo SO-04J 和这组明确版本的文件;其他 XZ Premium 不能直接照搬分区路径。
  • 先备份个人数据和本机 TA;ABL、XBL 的持久刷写有无法保证恢复的变砖风险。
  • 只有看到 patched successfully,才在同一蓝灯会话执行解锁,并以 unlocked:yes 验证。

适用范围与风险边界

请在「设置 → 关于手机」核对型号为 SO-04J,运营商为 Docomo。所需完整系统是 SO-04J_47.1.F.1.105_1309-4945_R18B(Oreo);第二阶段只取 SO-04J_45.0.B.2.179_1309-4945_R7A 中匹配的 bootloader_X_BOOT_MSM8998_LA1_1_N_59_G 引导文件,不是把完整系统刷回 Nougat。随后写入的是这套 SO-04J 流程适配的 P114 ABL 与 XBL,不是其他型号的引导文件。

高风险操作:先在电脑及其他安全位置备份照片、账号、验证器等数据。写入 ABL、XBL 会持久修改 Bootloader,刷错镜像或设备分区可使手机无法启动,且不保证能恢复;它与后续 Xperable 的临时内存补丁不是同一操作。BL 状态变化也可能导致已有用户数据无法解密,需要清除数据才能恢复启动。不要刷写 persist,不要用另一台手机的 TA 备份。

本流程的 N59 不等同于其他教程的 xfl-o77.mbn;不要混刷两种引导流程。XZ1、XZ1 Compact 请看XZ1 日版解锁教程;XZ2 / XZ3 请看对应平台教程。

需要准备哪些工具与文件?

项目用途及可信入口
Windows、USB 线、驱动准备 Flashmode、Fastboot 驱动,直连稳定 USB 接口;参考解锁工具页面。
Platform ToolsAndroid 官方 ADB / Fastboot,电脑端命令在其目录的 PowerShell 中执行。
SO-04J 完整 Oreo 固件47.1.F.1.105 / 1309-4945_R18B;在ROM 下载首页按型号、运营商与版本核对来源。
SO-04J N59 引导文件45.0.B.2.179 / 1309-4945_R7A 中的 LA1_1_N_59_G 引导部分,须明确对应 SO-04J。
Newflasher项目发布入口;分别用于完整固件、独立 N59 引导目录刷写。
bindershell-v2临时 Root 工具与适配讨论;确认包支持 SO-04J 当前 Oreo 版本。
P114 ABL、XBL准备适配 SO-04J 此流程的 abl.mbn、xbl.mbn,核对原始发布方、包签名及公布的校验值;无法确认匹配来源和校验信息时,不刷分区。
Xperable项目发布说明、项目文件目录;准备 Windows 可执行文件和配套 LinuxLoader-p114.pe,放在同一目录。

下载后先对照发布页确认文件名、目标机型与版本,并核对发布方提供的签名或包校验值。在各文件所在 PowerShell 目录计算 SHA-256,例如:

Get-FileHash -Algorithm SHA256 .\abl.mbn
Get-FileHash -Algorithm SHA256 .\xbl.mbn

人工逐字比较结果与对应发布信息,不把某个文件名当作校验通过的证据。发布信息没有可比对的校验值或无法追溯来源时,暂停,不要用未经核实的 ABL / XBL 尝试写分区。下文电脑端统一使用 PowerShell 的 .\adb.exe、.\xperable.exe 写法。

步骤 1:刷入 SO-04J 完整 Oreo 固件

  1. 确认固件包是 SO-04J_47.1.F.1.105_1309-4945_R18B,解压后检查其中的 .sin 文件;把 Newflasher 放进该完整固件工作目录。
  2. 备份数据并关机。按住音量下键接入电脑,绿色指示灯表示 Flashmode。
  3. 在完整固件目录运行 .\newflasher.exe,逐项阅读实际交互提示,确认目标与擦除选择后刷写;不要机械输入固定次数的 n,也不要额外刷写 persist。
  4. 刷写完成后启动到 Android,确认「关于手机」仍是 SO-04J 和 47.1.F.1.105。开启开发者选项与 USB 调试,允许电脑的调试授权。

在 Platform Tools 文件夹的 PowerShell 中检查:

.\adb.exe devices

完成标志:系统显示指定的 Oreo 版本,ADB 序列号后为 device。显示 unauthorized 时先在手机上授权。

步骤 2:只刷 45.0.B.2.179 的 N59 引导部分

从 SO-04J_45.0.B.2.179_1309-4945_R7A 中找到确认为本机适用的 bootloader_X_BOOT_MSM8998_LA1_1_N_59_G 文件,建立独立工作目录,只放这组需要刷入的引导文件与 Newflasher。不要把该旧版本完整系统的其他 .sin 文件混入目录,也不要把它解释成刷入完整 Nougat 系统。

  1. 关机,按住音量下键连接电脑,确认绿灯 Flashmode。
  2. 在独立目录运行 .\newflasher.exe;依据实际提示核对本次列出的引导文件与目标后刷写,不能照固定的按键次数操作。
  3. 刷写完成后拔线并开机。再次确认能够进入 47.1.F.1.105 的 Oreo、USB 调试仍可用,执行 .\adb.exe devices 检查连接。

完成标志:旧版 N59 引导部分已刷入,而 Android 仍能开机并被 ADB 识别。若无法进入系统,不要继续刷 ABL / XBL。

步骤 3:获取临时 Root 并备份本机 TA

将适配此固件的 bindershell-v2 可执行文件重命名或放置为 bindershell,在 Platform Tools 目录打开 PowerShell:

.\adb.exe push bindershell /data/local/tmp/
.\adb.exe shell
cd /data/local/tmp
chmod 755 ./bindershell
./bindershell
id

上面 cd 起在设备 shell 内执行;提示符变为 # 且 id 含 uid=0 才是取得 Root。否则核对当前固件及工具的 SO-04J 支持范围,不要写分区。

保持 Root shell,在设备中先确认 TA 路径存在,再读取本机 TA:

ls -l /dev/block/bootdevice/by-name/TA
dd if=/dev/block/bootdevice/by-name/TA of=/data/local/tmp/TA-locked.img
chown shell:shell /data/local/tmp/TA-locked.img
sync

核对 dd 没有读取错误、records in 与 records out 一致。if= 是设备 TA 输入,of= 是备份输出,绝不可倒置。在电脑另开 Platform Tools PowerShell 窗口:

.\adb.exe pull /data/local/tmp/TA-locked.img
Get-FileHash -Algorithm SHA256 .\TA-locked.img

核对文件成功传出并妥善保管副本,记录本机型号与备份哈希。TA 含设备专属数据,不公开传播,不使用别台手机的备份。若 TA 映射不存在或读取失败,暂停核查,不能假定其他分区编号就是 TA。

完成标志:uid=0 且本机 TA-locked.img 已保存到电脑。临时 Root 重启即失效,下一步保持当前 Root shell。

步骤 4:核对分区映射,再写入匹配的 P114 ABL / XBL

停下核对:下面的 /dev/block/sde9 和 /dev/block/sdb1 只针对确认采用这组映射的 SO-04J;不能作为所有 XZ Premium 的通用路径,也不能根据编号猜测。写入是持久修改 Bootloader,高风险且不保证能恢复。

先在电脑端 Platform Tools PowerShell 上传已核实来源与校验信息的 SO-04J P114 文件:

.\adb.exe push abl.mbn /data/local/tmp/abl.mbn
.\adb.exe push xbl.mbn /data/local/tmp/xbl.mbn

保持设备的 # Root shell,列出分区标签所指向的实际设备:

ls -l /dev/block/bootdevice/by-name/

逐项解析该机符号链接,只有明确确认 ABL 对应 /dev/block/sde9、XBL 对应 /dev/block/sdb1,且镜像与此机型、方案匹配,才执行下列写入命令。标签可能采用其他命名或路径,不能假定一定存在名为 abl 的条目;如果输出不足以证实映射、有多个含义不清的分区或无法核对,立即停止,绝不试写。

dd if=/data/local/tmp/abl.mbn of=/dev/block/sde9 bs=4096
sync
dd if=/data/local/tmp/xbl.mbn of=/dev/block/sdb1 bs=4096
sync

每条 dd 都要检查无错误、records in 与 records out 相符,等待 sync 完成;不要误将 if= 与 of= 对调。任何异常都应停止后续步骤,不能通过继续写另一分区碰运气。

完成标志:两份镜像的来源和校验信息可核对,分区映射已确认,写入与同步无错误。之后才进入蓝灯 Fastboot。

步骤 5:Xperable 打补丁、解锁并验证

退出设备 shell 并关机,按住音量上键接线,蓝灯亮起表示 Fastboot。在 Platform Tools 目录运行 .\fastboot.exe devices 确认设备序列号。然后在放有 xperable.exe 与 LinuxLoader-p114.pe 的目录打开 PowerShell,先查询版本:

.\xperable.exe -v -V -B -U

确认版本包含 LA2.0_P_114。版本不符时不要运行补丁,返回上一步核对引导文件;版本正确再执行:

.\xperable.exe -v -V -B -U -4

检查输出是否包含 LinuxLoader ... patched successfully。看到该提示后,保持同一蓝灯会话,不拔线、不重启,执行:

.\xperable.exe -v -V -c "oem unlock Y" -1

确认解锁命令返回 OKAY,然后单独执行重启:

.\xperable.exe -c reboot -1

若 -4 未成功,先强制重启手机并重新进入蓝灯 Fastboot,不要只拔插 USB 线;再可尝试另一种补丁方式:

.\xperable.exe -v -V -B -U -5

-5 不保证比 -4 更容易成功。每次失败后都强制重启 Fastboot 清理状态,未看到 patched successfully 时不得发解锁命令。若成功则按上面的“同一会话解锁 → 确认 OKAY → 重启”顺序操作;参数诊断参见Xperable 使用教程和参数助手中的“XZ1 / XZP”模式,候选测试不能代替分区核对。

重启后再次进入蓝灯 Fastboot,在 Xperable 目录查询:

.\xperable.exe -A

-A 查询 getvar all,找到 unlocked:yes 才算已解锁;Bootloader unlock allowed: Yes 只表示官方解锁资格,不能代替解锁结果。

完成标志:解锁命令返回 OKAY,重新进入 Fastboot 后 -A 返回 unlocked:yes。

常见故障与处理方法

现象处理
ADB 未授权或找不到手机确认已进入 Oreo、开启 USB 调试并同意授权;排查驱动、线缆与端口,不能在绿灯或蓝灯模式执行 Android shell 命令。
bindershell 仍是 $未取得 Root;核对 SO-04J 固件 47.1.F.1.105、N59 引导及 bindershell-v2 的适配信息,勿继续执行 dd。
分区标签找不到或指向不同设备停止写入。不要依赖其他机型的 sde9/sdb1 映射,也不要猜测标签或分区号。
Fastboot 找不到设备、Pipe error、I/O 错误或超时先检查蓝灯驱动、线材、USB 端口和 LinuxLoader-p114.pe;强制重启回到 Fastboot 再尝试。单独的传输错误不能证明 size 太大;如需调整传输块,可在诊断命令中使用 -b,不是以 -B 代替。
未出现 patched successfully不要发送解锁命令。核对 P114、N59、Loader 匹配情况;按参数教程诊断,每轮失败都强制重启 Fastboot。
解锁后不能进入系统先用 -A 确认解锁状态。BL 状态变化可能使已有数据无法解密;按 SO-04J 的匹配固件、Recovery / ROM 指引处理,必要时擦除用户数据,切勿擦写 persist。

常见问题

可以用 XZ1 的 xfl-o77 文件代替 N59 吗?

不可以。这套 SO-04J 流程以对应 N59 引导文件和匹配 P114 ABL / XBL 为前提;其他教程的 XFL 与本步骤不是互换件。

解锁 BL 会清除 DRM 或解除 SIM 锁吗?

此方法不以主动擦除 DRM 密钥为步骤,但不保证误刷后仍保留全部功能;预先备份本机 TA,不要碰 persist。回锁不能修复已丢失的密钥。BL 解锁与运营商 SIM 解锁是两件事。

解锁之后能直接刷支持 NFC 的 LineageOS 20 内核吗?

不能只凭“XZ Premium”或解锁成功选择内核。只有发布方明确支持 SO-04J、Android 13 和当前匹配的 ROM,且能核对镜像来源与刷入说明,才考虑使用。第三方 ROM 的 NFC 能否工作取决于内核与设备适配,不由 BL 解锁保证。

只看到 unlock allowed: Yes 或补丁传输完成,算成功吗?

不算。要先看到 patched successfully,在同一 Fastboot 会话取得解锁 OKAY,重启再用 -A 确认 unlocked:yes。

解锁后按 SO-04J 型号查找 ROM

前往首页查找 ROM 下载,逐项核对 SO-04J、Docomo、地区、Android 版本与 Recovery / ROM 发布要求。刷第三方 ROM 前使用确切支持此机型的 Recovery、内核及安装说明,不要把其他 XZ Premium 或 XZ1 固件直接刷入。

前往首页查找 SO-04J ROM
技术参考与致谢

Xperable 文档 · bindershell 发布讨论。