惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Vercel News
Vercel News
F
Fortinet All Blogs
月光博客
月光博客
G
Google Developers Blog
博客园 - Franky
GbyAI
GbyAI
The Cloudflare Blog
I
InfoQ
雷峰网
雷峰网
WordPress大学
WordPress大学
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
小众软件
小众软件
腾讯CDC
B
Blog
量子位
V
V2EX
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News

kkocdko's blog

Tasker 永久试用修改思路 - kkocdko's blog 极限压缩文档扫描件 - kkocdko's blog Bypass the Blank Chars Detection crknob - Chrome portable patch 我如何将博客首页体积降至 3 KB - kkocdko's blog 如何极限优化压缩文件体积 - kkocdko's blog EmEditor 精简版 - kkocdko's blog Backup Data from VSCode Web 优雅地游玩 Minecraft - kkocdko's blog 让程序以管理员权限运行的 PE 清单 - kkocdko's blog 注销 ZEIT 账号之后遇到的坑 - kkocdko's blog 本博客的协议已更改为 CC0 - kkocdko's blog mobp - 使 MSOffice 后台常驻 在安装 VS 生成工具时规避 .NET 安装错误 各种格式的占位空文件 - kkocdko's blog 优雅地游玩 Flash 游戏 - kkocdko's blog WPS 2016 极限精简版 - kkocdko's blog Convert Const to Let by Terser 规避 Visual Studio 许可证过期的 Bug 方便地使用 iPod - kkocdko's blog 用 UserJS 注入 UserCSS - kkocdko's blog 注册表修改文件关联(默认程序) - kkocdko's blog 周期精准的太阳系模型 - kkocdko's blog 关闭屏幕的 WinAPI - kkocdko's blog 重置 Windows 图标缓存 - kkocdko's blog AIDA64 极限精简单文件版 - kkocdko's blog 几何画板单文件精简版 - kkocdko's blog 世界之窗浏览器单文件版 - kkocdko's blog 在 MBR + Legacy 下用 Bootmgr 引导 Ubuntu 简洁的 Markdown 预览工具 - kkocdko's blog
Android bug prevents exfat readonly USB drive
2026-04-11 · via kkocdko's blog

The bug: some USB drive has a hardware readonly switch. Format it as exfat filesystem on PC, unplug, switch to readonly, plug into Android phone (known as OTG), then Android shows a notification: external storage is broken. Use fat32 with readonly switch enabled is normal.

It's because Android will run fsck for any plugged external storage, and only mount when fsck passes. The logic for fat32 considered the readonly situation, but exfat does not. See AOSP:

An interesting thing: I tested Lineage (Android 15) and Xiaomi HyperOS, both exhibiting this issue. However, some Chinese phones like OPPO (run ColorOS) worked fine — perhaps they have discovered this issue, or even removed fsck entirely?

If you have root permission in your phone, you can replace exfat fsck with a dummy executable to workaround this bug.

Origin chat history backup
kkocdko, [2025/8/5 20:01]

我发现我的 android 手机(连接 U 盘的时候)似乎不支持 exfat,有什么头绪么。我记得几年前 exfat 在 android 就有支持了吧

android 14, lineage 21, kernel 5.10

kkocdko, [2025/8/5 20:01]
系统是 gsi,但是 内核是红米 k50pro 原厂内核 (从 hyperOS 偷的),不是 gki

𝙠❌❎𝙩 🪄, [2025/8/5 20:13]
可以检查一下下面的条件
https://android.googlesource.com/platform/system/vold/+/11760521a2e86389c56620ec50e780e8b17e40ca/fs/Exfat.cpp#37
https://android.googlesource.com/platform/system/vold/+/11760521a2e86389c56620ec50e780e8b17e40ca/Utils.cpp#1103

kkocdko, [2025/8/5 20:24]
/dev/block/loop43: UUID="7d1522e1-9dfa-5edb-a43e-98e3a4d20250" TYPE="ext4"
/dev/block/zram0: UUID="544a6ba7-d571-4c32-aefe-d506c7e6d1a8" TYPE="swap"
/dev/block/loop44: UUID="4dd65953-f87a-41a8-afb4-1c398c007c61" TYPE="ext4"
/dev/block/sdd1: LABEL="KK_MAIN" UUID="8E79-6C18" TYPE="exfat"
/dev/block/sdd2: SEC_TYPE="msdos" LABEL="VTOYEFI" UUID="7353-81B1" TYPE="vfat"
:/data/adb/ksu/bin # cd ..
:/data/adb/ksu # cd ..
:/data/adb # mkdir misc
:/data/adb # cd misc
:/data/adb/misc # ls
:/data/adb/misc # mkdir sdd1
:/data/adb/misc # mount /dev/block/sdd1 sdd1
'/dev/block/sdd1' is read-only
:/data/adb/misc # cd sdd1
:/data/adb/misc/sdd1 # ls
Android  Movies  Music  Pictures  misc  ventoy
:/data/adb/misc/sdd1 #

kkocdko, [2025/8/5 20:24]
我直接进去 mount 能用(read only 是我开了写保护很正常)(另一片 fat32 的也是写保护,能正常被 android 识别)

...


kkocdko, [2025/8/25 17:35]
迟到的回复。

我检查了下,它会在挂载前 fsck,如果 fsck 错误则说损坏。而 fsck.exfat -y 对于 read-only 的块设备会返回非 0,因此无法挂载。我测试了 lineage (android 15),小米 hyperos,均有此问题。但是,我测试了 ColorOS,居然能正常使用,或许它们注意到了这个问题,甚至,它们可能直接移除了 fsck?

另外,在 Mount 函数 里有针对 readonly 的处理,表明 google 的人可能希望支持 readonly,只是没处理好。

kkocdko, [2025/8/25 17:35]
目前个人贡献 aosp 还有戏么,或者,直接反馈一下拉倒(

Miao Wang, [2025/8/25 17:36]
readonly?

Miao Wang, [2025/8/25 17:36]
没太懂,你插上去的设备是 readonly 的?

kkocdko, [2025/8/25 17:36]
u 盘、读卡器上的写保护开关

Miao Wang, [2025/8/25 17:38]
所以说你关掉写保护之后就能识别了?

kkocdko, [2025/8/25 17:38]
是的

Miao Wang, [2025/8/25 17:38]
唔

kkocdko, [2025/8/25 17:38]
我当时没注意到这一点,以为都不能用

Miao Wang, [2025/8/25 17:38]
那确实是 bug

𝙠❌❎𝙩 🪄, [2025/8/25 18:06]
应该还有戏