适用于华为平板C5(BZT | 您所在的位置:网站首页 › 华为刷双系统win › 适用于华为平板C5(BZT |
该方法或许不仅适用于该平板,但up只在该平板上做过测试 C5平板系华为面向企业的定制机型,因此其定制ROM的功能往往局限而特殊,这篇专栏将讨论如何在保存原系统的情况下使用正常ROM功能。 如标题所示,我们将使用双系统的方式实现。 首先,需要向平板中刷入twrp(此处不再赘述),另为以防万一请做好备份。 下面我们将通过修改分区挂载点使系统在启动时从SD卡挂载分区,因此您需要容量较大且速度较快的SD卡(up测试时用的低速SD卡,系统卡顿很严重)。 以下两步均在twrp下执行(没有截图),请先在twrp下重新挂载所有分区 为SD卡分区 1.将parted放入/system/bin/文件夹下,并将读写权限设置为755. 2.在终端中输入命令"parted /dev/block/mmcblk1"进入parted操作SD卡(终端会由"~#"变为”(parted)")。 3.输入指令"mklable gpt"重建gpt分区表,这一步将清除SD卡所有数据。 4.为保证平板可以正常识别SD卡,将第一个分区建立为FAT32的正常分区,输入指令 “mkpart primary fat32 0% 10%" 此处up为其分配了10%的空间(其实可以更小) 5.下面您可以建立多个分区以刷入正常ROM的分区,但up实际只修改了version,product,userdata三个分区,事实上这也已经足够,此处up输入的指令为 ”mkpart product ext4 10% 15%" "mkpart version ext4 15% 18%" "mkpart userdata xfs 18% 100%" 事实上,userdata分区应为f2fs文件系统,但up用的GUN PARTED为3.2版本,3.4及以上版本支持创建f2fs分区,后面几步中会做出调整。 6.输入指令"p"以查看分区情况 7.输入指令“q“以退出parted mkpart指令用法:mkpart [分区名] [文件系统] [起始位置] [终止位置] (位置支持b,kb,mb,gb或者百分数) 将镜像写入SD卡分区 此处使用dd指令,其格式为"dd if=[镜像位置] of=[分区]" 例如up刚刚创建了四个分区,第二个为product,第三个为version,第四个为userdata,up又将镜像临时放在了data分区下,那么此处应当输入的指令为 ”dd if=/data/product.img of=/dev/block/mmcblk1p2" "dd if=/data/version.img of=/dev/block/mmcblk1p3" (mmcblk0表示本机存储,mmcblk1表示SD卡,后面p表示分区序号) 至于userdata分区,up写入后反而无法启动,索性直接将其格式化为空分区 “make_f2fs /dev/block/mmcblk1p4" 修改挂载点 华为C5平板的挂载点为/vendor/etc/fstab.hi6250这个文件 将对应分区修改为SD卡中对应的分区 同时去除了userdata的分区加密(将”fileencryption=aes-256-xts:aes-256-cts"删除) 修改前修改后修改开机脚本 修改位于/vendor/etc/init/hw/init.hi6250.rc文件 在on fs下的mount_all语句下方添加 "umount /version" "mount ext4 /dev/block/mmcblk1p3" 如图添加至此,重新启动系统便会从SD卡的分区中启动,如果要切换回原系统只需将原来的挂载点和脚本替换回去,因此您可以在SD卡中同时保留两份文件,切换时只需在twrp中复制粘贴文件即可在两个系统中切换。 (8月17日更新)现发现/vendor/etc中的fstab.hi6250文件仅为副本,用于接管init进程完成分区提前装载后的访问,而system等分区实际已在init进程中完成挂载,因此修改副本的部分分区并无作用,正在寻求新的解决方案 (9月3日更新) 增加修改开机脚本部分以修正8月17日发现的问题,在fs阶段重新挂载部分分区,但如/system /vendor此类分区的挂载可能不生效。事实上如果您只需要使用两个系统而不要求完全从SD卡启动,这个方案已经足够 |
CopyRight 2018-2019 实验室设备网 版权所有 |