[教程] 关于Moto G51的系统分区结构和AB分区方式

发表于 2023-2-12 18:04   |   来自Chrome浏览器 [复制链接]   
18620 0  

moto g51 的分区结构为动态AB分区,并且使用了动态分区将 system system_ext product vendor 这四个分区包含在一个 super的物理分区里面

在AP Fastboot 模式下是无法刷写上面四个分区的,但可以刷写 super 这个物理分区,所以如果要在AP Fastboot 模式下刷写这四个分区需要将其先使用 lpmake 命令行工具进行打包

如果要只刷入 system 分区,需要让手机重启到 fastbootd 模式下进行刷写,命令在下面

注意:AP fastboot 和 fastbootd 是两个不一样的模式,通常所说的 使用 电源键+音量- 进入的是 AP fastboot 模式,而使用 fastboot reboot fastboot 命令进入的是 fastbootd 模式

# 这一步重启到 fastbootd 模式下, 进入到 fastbootd 模式下后 屏幕上会显示红色大字 fastbootd 字样
fastboot reboot fastboot

# 这是清空 system 分区
fastboot erase system

# 刷入一个img镜像文件到system分区,将 your_imgage.img 替换为要刷写的镜像文件路径
fastboot flash system your_image.img

注意:上面的镜像文件分为 稀疏镜像格式 和 原始镜像格式 ,如果刷入原始镜像格式需要提前使用 fastboot 命令修改 system 分区大小,如果是 稀疏镜像格式 那么 fastboot 命令会自动更改 system 分区的大小,修改system 分区大小的命令在下面

# 修改 system 的分区大小必须在 fastbootd 模式下

# 这是修改system分区的大小, <size> 替换为一个整数, 单位为字节
fastboot resize-logical-partition system <size>


关于moto G51 采用的动态AB分区结构

动态AB分区 和 虚拟AB分区(VAB) 不同 动态AB分区中 槽位A 和 槽位B 都存在于 ROM 中 也就是说同时占用了两个槽位的空间,在这个分区结构下只要刷了槽位A 不管刷不刷槽位B 它都占用了一个系统的空间,在moto G51 中 AB 两个槽位的空间一共占用了 20GB左右的样子,而用户的数据分区(也就是通常安装APP的空间)为102GB,修改系统如果一个槽位改坏了
无法开机的情况下也不用担心,因为这个分区结构在一个槽位多次尝试无法成功启动后就会将另一个槽位设置为活动通常需要另一槽位上也有完整可启动的系统,bootloader会自动切换到另一个槽位,如果在A就切换到B槽位上

moto g51 刷写系统方式通常有以下几种:

# 刷入镜像到当前的活动槽位上, 例如当前为A槽位就将 boot.img 刷入到 boot_a 分区
fastboot flash boot boot.img

# 刷入到非活动槽位上,例如当前为A槽位就刷入到 boot_b 分区
fastboot --slot=other flash boot boot.img

# 同时刷写AB两个槽位上,不管当前的活动槽位是A还是B,即将boot.img 刷写到 boot_a 和 boot_b 两个分区
fastboot --slot=all flash boot boot.img
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则