2010 年前老旧 Linux 为什么不支持
官方名单里被排除的典型
EtchDroid 的 README 明确排除了 "Older GNU/Linux OS images < 2010 such as Damn Small Linux and Puppy Linux"。为什么 2010 年之前的 Linux 发行版不能用?
关键差别的技术根源
2010 年前后 Linux 发行版在 USB 可引导性上有一个关键范式转变——混合 ISO 格式的普及。
2010 年之前的发行版:
- 多数 ISO 是纯 CD/DVD ISO(只有 ISO-9660 文件系统 + El Torito 引导)
- 没有 MBR 引导代码和分区表
- 把这种 ISO 写入 U 盘后,BIOS 不会把 U 盘识别为可引导设备
- 某些发行版有专门的 USB 安装器或需要用
isohybrid手动转换
2010 年之后的发行版:
- 官方 ISO 普遍采用混合 ISO(Hybrid ISO) 格式
- 同时包含 ISO-9660/El Torito 和 MBR/GPT 引导结构
- 同一个 ISO 既能烧光盘又能写 U 盘
- Ubuntu 10.04、Fedora 13 等是这批转换的代表
EtchDroid 对老旧发行版的实际表现
如果你强行在 EtchDroid 里写入 Damn Small Linux 的 ISO:
- EtchDroid 会成功写入(它只做扇区拷贝,不管 ISO 内部结构)
- U 盘的 ISO-9660 文件系统被完整写入
- 但 BIOS 不会把 U 盘识别为可引导磁盘——因为前 440 字节没有 MBR 引导代码
- 结果:U 盘里有文件,但电脑启动不起来
为什么不支持的不只是 DSL
除了 Damn Small Linux 和 Puppy Linux(这两个恰好是 README 点名的),其他受影响的老旧发行版包括但不限于:
- Slackware 13.1 及之前
- Ubuntu 9.10 及之前的旧版 ISO(注意不是 Server 版)
- Debian Lenny(5.0)及之前
- Knoppix
- 早期 Live CD 发行版
如果真的需要用老旧发行版
务实的方案有两个:
- 用更新的发行版替代——2010 年前的发行版今天看安全更新早已停止,使用它们的风险远高于收益
- 在 PC 上用
isohybrid转换旧 ISO——然后把转换后的镜像拷回手机,再用 EtchDroid 写入 U 盘(绕了一圈,但技术上可行)
EtchDroid 选择不支持这条路径,是因为"老旧发行版用户"这个群体在整体 Linux 应急场景中占比极低,不值得为他们增加维护复杂度。