前言

motorola 和 one plus 应该是目前中国大陆的手机品牌最容易解锁的一款了,其他的都已经被招安内置审查app了。

G75 版本更新策略,找到有两种

一个是 5 个系统版本更新,6个安全更新

Thank you for taking the time to reach out to us. I understand how important updates are to everyone. The device is planned to receive 5 OS upgrades and 6 years of bimonthly security updates from the time of release. [1]

一个是 3 个系统大版本号,6个安全更新

Thanks for reaching out! The Motorola G75 is confirmed to receive 3 major Android updates along with 6 years of security patches. We appreciate your interest and understand how important updates are to keep your device running smoothly. If you have any other questions, feel free to ask. [2]

国际版与大陆版区别如下:
  • EU/GB installer 没有审查;大陆版 installer 有审查,但是还是可以装。
  • EU/GB 附带 Google 套件可以离线收到通知;大陆版内置了 google service 开关,尝试很多方法没法离线收到通知。
  • EU/GB 不带 钱包/漫游等功能,NFC门禁无法使用。
  • EU/GB 没有状态栏 sim 卡小图标,没有网速显示。
  • EU/GB 内置 quick share,大陆版没有 。(期待 Google 下放到 quick share to airdrop,目前还不可以使用,只有 pixel 10 和 Samsung 可以)。

目前没有看到 moto g75 有其他 aosp 社区有提供这个手机型号。

motorola系列解锁

开启 OEM 解锁

进入「设置 → 关于手机」页面,设备标识符 (英文版是Device identifiers)快速轻敲「版本号」(英文版是 build number)5 下。

打开「设置 → 系统」页面,点击「高级」选项,进入「开发者选项」页面,从列表中找到「OEM 解锁」选项,并启用它。

获取设备ID

这里大多数教程都是让你下载 Tiny Fastboot Script,实际上不需要。首先可以重启手机,进入 fastboot 模式(开机震动后按住音量+)如下界面是未解锁。

image-20251130211739690

手机连接 USB 至电脑,连接后右下角会提示 USB Connected.

note
这里使用手机或者使用电脑连接都可以。

image-20251130212114482

获取设备ID

note
此步骤需要安装了 adb,或者直接使用其他教程推荐的 Tiny Fastboot Script(二选一)
text
1
2
3
fastboot devices
fastboot oem get_unlock_data
fastboot oem unlock <your code>

获取解锁码

进入网址 “There are 4 steps involved in unlocking your device”,建议直接使用 google 登录,这样邮件就直接发送到你的 Gmail 里了。

获取设备ID(示例)

text
1
2
3
4
5
6
Example Device ID (PC User) $ fastboot oem get_unlock_data
(bootloader) 0A40040192024205#4C4D3556313230
(bootloader) 30373731363031303332323239#BD00
(bootloader) 8A672BA4746C2CE02328A2AC0C39F95
(bootloader) 1A3E5#1F53280002000000000000000
(bootloader) 0000000	

拼接设备ID,把上面的输出的“5行”信息(不包含空格,(bootloader),换行符等信息),拼接成一行,输入到网页下面的输入框内,如图所示。

image-20251130213216755

点击按钮 “Can my device be unloced”, 如果可以,可以拉到页面最下部会出现获取解锁key的按钮

image-20251130213451724

这时候会收到邮件,解锁码会在邮件内。然后回到命令行输入

text
1
fastboot oem unlock <your code>

这时手机会弹出选择,按音量键选择解锁,按电源键确定

image-20251130213816038

quote
需要注意的是,解锁后的手机,每次开机界面都需要按两次电源键来交互式确认手机已经解锁的提示。

下载官方rom

在网上找到一个各个国家版本比较全,也比较新的 ROM 下载地址,附录3 [3] ,这里尝试了 EU 和 GB 两个版本均正常使用,区别在于 EU 开机预装的软件比 GB 少很多。

quote
尽量选择欧洲的版本,那边对隐私立法比较完善,其他非法制地区的版本可能存在后门。

如图所示,这个网址提供的两个下载文件,一个是安装脚本(类似 Tiny Fastboot Script 等封装),另外一个就是安装包了。

image-20251130214813486

下载后吧 Flash Fastboot Script 和 ROM 全部解压放置到同一个目录下。我自己尝试用 “Flash Fastboot Script” 总是无法执行。让 AI 帮忙生成了刷机脚本。

刷基带版本

text
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
@echo off
chcp 65001 >nul
echo.
echo ========================================
echo  Moto G75 完整刷机(包含基带)
echo ========================================
echo.
pause

set M=tools\mfastboot\34.0.4\mfastboot.exe

REM 检查 mfastboot 是否存在
if not exist %M% (
    echo 错误:找不到 %M%
    pause
    exit /b 1
)

echo.
echo [1/15] 刷入 bootloader...
%M% flash bootloader bootloader.img
if errorlevel 1 goto error

echo.
echo [2/15] 刷入 GPT 分区表...
%M% flash gpt gpt.bin
if errorlevel 1 goto error

echo.
echo [3/15] 刷入 logo(启动画面)...
%M% flash logo logo.bin
if errorlevel 1 goto error

echo.
echo [4/15] 刷入 BTFM(bootloader 固件)...
%M% flash BTFM BTFM.bin
if errorlevel 1 goto error

echo.
echo [5/15] 刷入 NON-HLOS(modem 主固件)...
%M% flash NON-HLOS NON-HLOS.bin
if errorlevel 1 goto error

echo.
echo [6/15] 刷入 FSG(频段/地区配置)...
%M% flash fsg fsg.mbn
if errorlevel 1 goto error

echo.
echo [7/15] 刷入 DSP(数字信号处理)...
%M% flash dsp dspso.bin
if errorlevel 1 goto error

echo.
echo [8/15] 刷入 NVM(调制解调器 NVM)...
%M% flash nvme_backup slcf_rev_d_default_v1.0.nvm
if errorlevel 1 goto error

echo.
echo [9/15] 刷入 boot 分区...
%M% flash boot boot.img
if errorlevel 1 goto error

echo.
echo [10/15] 刷入 dtbo 分区...
%M% flash dtbo dtbo.img
if errorlevel 1 goto error

echo.
echo [11/15] 刷入 vendor_boot 分区...
%M% flash vendor_boot vendor_boot.img
if errorlevel 1 goto error

echo.
echo [12/15] 刷入 vbmeta 验证分区...
%M% flash vbmeta vbmeta.img
if errorlevel 1 goto error

echo.
echo [13/15] 刷入 vbmeta_system 验证分区...
%M% flash vbmeta_system vbmeta_system.img
if errorlevel 1 goto error

echo.
echo [14/15] 刷入 super 分区(系统/vendor/product)...
for /L %%i in (0,1,18) do (
    echo   - 刷入 super.img_sparsechunk.%%i
    %M% flash super super.img_sparsechunk.%%i
    if errorlevel 1 goto error
)

echo.
echo [15/15] 重启设备...
%M% reboot

echo.
echo ========================================
echo  刷机完成!设备正在启动...
echo ========================================
echo.
echo 首次启动可能需要 2-3 分钟,请耐心等待
pause
exit /b 0

:error
echo.
echo ========================================
echo  错误:刷机失败!
echo ========================================
echo 请检查设备连接并重试
pause
exit /b 1

不包含基带版本

text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
@echo off
echo ========================================
echo  完整刷机(包含基带)
echo ========================================
pause
set M=tools\mfastboot\34.0.4\mfastboot.exe

echo 刷入 bootloader...
%M% flash bootloader bootloader.img

echo 刷入 GPT 分区表...
%M% flash gpt gpt.bin

echo 刷入 logo(启动画面)...
%M% flash logo logo.bin

echo 刷入 BTFM(bootloader 固件)...
%M% flash BTFM BTFM.bin

echo 刷入 NON-HLOS(modem 主固件)...
%M% flash NON-HLOS NON-HLOS.bin

echo 刷入 FSG(频段/地区配置)...
%M% flash fsg fsg.mbn

echo 刷入 DSP(数字信号处理)...
%M% flash dsp dspso.bin

echo 刷入 NVM(调制解调器 NVM)...
%M% flash nvme_backup slcf_rev_d_default_v1.0.nvm

echo 刷入 boot 分区...
%M% flash boot boot.img

echo 刷入 dtbo 分区...
%M% flash dtbo dtbo.img

echo 刷入 vendor_boot 分区...
%M% flash vendor_boot vendor_boot.img

echo 刷入 vbmeta 分区...
%M% flash vbmeta vbmeta.img

echo 刷入 vbmeta_system 分区...
%M% flash vbmeta_system vbmeta_system.img

REM 刷 super 分区
for /L %%i in (0,1,18) do (
    echo 刷入 super.img_sparsechunk.%%i
    %M% flash super super.img_sparsechunk.%%i
)

echo 刷入基带和系统完成
%M% reboot
pause

这里尝试使用两部大陆版 Moto G75 (XT2437-4) 尝试,一部直接刷 EU 版,没有刷基带,正常启动。另外一部刷 GB 版,没有刷基带无法开机,系统分区错误了。这里重新使用刷基带版本刷后正常启动。

这里标注一些基带点相关的文件

  • bootloader - 引导加载程序
  • gpt - 分区表
  • BTFM - Bootloader 固件
  • NON-HLOS - Modem 主固件(调制解调器)
  • fsg - 频段/地区信息
  • dsp - DSP 固件
  • nvme_backup - 调制解调器 NVM 配置
quote
这里不需要在意变不变砖,操作过程中可以随意的插拔手机,启动不了就重新执行脚本即可。

刷机脚本执行过程界面如下

image-20251130215949034

执行完成后手机会自动重启。

Reference

[1] OS & software update Moto G75

[2] Re:How many OS updates will the Motorola G75 get?

[3] rom g75

[4] mirrors.lolinet.com