Android设备手机分区教程
1、 在观看本教程前,请先确保你的Android设备有可用的第三方recovery(twrp、橙狐rec、移动叔叔rec等),准备好救砖线刷包,以防分区损害无法恢复,设备电量最好满格,操作虽然不长,但如果失败会折腾很久,保险起见还是建议满电开始
2、 教程示例设备
魅蓝note2公开版
Twrp3.2.1-0-by-romul
2+16+mt6735
系统分区为1.5g(演示的分区为调整后的,以官方为准)
3、 开始:
- 复制压缩包内gdisk到你的手机里
- adb push .\gdisk /sdcard/
我这里是通过adb传输的,路径在内置存储根目录内 - 重启设备到recovery恢复模式
- adb reboot recovery
重启到recovery模式后,再次用adb devices查看可以明显看到devices变成recovery了,没看到devices不要紧,这不重要,进去recovery就行了 - 把刚刚传输到手机里的gdisk复制到twrp的/sbin路径下并给予可执行权限
- cp /sdcard/gdisk /sbin/ && chmod 777 /sbin/gdisk
这段命令的作用为把文件gdisk复制到根目录的sbin文件夹内,并给予gdisk可以运行的权限,不理解不要紧,这不重要 - 通过gdisk查看分区
- 这里我要说明一下为什么要打印分区,各位在看这个教程的时候,一定要记得把自己分区块所对应的分区名字给记录下来,这会直接导致在分完区后,重新挂载相应分区出现问题,而且这些操作都是不可逆的,只能通过线刷工具重新烧录各分区,所以,分区请谨慎
- 通过gdisk删除分区
- 这里要说明一下d参数的作用,d参数是用来删除分区块的,就跟Linux的fdisk里的d一样(delete),然后之所以从最后一个分区开始删除呢,是因为他们的开始地址与结束地址都是互相连接的,也就是说,如果你从中间删除的话,它可能会因为地址断开从而找不到你指的那个地址而报错
- 通过gdisk分区
- 这里用到了n功能参数,这个参数的作用主要是用来创建新分区用的,partition number这里是设置一个分区区块名,它这里都是通过p1、p2、p3之类的区分,first sector则是设置你的起始地址,一般它会帮你默认好,可以不用管,last sector这个则是你的结束位置,你这里就要计算好,它这里面如果用GB做单位的话,是不支持小数点的,但可以通过MB单位来达到目的,MB转GB就不多说了,乘以10就ok了,+代表要增加多大空间,不能超过剩余大小,反之-则代表要减去多少空间,我这里是用的+3G,然后通过p参数打印出分区信息里面,那个分区块的大小就变成3Gb了
- 通过gdisk修改分区类型以及名字
- 修改分区类型是用t参数来操作,如果你不清楚你是什么类型的分区,可以使用前面要求你保存的分区信息里code的值,每个code都对应一个分区的,不要搞错了,我这里是默认都是这样的,就全设置为0700
- 修改分区名字要用到c参数,(刚开始搞的时候我就是在这里被坑了好久,以为用软连接就行,结果发现twrp还是不能成功挂载相应分区,必须要改分区名字才行),调用c参数我们把相应分区块改成我们原来分区打印出来的名字就行了,比如我的system是mmcblk0p23,那就直接输入c,然后选择区块23,输入system就行了
- 通过gdisk保存分区更改并退出
- 这里我们需要用到w参数,w就是writer写入分区的意思,然后它会询问你是否要确定退出,我们选择y就行了
- 格式化分区
- 在格式化分区之前我们要通过查看TWRP里的分区表文件来确定我们分区究竟是哪种格式的,我这里显示是ext4,我们可以直接采用make_ext4fs来格式化那几个分区,如果不是ext4格式的也不要怕,一般twrp里都会自带其他相应分区的格式化工具,但一般都是ext系列的,所以不用怕
- 分区完成
到这里你的分区基本上都解决完了,但还是需要重启一下recovery,在recovery执行reboot recovery命令重新启动twrp,看看它是否能够挂载我们刚刚操作的那几个分区,system、data、cache这几个,如果不能够自动挂载的话,那就是步骤有问题,出错了,重新检查一遍自己是否是哪里做错了!实在不行就线刷救砖吧,这也是一个办法 - 其他问题
为什么不用fdisk而采用gdisk?
事实上我开始是采用的fdisk,但发现它似乎并不支持操作gpt跟mbr格式的分区,但能够操作它们的子分区,也就是那些分区块
为什么你的分区跟我的不一样?
这个问题我只能说每个型号、系统的手机分区都是不一样的,只能参考着去搞,照搬肯定容易出问题
**为什么我的twrp里没有gdisk这个东西?**
这个gdisk工具是在我提供的压缩包里附带的,如果没有的话,也不要急,一般的twrp都不会附带,可以选择自己去编译一个,这也是可以的,GitHub里也有一些gdisk项目,都是现成的,搜一下就行了,实在不行可以去下载个termux,里面也能安装,直接把相关依赖补全也是可以的
为什么我adb链接失败或者我电脑里没有adb这个命令?
这个问题只能说是非常普遍而且十分简单的了,首先你的是没有安装adb工具的,如果是Ubuntu系列,可以直接通过apt-get来安装adb与fastboot,Windows则需要去网上下载。如果说你电脑里装了adb但还是无法使用adb命令,这也不要慌,在你的adb安装路径里,里面有个adb.exe,点击上方的路径复制下来
再打开你的cmd命令行输入你的盘符,如果是d盘就输入d:回车就进去了,然后再黏贴你的路径进去回车就能够到adb安装路径了,这时候在cmd里输入adb就能够使用了。如果都没有问题,还是链接手机失败,这里不排除你电压不稳定、手机接口松动、数据线损害、设备usb调试没开、驱动未装等等,建议你用豌豆荚或者360之类的链接一下手机,如果连不上它们会告诉你怎么办的。
我没有第三方rec那该怎么办呢?
如果你的设备没有第三方rec但有root,我建议不要搞,因为这个危险性很高。如果你既没有第三方rec也没有root那就可以收拾好别折腾了,让你的手机休息会吧。如果手机能够解锁,而且还有第三方rec等资源,但自己没有解锁跟刷入第三方rec,我这里建议你先解锁然后刷入twrp操作,或者直接通过线刷分区表的方式来操作
我不小心删错了分区,那我该怎么办?
还能怎么办,如果没有执行w保存,那就输入q退出就行了,反之就线刷救砖吧,或者自己重新删除再添加进去
我分完区后重新卡刷或者线刷系统分区发现分区还是原来的大小没有变啊?
这个问题其实很好理解,现在的刷机包都是以镜像的方式来刷入,比如你的官方系统镜像为1.5g,那你分完区后大小是3g,但系统镜像大小是1.5g,系统识别只能是1.5g,解决方法,把系统镜像扩大来,扩大到你的系统分区大小即可,或者取消镜像形式刷入,采用旧方法刷入
如何扩大镜像?
这里就要用到make_ext4fs工具了,具体使用方法还是去网上找吧,这里一时也说不清楚
分完区后我卡刷提示我错误7?
这个问题得看情况了,有的是分区找不到,这个不要紧,它会告诉你是哪个分区找不到,你直接通过软连接链接一下就行了,还有的则是提示某个分区大小因为更改而导致体积变小了,刷不进去,这个得你自己去排查、重新分区解决
这个操作跟直接在电脑上用线刷分区表刷有什么区别?
怎么说呢,电脑上线刷分区表就是代替了手工操作,但自定义性差、可读性差,修改需要一定水平能力才行,起码要会口算十进制转十六进制外加各种字节转兆字节等等,而手机上操作这种,自定义性高、可读性也很好、就是麻烦点。
我把/dev给重新设置了一下分区,有什么影响吗?
在twrp里,/dev是作为临时文件系统,主要是用来保存你从电脑传过来的文件,重启就没了,当然这都是在你其他分区挂了的情况下弄的,
分完区后感觉变慢了?
这个我没有遇到过,无可奉告
如何判断哪个分区是总分区?
看到那个带区块p名称多的就多了
什么?我手机里没有这些带p的分区,都是一些sdb、sde之类的,那就去/dev/block/路径里,找到那个带by-name名字的文件夹,里面会有每个分区名字所对应的分区块
还有问题?自己百度去吧