android - 安装 Android stock 和 Lineage 后调整与物理存储大小不匹配的数据分区大小
问题描述
尝试在小米 Mi A1 上安装 Lineageos+Magisk 后,以启动循环结束,
tissot_images_V10.0.9.0.PDHMIXM_20190514.0000.00_9.0_3ded3e7b82.tgz
我从包含flash_all.sh
which apply安装了股票fastboot
。我有一个整洁的 a/b 分区的工作起点。- 我用临时(未闪烁的)TWRP 刷新了 Lineage、addonsu 和 stock camera
一切正常,但存储空间太少,Lineage 显示大小为32GB而不是64GB
df
告诉我:/dev/block/mmcblk0p49 19092180 15660496 3431684 83% /data
但blockdev --getsize64 /dev/block/mmcblk0p49
报告55087439360
(字节)
我在我的 Linux PC 上安装了上面提到的库存固件中的 userdata.img 并向df
我展示了
/dev/loop1 19092180 118172 18762328 1% /mnt/...
这似乎是问题的根源,不是吗?
(如何)我可以在不丢失数据的情况下(最好)调整分区/文件系统的大小)?
解决方案
我找到了解决我的问题的方法。TWRP 在其功能中添加了 resize2fs: https ://www.theandroidsoul.com/twrp-2-8-7-0-introduces-resize2fs-feature-to-fix-incorrect-storage-space-available-on-a-设备/
所以我开始了TWRP
sudo fastboot boot twrp-3.3.0-1-tissot.img
在 TWRP 中,我启动了命令行并使用单个命令
resize2fs /dev/block/mmcblk0p49 <newsize>
问题解决了。我没有扩展到分区的完整大小,但留下了一些 MB(最后),因为我似乎记得在加密设备时读过这个空间是元数据所必需的。
推荐阅读
- c++ - 为什么我在 split 函数中的这段代码中出现分段错误?
- node.js - ExpressValidator 不是函数
- databricks - Delta Lake 将多个文件压缩为单个文件
- python - 使用Python反转句子中的单词?
- javascript - 我正在尝试使用 React.js 联系表单实现 Netlify 表单
- reactjs - React + TypeScript 使用动态键名设置状态
- stackdriver - 使用 Stackdriver 监控和提醒 Cloud Build 错误
- javascript - 用javascript改变单个字符的颜色
- tableau-api - 将 ifnull 语句与 if 语句一起使用
- docker - 如何使用 Traefik 2.0 和 Docker Compose 标签将 http 重定向到 https?