|
|
dsu也可以加载另一个系统,但这里以分区表法实现多系统,分区表法要改分区表,所以要格式化userdata会损失所有数据的。
本文用双系统为例,当然三系统四系统都是一样的。这里以传统分区为例,动态分区也可以用这个方法,但也有特用的方法。
所谓的双系统其实就是补全另一个槽位,使得两个槽位的分区完整,然后通过修改分区名或者bootctl进行两个系统的切换,这就达到了多系统的目的。
这一操作过程中,最好还是拥有一个第三方rec,要不然操作失误只能去刷救砖包。
当然你也可以在开机状态终端里面直接执行命令,需要你没有任何错误操作。
首先在你手机上的bin文件夹看看有没有sgdisk或者parted,
没有的话就下载我提供的,丢一个进去,记得改改文件权限。或者busybox或者用cd命令cd了sgdisk的位置再执行命令
你的twrp可能不支持sgdisk或者parted的命令,那是因为你的rec里面没有这个工具 你可以先取消挂载system分区,然后把sgdisk或者parted复制到system文件夹里面。
可以用cd命令cd了sgdisk的位置在执行命令,当然也可以解包rec,添加到ramdisk/sbin/中,打包制成新的twrp,如图:
由于本人习惯使用sgdisk,于是后文都以sgdisk命令为主
因为重新分区需要格式化,所以我建议新建一个txt,
命令打好后改为***.sh,之后进twrp执行./文件路径/***.sh
这里先普及一下命令:
1,查看:sgdisk /dev/block/sda --print
2,删除分区:sgdisk /dev/block/sda --delete分区号
3,新建分区:sgdisk /dev/block/sda --new=分区号:开始:结束
4,改名:sgdisk /dev/block/sda --change-name=分区号:名字
5,格式化:mke2fs -t ext4 /dev/block/sda分区号(这里是格式化为ext4格式)
6,恢复别人修改好的分区表:dd if=/文件位置 bs=512 count=1024 of=/dev/block/sda
7,备份自己的分区表,dd if=/dev/block/sda of=/文件位置 bs=512 count=1024
除非是和你一个设备一个储存容量,不然不要照搬别人的分区表。
最好自己写。
━━━━━━━━━━━━━━━━━━━━━
1MiB=1~256,按此计算开始和结尾就行。
先用命令1查一下分区类型,有super就是动态分区,没有就是传统分区,记住userdata分区的id,这里是sda
ab是最简单的,先把底包刷入另一个没有激活的槽,底包就是官方9、官方10这种名字的包
一般来说,传统ab只需要将userdata分割为2个就行了,一个给a,一个给b就能实现完美双系统,虽然说通过修改fstab也能实现一个userdata给两个系统用,但你要双清或者twrp备份data的时候就十分难受了,这里还是建议分成两个userdata。
我们打开当前系统的/vendor/etc/fstab.xxxx,这个后缀不一定相同,但文件名一定含有fstab,
【搜索fileencryption=ice,里面的fileencryption改为encryptable】//解密data,让你不会卡二屏幕,也可以看着都删了
【搜索adb,包含vbmeta的语句都要删了】//去掉avb校验,让你不会卡一屏幕。
【我们找到里面的/dev/block/bootdevice/by-name/userdata,将他们都替换成/dev/block/sda前面记下的id,这里就是替换为/dev/block/sda】
【用命令2删除userdata,用命令3新建两个分区,用命令4将当前槽位的userdta随便取一个名字,另一个分区赋名为userdata】
【重启进twrp,用命令5,格式化这两个分区】
之后只要把底包和rom刷入另一个槽开机就行了,然后解密data和avb操作跟上面一样,改名随意。
最后就可以用bootctl命令任意切换两个系统了。
//最后一行是让ab公用一个内置储存空间
aonly系统相对而言麻烦一点,解包一个rom,看看里面有哪几个分区
删除userdata分区,将这几个分区都新建上,还要多新建一个userdata,都赋名,
解密data去掉avb跟上面一样操作
使用命令7备份当前分区表
然后把新建的分区对应的原来分区都改名,新建的分区名改为正确的
再用命令7备份分区表。
去twrp把新建的分区都格式化一遍,然后刷入rom包的img进那几个对应分区
切换就进了另一个新建的系统
最后就可以用命令6恢复分区表的方式来切换ab两个系统了。
这就是传统分区的多系统方式了,有super的动态分区,一是把super当成物理分区,多建立一个super,也就是本文方式,二就是把super按动态分区的逻辑来操作,下次来说。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|