V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wuxiao2522
V2EX  ›  Android

TWRP recovery 的备份功能里面有 2 个 system 分区,多占用空间,怎么搞掉?

  •  
  •   wuxiao2522 · 2018-04-18 09:45:42 +08:00 · 16470 次点击
    这是一个创建于 2194 天前的主题,其中的信息可能已经有所发展或是发生改变。
    收了个小米 4c ( 2+16 )做备机,miui 臃肿太卡,想换成 lineageos。一顿折腾后,顺利刷入 lineageos,但是发现可用空间只有 10G 左右( MIUI 有 12.14G ),研究了半天,在 TWRP recovery 里面发现有 2 个 system 分区(一个正常的 system 分区,还有一个 system 镜像分区,只能格式化 system 分区,system 镜像分区不知道是什么东西,也没发现哪里能删除或者格式化。),如下图(网上找的图,内容都一样,只是空间占用不同):
    2G 空间虽然不多,但是对于 16G 的机器来说还是很可观的,有没有办法解决?
    15 条回复    2020-05-27 12:43:16 +08:00
    kokutou
        1
    kokutou  
       2018-04-18 09:49:15 +08:00 via Android   ❤️ 1
    twrp 下,
    连 usb adb shell 上去
    输入 mount 看看挂载的都是些啥。
    lsblk 能不能用忘记了。
    heiher
        2
    heiher  
       2018-04-18 09:52:16 +08:00   ❤️ 1
    按需求选择 System 和 System 镜像,两者的区别在于,前者是备份 system 分区文件系统中的文件,可以理解为对所有文件打压缩包。后者是对整个分区原始数据备份,即我个字节都备份。

    对于 MIUI 某些版本的系统是开启了 system 块设备层签名校验的,如采用前者备份,恢复后就无法正常启动了,除非改 boot.img 中的脚本来关闭校验。
    wuxiao2522
        3
    wuxiao2522  
    OP
       2018-04-18 09:58:32 +08:00
    @heiher 我把 system 分区格式化后,在备份功能里面看 system 分区只有 2MB,但是 system 镜像分区还是 2GB 左右(没有任何变化)。所以应该不是备份方式不同。
    wuxiao2522
        4
    wuxiao2522  
    OP
       2018-04-18 10:22:51 +08:00
    @heiher 在 TWRP 的 faq 里面找到一句话 https://twrp.me/faq/whattobackup.html,On most of these devices, you will see an option on the backup page for System Image. A system image backup takes up more space than a regular system backup, but the system image backup is a bit-perfect backup that, when restored, will not break dm-verity (assuming that you don't break dm-verity before making the backup).
    你的解释是对的,非常感谢!但是现在又如何解释我丢失的 2G 多空间呢?
    SENSIR
        5
    SENSIR  
       2018-04-18 10:39:14 +08:00   ❤️ 1
    我之前也遇到过“存储空间莫名减少”的问题,它还体现在存储中“系统”占用莫名过大。(最严重是 LineageOS 占用 20G ……)
    我印象是全部分区的 wipe 和 format (包括内部存储),俗称五清,是可以解决的,但是代价太大。
    后面我查论坛什么的,有些人说用 TWRP 的“修复文件系统”修复 data 和内部存储,但我修复后“系统”占用还是那么大,问题没有解决。但你可以试一下。

    我也持续关注你帖子的后续,你解决后也说麻烦说一下你的解决方法,谢谢!
    wuxiao2522
        6
    wuxiao2522  
    OP
       2018-04-18 10:47:20 +08:00
    @SENSIR 昨晚上在 wipe 选项里,能勾选的我都清过,似乎没啥用。晚上回去再试试。
    tempdban
        7
    tempdban  
       2018-04-18 13:13:45 +08:00 via Android   ❤️ 1
    备份是 tar 备份镜像是 dd | tar
    tempdban
        8
    tempdban  
       2018-04-18 13:14:13 +08:00 via Android
    这 2G 就是你 system 分区大小
    tempdban
        9
    tempdban  
       2018-04-18 13:14:58 +08:00 via Android
    觉得空间不足买个 sd 卡格式化成内置存储
    wuxiao2522
        10
    wuxiao2522  
    OP
       2018-04-18 13:49:22 +08:00
    @tempdban 不支持 SD 卡,刷成 lineageos 后,存储一共只有 10GB 左右,可用的 data 分区只有 7GB 左右。
    zhyl
        11
    zhyl  
       2018-04-18 16:29:14 +08:00   ❤️ 1
    遇到类似问题, 刷 lineageos 后, 刷回官方 emui 无限等待, 无奈又刷 lineageos, 发现内置存储器只有 2G+可用, 16G 的手机. parted 查看分区是有 15G+的内存, TWRP 中查看 internal storage 也只有 2G+, 但是不是和楼主这种多了某个分区...
    hfenger
        12
    hfenger  
       2018-04-18 20:46:54 +08:00   ❤️ 1
    第一个是以文件备份,不包括未占用 00000000000,第二个是以分区备份,包含分区中未占用 0000000000000

    容量变小就是分区乱了,插上电脑 找高通的资料进 9006 模式,装完驱动,然后用分区工具把刷乱的分区合并到一起,或者直接电脑用 adb shell 或者 TWRP 内置终端用 fdisk 手动分区稍微麻烦点 先 df 或者 cat /proc/partitions 应该能看见 mmcblk0 之类的,然后 fdisk -l /dev/block/mmcblk0 就能看到所有分区名和大小,扇区开始结束位置,你看看哪里出问题了,把没分或者刷出问题的分给 /data,mmcblk0 不同机型可能不一样,大多数用 emmc 的都是 mmcblk0,不过不建议你这么做,因为一般都是多出来 system 分区,和 data 分区不是邻近分区,要调整的话得把 system 后面的分区全都调整,data 分区一般在最后,所以建议最好看看能不能进 9006 模式用工具调整,进之前先备份 aboot 之类的,9006 模式有的机型可能要短接 emmc 针脚,有的直接清除 aboot 就行了 自己找资料了,也可以用 9008 下载模式强刷试试 9008 用工程线进或者根据这个帖子,不用工程线 http://en.miui.com/thread-237832-1-1.html
    wuxiao2522
        13
    wuxiao2522  
    OP
       2018-04-18 21:43:01 +08:00
    @SENSIR 我已经搞定了,这样操作的:这部小米 4C 收的朋友的二手,解绑他的小米账号后绑定我的,我的小米账号有解锁 BL 的权限(之前解锁过小米 5 ),但是在 4C 上提示“设备不存在”,无法解锁,联系过几个小米的在线“天才”客服,在我表述完问题,指导性的给了一些处理方式后,我表示还是解决不了问题,于是“天才”客服就直接不理我了,无论我说什么都不回复(几个客服套路一模一样)。罢了,官方靠不住只能自己动手了。在 miui 论坛上看到一篇通过 fastboot oem edl 命令进入高通 9008 模式跳过 BL 锁强制线刷的教程,但是得有线刷包,三方固件又没有线刷包,于是又找到一篇用 MIUI 官方的线刷包,用三方 recover 替换里面的 recover.img (比如 twrp recover ),昨晚上就是这样刷成功了,官方固件+三方 recovery 通过 9008 模式强刷进去了,twrp 工作正常,但是就如前面所讲,储存空间不对,少了大概 2-3GB 左右,其余均正常。今天又猛翻论坛,看到有人回复用高通 9008 模式只强刷 recovery 的方法,就是把上面替换过 recovery.img 的线刷包里面的 rawprogram0.xml ,把此文件里面其余脚本全部删除,只保留 recovery 部分,这样通过 XiaoMiFlash 在 9008 模式下就只刷 recovery 了,5 秒完成。然后进 twrp,分区全部格式化(当然 efs、boot、recovery 分区不能格式,也格式不了),然后 install lineageos,完成、重启,存储正常,所有功能正常。黑域走起、去感叹走起。打完收工!!!

    最后导致此问题的原因,技术有限,不知道!
    最最后,必须要吐槽小米的“天才”客服,解决不了问题就不回答的态度!!!
    最最最后,小米的 BL 锁简直了,fastboot 模式下通过 fastboot oem edl 命令就能进入高通 9008 模式,随便刷机(至少这部小米 4C 是这样)。那还要个卵的 BL 锁呀!!!
    就酱。
    zhyl
        14
    zhyl  
       2018-04-18 22:23:54 +08:00
    恭喜楼主问题解决, 顺便我的问题也解决了, 尝试了下用 mke2fs 格式化 data 挂载的分区, 然后内存找回来了, 原因不明...
    sunin
        15
    sunin  
       2020-05-27 12:43:16 +08:00
    @wuxiao2522,你好!冒昧请教一个问题。先说下我的情况。小米 9SE,更新完系统后重启就一直处于卡米状态( mi 字、android 加三个小白点。能进 mi-recovery3.0 界面)。手机没有解 bootload 锁,开了 usb 调试。我能否用“在 9008 模式下就只刷 recovery ”的方法刷入三方 recovery,然后备份手机数据和内置存储数据?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2841 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:31 · PVG 14:31 · LAX 23:31 · JFK 02:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.