刷机维护
一加 6T 刷机 Ubuntu Touch 主要流程和问题
在 OnePlus 6T 上安装 Ubuntu Touch 并扩容 root 分区
本文档使用 MrDoc 发布
-
+
首页
在 OnePlus 6T 上安装 Ubuntu Touch 并扩容 root 分区
## 背景 很多用户在 OnePlus 6T 上安装 Ubuntu Touch 后会遇到一个老问题: **root 分区(system_a)空间不足**。 Ubuntu Touch 默认的 root 分区大小大约只有 3GB,随着后续包的升级、额外软件的安装,很容易出现 “根分区已满” 的情况。 本文记录了在 OnePlus 6T 上扩容 root 分区的全过程,包括 **重新分配分区、修复文件系统、在 PC 上处理镜像再写回手机** 的完整流程。 --- ## 初始分区情况 在 TWRP 或 recovery 下执行: ```sh parted /dev/block/sda print ``` 得到的分区表大致如下: ``` Number Start End Size File system Name Flags 1 24.6kB 32.8kB 8192B ssd 2 32.8kB 33.6MB 33.6MB ext4 persist ... 13 352MB 3350MB 2999MB ext4 system_a 14 3350MB 6349MB 2999MB ext2 system_b 15 6349MB 6454MB 105MB ext4 odm_a 16 6454MB 6559MB 105MB ext4 odm_b 17 6559MB 125GB 118GB ext4 userdata ``` 可以看到: * **system_a** = 3GB(Ubuntu Touch 实际运行的根分区) * **system_b** = 3GB(备用系统) * **odm_a/odm_b** = 各 100MB * **userdata** = 剩余 118GB 由于 Ubuntu Touch 只使用 `system_a`,因此我们可以直接扩展它,把 `system_b/odm_a/odm_b` 的空间合并过去。 --- ## 实际操作步骤 ### 1. 备份分区 强烈建议先把相关分区备份出来,以免误操作: ```sh dd if=/dev/block/sda13 of=/data/system_a.img bs=1048576 dd if=/dev/block/sda14 of=/data/system_b.img bs=1048576 dd if=/dev/block/sda15 of=/data/odm_a.img bs=1048576 dd if=/dev/block/sda16 of=/data/odm_b.img bs=1048576 adb pull /data/*.img . ``` --- ### 2. 调整分区布局 在 `parted` 里删除不用的分区: ```sh parted /dev/block/sda rm 14 rm 15 rm 16 ``` 然后把 system_a 拉大(这里假设扩到 6GB,测试最大允许6559MB): ```sh resizepart 13 6559MB quit ``` --- ### 3. 在 PC 上修复并扩展文件系统 直接在手机里运行 `resize2fs` 容易遇到提示 “Please run e2fsck -f first”,因为 TWRP 的工具版本太老。 解决方案:**在 PC(如 CentOS7)上操作镜像**。 1. 拉出 system_a 镜像: ```sh adb pull /data/system_a.img . ``` 2. 扩展镜像文件大小(比如 6GB): ```sh truncate -s 6G system_a.img ``` 3. 检查并修复: ```sh e2fsck -f system_a.img ``` 4. 扩展文件系统: ```sh resize2fs system_a.img ``` 5. 推回手机并写回分区: ```sh adb push system_a.img /data/ dd if=/data/system_a.img of=/dev/block/sda13 bs=4M ``` --- ### 4. 验证结果 在手机里运行: ```sh e2fsck -f /dev/block/sda13 ``` 确认没有错误。 然后启动系统,用 `df -h` 检查 `/` 是否已经扩容。 --- ## 关于被删除的 system_b、odm_a、odm_b 分区 这里有两种选择: 1. **不恢复** * Ubuntu Touch 只用 `system_a`,删除备用分区不会影响日常使用。 * 缺点:不能走 A/B OTA 更新,无法利用冗余系统回退。 2. **恢复原始布局** * 用 `parted` 重建分区,再 `dd` 回原来的镜像。 * 适合想保留 A/B 双系统机制、需要官方 OTA 更新的用户。 对大部分刷 Ubuntu Touch 的用户来说,**不恢复也没问题**,反而能多出空间。 --- ## 总结 通过以上步骤,我成功将 OnePlus 6T 的 root 分区从默认的 **3GB 扩展到 6GB**,并保持了可写(rw)。关键经验点有三: * **在 PC 上操作 ext4 镜像比在手机里直接 resize 稳定得多**。 * **删除不用的 system_b/odm 分区,可以显著释放空间**。 * **是否恢复这些分区,取决于你是否还需要 A/B 更新机制**。 扩容后,Ubuntu Touch 的可用性大幅提升,再也不会因为根分区不足而频繁清理。
Nathan
2026年8月24日 22:40
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文件
Docx文件
分享
链接
类型
密码
更新密码