一,刷入TWRP
1. 电脑下载 Fastboot 工具(解压备用)和对应机型 TWRP(.img 后缀文件,将其放入前面解压的文件夹里)
或者直接这里下载:TWRP
2. 将手机关机,长按音量上和下键 + 开机键
进入 fastboot 模式,与电脑连接。
3.解锁Bootloader,在上面解压的文件夹,鼠标放在空白处,按键盘shift + 鼠标右键 -> 在此处打开powershell窗口。
输入命令: .\fastboot.exe oem unlock
在手机端用音量键选择unlock,按关机键选择即可
4. 电脑打开刚才解压的 platform-tools
文件夹,按住 Shift
键,同时右键点击文件夹空白处,在右键菜单点击“在此处打开 Powershell 窗口”,运行下面命令刷入 TWRP(自行替换文件名),手机要在fastboot 模式下。
.\fastboot.exe flash recovery twrp-3.3.1-2-enchilada.img
注:如果不希望安装 TWRP,而只是临时使用 TWRP,运行下面命令即可(自行替换文件名)
.\fastboot.exe boot twrp-3.3.1-2-enchilada.img
6. 在进入 TWRP 后,会询问“是否保持系统分区为只读”。这里滑动按钮以允许修改 ,不然不能禁止 MIUI 替换回官方 Recovery.
二,用parted系统分区
1, 下载parted.zip 解压, 文件下载, 并且解压复制到上面的platform-tools-latest-windows文件夹里
2, 手机在TWRP界面,电脑在powershell界面。
.\adb.exe devices 有显示设备。
3, 把parted上传到手机的/sbin文件夹里
输入:
.\adb.exe push ./parted /sbin
4,输入 .\adb.exe shell
5,更改权限
ls -l /sbin/parted
chmod 755 /sbin/parted
6.输入cat /proc/partitions,回车
找到数字比较大并且很扎眼的那个分区对应的名字,它就是你的手机存储设备的主设备节点。
注意不一定是数字最大的那个,数字比较大的都有可能是主分区。常见主分区一般有mmcblk0,sda,sdb,sdc等等。
7.输入parted /dev/block/xxxxxx(“xxxxxx”就是主设备节点名字)
parted /dev/block/sda
输入p(加载分区表)
输入o(有些机型需要此步骤确认)
分区表出来了(如果没出来,只出来几个奇奇怪怪的,或上面步骤不正常那就是你主设备节点搞错了)
找到system和userdata附近的分区,截图保存到可靠的地方,待会要用.
输入q退出,开始下面“扩容system”
三,扩容重新分区
1, 卸载system和userdata分区
*必须取消挂载(卸载)system和userdata分区,否则删除分区会报错,即使全部选择忽略,也会留下后遗症,虽然可以解决,但是纯属自找麻烦。只有当采用下列方法还是会报错“设备正在使用”时,才应该忽略错误继续操作。
umount /dev/block/by-name/system
umount /dev/block/by-name/userdata
umount /system
umount /data
2,删除system和userdata分区
启动parted选择主设备节点
# parted /dev/block/sda
# p
o(如果显示是否确认则输入o)
删除你想重新分区的编号:
(parted) rm 13
(parted) rm 14
(parted) rm 15
(parted) rm 16
(parted) rm 17
————————————
#刷新分区表确认是否删除成功
p
————————————
3, 建立新的system和userdata分
#建立新system和新userdata分区
mkpart system_a ext4 352MB 20833MB
mkpart system_b ext2 20833MB 23833MB
mkpart odm_a ext4 23833MB 23983MB
mkpart odm_b ext4 23983MB 24133MB
mkpart userdata ext4 24133MB 253GB
扩容分区完成,按p查看,按q退出:
4,格式化新建立的分区
*请在手机TWRP界面完成如下操作:
①清除-高级清除-勾选system-更改文件系统-选择ext4-确认
②清除-高级清除-勾选data-更改文件系统-选择ext4-确认,更改文件系统-选择f2fs-确认
③回到主页,选择高级-解除data强制加密-确定(这一步可以不执行,但是会小概率触发GSI开不了机等问题)
⚠️如果显示格式化失败。
退出进入fastboot: .\adb.exe reboot bootloader
输入fastboot erase userdata回车
再输入fastboot erase system回车,然后重启到TWRP再格式化,再不行就不用管了。