OES / OESP 官方版:安装飞牛 fnOS 系统并迁移到 SATA 固态完整教程
前言
折腾 OES(OneThingCloud OES)和 OESP 的小伙伴越来越多,飞牛 fnOS 官方版对这两个设备支持也越来越完善。但 EMMC 容量小、读写慢,长期把系统装在 EMMC 里不是长久之计——把系统迁移到 SATA 固态硬盘才是正确姿势。
本教程针对 OES / OESP 官方版,覆盖从零安装到迁移到 SATA 固态的全部流程。整个过程实际需要动手的内容非常少,考虑到很多人第一次接触 Linux,所以我把每一步要输入的命令都写出来了,照抄即可。
⚠️ 划重点:跟着教程一步步走,看清楚是 PARTUUID,不是 UUID!调整完分区大小不修正参数一定不要重启,因为 PARTUUID 会变。
一、版本与避坑提醒
先把几个坑说在前面,避免你走弯路:
| 时间 | 提醒 |
|---|---|
| 7.18 | 最新 1.2.020 版本先别升级,文件权限迁移后 bug 可能比较多 |
| 6.11 | 总是有人反馈升级后挂掉,解决办法看 3.13 那条,大概率是跨内核版本了。注释掉 rootdev,进 emmc 升级系统,然后把注释去掉就解决了 |
| 2026.3.23 | 部分小伙伴反馈迁移失败,卡在第四步断电重启直接红灯,基本是固件问题,需要换新固件。我用 OESP 试了 944 固件,整个流程没问题,网口也能正常使用 |
| 2026.3.13 | 飞牛更新 1.1.24 后有人反馈升级后无法进系统。我自己测试是能正常更新的,按步骤走不会有问题,别改自己不认识的参数。目前内核从 6.12 升到了 6.18,如果更新页一直提示内核升级,最简单的解决方式是把 EMMC 里的系统也更新一下 |
内核版本跨版本升级的正确姿势
如果更新页一直有个内核升级提示消不掉:
- SSH 进入终端,
sudo -i取得管理员权限 - 反向操作第七步,把那行
rootdev参数删除(在前面加#注释掉) - 重启,就直接进 EMMC 中的系统了
- 在 EMMC 中更新系统
- 更新完把
#删除,就自动切回 SATA 启动
重启后亮红灯的,就是这一步没做对。
二、本教程的优点
刷机完成后,后续想再刷新固件,不需要折腾 EMMC,仅需要:
- 往 SATA 硬盘上写入固件
- SSH 进系统改参数
即可。而且这种方式迁移后,系统初始占用只有 2.04G,比复制文件的方式要小,把镜像写入 SATA 只要十来秒,非常快。
社区版和官方版启动文件不同,社区版迁移教程请看恩山论坛原帖:
https://www.right.com.cn/FORUM/forum.php?mod=viewthread&tid=xxx&extra=#pid22489846
三、准备工作
需要的工具
- FNOS 镜像(如
fnos_Mainland-PE_arm_1.1.24_onethingcloud-oes-plus_944.img.gz) - 写盘工具:balenaEtcher 2.1.4
- SSH 工具:MobaXterm(Win)或系统自带终端(Mac)
- U盘 一个
- SATA 固态硬盘 一块
- OES 刷好 U盘启动系统(原系统的自己搜一下怎么短接刷底包)
网盘资源(夸克)
早点取,过段时间可能会被和谐。
四、第一步:把镜像写入 U盘 和 SATA 固态
1)写入 U盘
使用 balenaEtcher 把系统写入 U盘,耗时几分钟到十几二十分钟。
2)写入 SATA 固态
使用 balenaEtcher 把系统写入 SATA 固态,只需要十来秒。
💡 注意:
rufus不会直接识别出 SATA 固态,需要改设置,用balenaEtcher最方便。
五、第二步:用 U盘 把飞牛装到 EMMC 中
- 把 U盘 插到 OES 上,插电启动。
- 到路由器里查找新上线的
fnnas设备,查看其 IP 地址(例如192.168.1.15)。 - 浏览器访问
http://192.168.1.15:5666进入飞牛账号创建界面。 - 创建自定义账号后登录飞牛系统。
- 打开 SSH,然后使用 SSH 连接工具进入系统终端,登录前面创建的账号。
- 依次输入:
sudo -i
# 再次输入密码,取得管理员权限
cd
ls
./install-to-emmc.sh
每次输入完记得回车。等待安装完成。
- 安装完成后断电,拔 U盘。
六、第三步:获取必要的 SATA 硬盘参数
- 将 SATA 固态硬盘插入 OES,插电启动。
- 此时启动的是 EMMC 中的飞牛系统,根据路由器中的 IP,使用 SSH 进入系统终端。
- 登录账号,
sudo -i取得管理员权限。 - 输入
blkid获取 SATA 固态硬盘的sda1/sda2参数。
blkid
你需要记下来的参数是两者的 PARTUUID。
示例图中盘比较多,新写入镜像的 SATA 盘只有
sda1和sda2。
七、第四步:修改启动文件
nano /boot/fnEnv.txt
新增一行代码:
rootdev=PARTUUID=【sda2的PARTUUID】
确保另两行的 bootuuid 和 rootuuid 为 sda1 和 sda2 的 PARTUUID。
修改完如下:
verbosity=1
bootlogo=false
console=both
fdtfile=amlogic/meson-g12b-a311d-oes.dtb
kernelfile=vmlinuz-6.18.18.c1151-trim
rootdev=PARTUUID=3f9b6268-02
instdisk_bootuuid=PARTUUID=3f9b6268-01
instdisk_rootuuid=PARTUUID=3f9b6268-02
修改完
Ctrl+S保存,Ctrl+X退出,然后就可以断电重启了。
八、第五步:给 SATA 系统分区扩容
重启后你会发现已经是 SATA 中的系统了,但是系统盘容量很小,需要调整分区大小。
继续 SSH 进系统,sudo -i 取得管理员权限,依次输入:
parted /dev/sda
进入 parted 交互界面后:
(parted) resizepart 2 30GB
(parted) quit
最后更新文件系统:
btrfs filesystem resize max /
这时候通过网页端我们可以发现系统盘分区已经扩大了。
如果你希望系统盘更大些,把
30G改为自己期望的值即可。
九、第六步:更新 SATA 中的启动文件
因为上一步对系统分区进行了扩容,此时 PARTUUID 已经产生了变化,所以要进行修改。步骤跟前面是一样的。
blkid
# 查询 sda1 和 sda2 的 PARTUUID 值,记录下来
nano /boot/fnEnv.txt
# 修正参数
修正这三行参数:
rootdev=PARTUUID=6bca27e6-02
instdisk_bootuuid=6bca27e6-01
instdisk_rootuuid=6bca27e6-02
过程参照第三步和第四步。
十、第七步:更新 EMMC 中的启动文件
nano /vol00/RemovableDisk/fnEnv.txt
三行参数直接复制过来:
verbosity=1
bootlogo=false
console=both
fdtfile=amlogic/meson-g12b-a311d-oes.dtb
rootdev=PARTUUID=6bca27e6-02
instdisk_bootuuid=6bca27e6-01
instdisk_rootuuid=6bca27e6-02
保证 sda1 和 sda2 的 PARTUUID 值正确。
这时候就全部搞定了。
十一、第八步:后续再想刷固件
如果后续再想刷固件:
- 先把第七步里的
rootdev=PARTUUID=6bca27e6-02删除。 - 把硬盘拆下来,刷入新固件。
- 然后重复前面的过程就行了。
十二、常见问题(FAQ)
Q1:迁移后重启直接红灯?
- 大概率是固件问题,换新固件(如 944 固件)。
- 检查
fnEnv.txt里的 PARTUUID 是否正确,特别是扩容后有没有重新修正参数。
Q2:升级系统后进不去?
- 大概率是跨内核版本了,参考「3.13」那条。
- 注释掉
rootdev,进 EMMC 升级系统,然后去掉注释。
Q3:更新页一直提示内核升级消不掉?
- 把 EMMC 里的系统也更新一下,方法参考「3.13」条目。
Q4:1.2.020 版本能升级吗?
- 建议先别升级,文件权限迁移后 bug 可能比较多。
Q5:为什么不用复制文件的方式迁移?
- 复制文件的方式占用空间大,而本教程的方式系统初始占用只有 2.04G,且写入速度快(十几秒)。
十三、总结
整个流程其实就三步:
- 把镜像写入 SATA 固态硬盘
- 进系统改三个参数
- 重启,调整系统盘分区大小,修正三个参数
关键点只有一个:PARTUUID,不是 UUID;调整分区后不修正参数一定不要重启。
跟着教程一步步走,别改自己不认识的参数,基本不会有问题。祝各位折腾愉快!
参考来源:恩山无线论坛原帖 + 社区反馈整理
适用设备:OES / OESP 官方版
固件版本:1.1.24(944 固件已验证)

💬 评论区 0