本文介绍了如何提取Android Boot分区镜像,包括环境准备、完整提取流程和GSI侧载详细步骤。
环境准备
1 2 3 4 5
| sudo apt install android-tools-adb android-tools-fastboot
adb devices
|
完整提取流程
1. 提取当前boot镜像
1 2 3 4 5 6
| adb shell su dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot.img exit exit adb pull /sdcard/boot.img
|
2. 备份全部分区(危险操作!)
1 2 3 4 5 6
| adb reboot bootloader fastboot oem unlock fastboot getvar all > partitions.txt fastboot flash recovery recovery.img fastboot boot recovery.img adb pull /dev/block/bootdevice/by-name/ backup/
|
GSI侧载详细步骤
1. 准备GSI镜像
1 2 3 4 5
| wget https://dl.google.com/developers/android/qsc/gsi/gsi_gms_arm64-exp-UP1A.231005.007-10366268.zip
unzip gsi_gms_arm64-exp-*.zip
|
2. 刷入GSI
1 2 3 4
| adb reboot fastboot fastboot flash system system.img fastboot -w fastboot reboot
|
高级操作
解包/打包boot镜像
1 2 3 4 5 6
| git clone https://github.com/AndroidImageKitchen/AIK-Linux.git cd AIK-Linux unpackimg.sh ../boot.img make changes... repackimg.sh
|
签名boot镜像
1 2 3 4 5 6
| openssl genrsa -out key.pem 2048 openssl req -new -x509 -key key.pem -out certificate.pem java -jar avbtool.jar add_hash_footer \ --image boot.img \ --key key.pem \ --algorithm SHA256_RSA2048
|
注意事项
Bootloader解锁:
- 会清除设备所有数据
- 部分厂商设备需申请解锁码(如小米、华为)
- 可能失去保修资格
安全验证:
1 2
| fastboot oem device-info fastboot verify boot.img
|
恢复模式:
法律风险:
- 部分国家/地区禁止修改bootloader
- 使用GSI需遵守Google许可协议
故障排查
1 2 3 4 5 6 7 8 9 10
| adb shell ls -l /dev/block/by-name
lsusb | grep -i android
fastboot flash boot stock_boot.img fastboot flash recovery stock_recovery.img fastboot oem lock
|
参考文档:
Android GSI文档
XDA开发者论坛
Windows平台适配指南
环境准备
1 2 3 4 5 6 7 8
| $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest -Uri "https://dl.google.com/android/repository/platform-tools-latest-windows.zip" -OutFile platform-tools.zip Expand-Archive -Path platform-tools.zip -DestinationPath "$env:USERPROFILE\Android\" $env:Path += ";$env:USERPROFILE\Android\platform-tools"
winget install -e --id Google.USBDriver
|
提取boot镜像(PowerShell)
1 2 3 4 5 6 7
| adb devices
adb shell "su -c 'dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot.img'" adb pull /sdcard/boot.img "$env:USERPROFILE\Desktop\boot.img"
|
刷入GSI镜像
1 2 3 4 5 6 7 8 9 10 11 12
| adb reboot bootloader
fastboot devices
fastboot flash system "$env:USERPROFILE\Downloads\system.img"
fastboot -w fastboot reboot
|
Windows专用工具
Android Image Kitchen for Windows
下载地址:https://forum.xda-developers.com/t/tool-android-image-kitchen-v3-8-1-win-android-linux-macos.2073775/
1 2 3 4 5
| .\unpackimg.bat boot.img
.\repackimg.bat
|
HashTag Kernel Toolkit
可视化工具支持一键提取/刷入boot镜像
驱动问题排查
1 2 3 4 5 6 7 8
| adb kill-server adb start-server adb devices
1. 设备管理器 → 找到"Android Bootloader Interface" 2. 右键更新驱动 → 浏览计算机查找 → 从可用列表选择"Android Bootloader Interface"
|
安全启动配置
1 2 3 4 5 6
| Confirm-SecureBootUEFI
bcdedit /set {current} testsigning on bcdedit /set {current} nointegritychecks on
|
多平台命令对照表
| 操作 |
Linux/MacOS |
Windows PowerShell |
| 安装工具 |
sudo apt install android-tools-adb |
winget install platform-tools |
| 提取boot镜像 |
adb pull /sdcard/boot.img |
adb pull /sdcard/boot.img $env:USERPROFILE\Desktop |
| 解包镜像 |
./unpackimg.sh |
.\unpackimg.bat |
| 查看设备列表 |
lsusb |
Get-PnpDevice -Class USB |
| 环境变量设置 |
export PATH=$PATH:/path/to/tools |
$env:Path += ";C:\path\to\tools" |
Windows专属注意事项
- 使用PowerShell 7+ 而非CMD以获得完整功能
- 长路径问题:在注册表编辑器中启用长路径支持
1 2
| [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "LongPathsEnabled"=dword:00000001
|
- 避免中文路径:所有工具路径建议使用英文命名
- 杀毒软件例外:将platform-tools目录添加到杀毒软件白名单
推荐Windows工具包: