LGFirmwareExtract 教程
什么是 LGFirmwareExtract?
LGFirmwareExtract 是一款专门用于解包 LG 官方固件(KDZ, TOT, LGQ 文件) 的开源工具,LG 官方固件通常是一个大型的单一文件,格式特殊,无法直接解压,而这款工具可以将其转换为多个独立的、可刷写的分区镜像文件(如 boot.img, system.img, recovery.img 等),这对于刷机、修改系统、提取驱动或进行固件分析非常有用。

适用场景
- 刷机爱好者:提取
boot.img或recovery.img来制作自定义 Recovery 或刷入第三方内核。 - 开发者/ROM 制作者:提取
system.img和vendor.img来修改系统文件,制作第三方 ROM。 - 普通用户:提取
modem分区来修复网络问题,或提取boot.img来 Root 设备。 - 驱动提取:从固件中提取所需的驱动程序文件。
准备工作
在开始之前,请确保你已经准备好以下所有内容:
-
LG 官方固件文件:
- 格式:通常是
.kdz或.tot文件。.lgq格式也受支持。 - 来源:从 LG 官方支持网站(如 XDA Developers论坛 或专门的固件网站)下载与你设备型号完全匹配的固件。
- 格式:通常是
-
LGFirmwareExtract 工具:
- 下载地址:GitHub - LGFirmwareExtract
- :下载最新的
LGFirmwareExtract.zip压缩包。
-
Python 环境:
(图片来源网络,侵删)LGFirmwareExtract是一个 Python 脚本,因此需要你的电脑上安装了 Python。- 检查:在命令提示符(CMD)或 PowerShell 中输入
python --version或py --version,如果看到版本号(如 Python 3.9.x),说明已安装。 - 安装:如果没有安装,请访问 Python 官网 下载并安装。重要:安装时请勾选 "Add Python to PATH" 选项。
-
LGUP 或 Mobile Support Tool (MST):
- 为什么需要?:LG 固件的元数据信息(即
.tot或.kdz文件的结构)通常存储在 LG 官方的刷机工具LGUP.exe或Mobile Support Tool (MST)的配置文件中。 - 如何获取:从 LG 官网下载适用于你电脑的 LGUP 或 MST 工具,你不需要安装或运行它,只需要解压它,以获取其中的
config文件夹。
- 为什么需要?:LG 固件的元数据信息(即
-
合适的目录结构:
- 为了方便,建议在桌面或 D 盘创建一个文件夹,
LGFirmwareExtract。 - 将下载的
LGFirmwareExtract.zip解压到这个文件夹中。 - 将下载的 LG 官方固件(
myphone.kdz)也放到这个文件夹。 - 将解压后的
LGUP或MST文件夹中的config文件夹复制到LGFirmwareExtract文件夹内。
你的最终目录结构应该看起来像这样:
D:\LGFirmwareExtract\ ├── LGFirmwareExtract.py (解压后的主脚本) ├── config\ (从 LGUP/MST 复制过来的文件夹) │ ├── phone.xml │ └── ... (其他 xml 文件) ├── myphone.kdz (你的 LG 固件文件) └── (其他可能需要的文件) - 为了方便,建议在桌面或 D 盘创建一个文件夹,
详细操作步骤
假设你已经按照第三步准备好了目录结构,现在开始解包。

第 1 步:打开命令行工具
- Windows: 按
Win + R键,输入cmd或powershell,然后按回车,这会打开命令提示符或 PowerShell 窗口。 - macOS / Linux: 打开“终端”(Terminal)。
第 2 步:导航到工作目录
使用 cd (Change Directory) 命令,切换到你创建的 LGFirmwareExtract 文件夹。
# 示例,如果你的文件夹在 D 盘 cd D:\LGFirmwareExtract
第 3 步:执行解包命令
在命令行中,输入以下格式的命令并按回车:
python LGFirmwareExtract.py [你的固件文件名] [设备型号] [输出目录]
[你的固件文件名]:你的固件文件名,myphone.kdz或myphone.tot。[设备型号]:你的手机型号,LM-G900(LG G8 ThinQ)。[输出目录]:你想要存放提取文件的文件夹,可以是一个新文件夹名,extracted_files。
完整命令示例:
python LGFirmwareExtract.py myphone.kdz LM-G900 extracted_files
第 4 步:等待解包完成
执行命令后,工具会开始工作,你会看到命令行窗口中显示进度信息,"Processing...", "Extracting partition: boot.img" 等,这个过程可能需要几分钟到十几分钟,具体取决于固件大小和电脑性能。
第 5 步:检查输出结果
解包完成后,命令行会显示 "Done!" 或类似的提示信息,你会在指定的输出目录(extracted_files 文件夹)中找到所有提取出来的分区镜像文件。
D:\LGFirmwareExtract\
├── extracted_files\ (新生成的文件夹)
│ ├── boot.img
│ ├── system.img
│ ├── recovery.img
│ ├── modem.img
│ ├── cache.img
│ └── ... (其他所有分区)
├── config\
├── LGFirmwareExtract.py
└── myphone.kdz
常见问题与解决方法
问题 1:Error: Unable to find metadata for device 'LM-G900'.
- 原因:工具找不到与你设备型号匹配的元数据文件,这些文件位于
config文件夹中。 - 解决方法:
- 确保你已经从
LGUP或MST中解压并复制了config文件夹到你的工作目录。 - 确保设备型号拼写完全正确,检查固件文件名或手机设置中的型号。
config文件夹里没有你的型号,你可能需要寻找更新的LGUP版本,或者在网上搜索该型号的特定config文件。
- 确保你已经从
问题 2:python is not recognized as an internal or external command...
- 原因:Python 的路径没有被添加到系统环境变量中。
- 解决方法:
- 重新运行 Python 安装程序,确保勾选 "Add Python to PATH"。
- 或者,直接使用完整路径调用 Python,
C:\Python39\python.exe LGFirmwareExtract.py ...。
问题 3:解包过程中断或报错,提示文件损坏。
- 原因:固件文件本身可能已损坏,或下载不完整。
- 解决方法:重新下载 LG 官方固件,确保文件完整。
问题 4:解包后找不到某个特定分区(如 vendor.img)。
- 原因:这很正常,并非所有固件都包含所有分区,较新的 Android 设备通常将
vendor分区单独存放,或者你的固件版本可能不包含它。 - 解决方法:尝试下载其他版本(如更新或更旧的)的固件进行解包,看看是否包含该分区。
提取出的文件有什么用?
boot.img:内核和ramdisk,用于启动系统,是制作自定义 Recovery 或刷入 Magisk 进行 Root 的关键文件。recovery.img:恢复模式镜像,用于系统恢复、清除数据、安装 OTA 更新等。system.img:系统分区,包含 Android 操作系统的核心文件。vendor.img:厂商分区,包含设备制造商添加的特定
