收起左侧

飞牛 FNOS 安装 QWRT 后无限重启排障与恢复

5
回复
242
查看
[ 复制链接 ]

1

主题

0

回帖

0

牛值

江湖小虾

一、问题现象

在飞牛 FNOS 中通过应用中心安装新发布的 QWRT(Docker 应用)后,系统出现以下异常:

  • **开机后能短暂看到 **login
  • 很快出现报错并自动重启
  • 普通模式无法进入控制台
  • recovery mode 也来不及登录就重启

系统配置

  • CPU:AMD Ryzen 7 4800U with Radeon Graphics8核16 线程
  • 内存:16 GB 4266MHz LPDDR4

典型报错示例:

init: Failed to stat /dev/console: No such file or directory
mount_root: failed to launch kmodloader from internal overlay
block: unable to load configuration (fstab: Entry not found)
Please press Enter to activate this console.

二、问题判断

结合现象,基本可判断为:

  • QWRT 安装后触发了 Docker 自启链路
  • QWRT 容器或其相关配置影响了系统启动流程
  • 可能连带影响了挂载、overlay、fstab 或启动服务
  • 导致系统一进入正常启动阶段就迅速异常并重启

因此,处理思路不是直接“修好 QWRT”,而是:

  1. 先阻止 Docker / QWRT 自动启动
  2. 让 FNOS 先恢复可正常启动
  3. 再在系统内停用、删除 QWRT
  4. 最后恢复 Docker 服务

三、抢救入口说明

1. GRUB 菜单项区别

  • fnos GNU/Linux:普通启动
  • Advanced options for fnos GNU/Linux:高级启动
  • fnos GNU/Linux with Linux 6.12.18-trim:该内核的正常启动模式
  • fnos GNU/Linux with Linux 6.12.18-trim (recovery mode):该内核的恢复模式

2. 当 recovery mode 也无法进入时

**如果 recovery mode 仍然快速重启,可以通过 **GRUB 编辑启动参数 的方式抢救。

进入方式:

  1. 开机进入 GRUB 菜单
  2. 选中对应启动项
  3. **按 **e
  4. 进入启动参数编辑页

看到类似:

linux /boot/vmlinuz-6.12.18-trim root=UUID=xxxx ro modprobe.blacklist=pcspkr quiet splash

四、紧急止血步骤(推荐顺序)

方案 A:尝试进入救援目标

**把 **linux 这一行末尾的:

quiet splash

改为:

systemd.unit=rescue.target

类似:

linux /boot/vmlinuz-6.12.18-trim root=UUID=xxxx ro modprobe.blacklist=pcspkr systemd.unit=rescue.target

然后按:

  • Ctrl + X
  • **或 **F10

启动。

方案 B:直接进入最底层 shell(更强)

**如果 **rescue.target 仍不行,则将末尾改为:

init=/bin/bash

类似:

linux /boot/vmlinuz-6.12.18-trim root=UUID=xxxx ro modprobe.blacklist=pcspkr init=/bin/bash

然后按:

  • Ctrl + X
  • **或 **F10

启动。

这个方式通常更容易绕过自动重启的服务。


五、进入 shell 后的第一步操作

如果成功进入命令行,先把根分区切为可写:

mount -o remount,rw /

六、停用 Docker 自启,阻止 QWRT 再次拉起

标准做法(推荐)

**如果 **systemctl 可用:

systemctl stop docker
systemctl disable docker
systemctl stop containerd
systemctl disable containerd

底层应急做法

**如果 **systemctl 不可用,可临时移走自启链接:

mv /etc/systemd/system/multi-user.target.wants/docker.service /etc/systemd/system/multi-user.target.wants/docker.service.bak 2>/dev/null
mv /etc/systemd/system/multi-user.target.wants/containerd.service /etc/systemd/system/multi-user.target.wants/containerd.service.bak 2>/dev/null

**这里使用 **mvrm -f 更稳妥,便于保留现场和回滚。


七、必要时临时隔离 Docker 数据目录

如果怀疑 Docker 一启动系统就又异常,可以临时把 Docker 数据目录改名:

mv /var/lib/docker /var/lib/docker.bak
sync

这样可以避免原有容器立即被重新拉起。

注意:这是较激进手段,但常用于紧急止血。


八、检查 fstab(因为报错中出现 Entry not found)

报错中有:

block: unable to load configuration (fstab: Entry not found)

因此恢复后应检查:

cp /etc/fstab /etc/fstab.bak
cat /etc/fstab
lsblk -f
blkid

**如果 **fstab 中存在明显异常的挂载项、错误 UUID 或无效挂载点,应先备份后修正或注释。


九、让系统恢复正常启动

完成止血后,重启系统:

reboot

**如果之前是通过 GRUB 临时添加 **init=/bin/bashsystemd.unit=rescue.target 启动的,下一次正常从默认启动项进入即可。


十、系统恢复正常启动后必须做的事情

第一步:先在飞牛 Web 中停用并删除 QWRT 应用

**系统恢复正常启动后,**先不要急着恢复 Docker 自启

应先在飞牛 Web 管理界面中:

  1. 打开应用中心
  2. 找到 QWRT
  3. 先停用
  4. 再删除 / 卸载

这样做的原因:

  • QWRT 是通过应用中心安装的
  • 只删容器可能不够
  • 应用中心可能会再次创建容器或重新拉起服务

**因此,**先在 Web 中停用、删除 QWRT,是避免问题复发的关键一步。


十一、恢复 Docker 服务的正确顺序

在确认 QWRT 已经从飞牛 Web 中停用、删除后,再恢复 Docker。

1. 查看当前状态

systemctl status docker
systemctl status containerd
systemctl is-enabled docker
systemctl is-enabled containerd
ls -ld /var/lib/docker*

2. 如果之前移动过 Docker 数据目录

**若存在 **/var/lib/docker.bak,可恢复:

mv /var/lib/docker.bak /var/lib/docker

**如果 **/var/lib/docker 已存在,先确认是否为空目录,再决定是否改名备份。

3. 恢复服务自启

systemctl enable containerd
systemctl enable docker

**如果之前做过 **mask,则先执行:

systemctl unmask containerd
systemctl unmask docker

4. 手动启动服务

systemctl start containerd
systemctl start docker

5. 检查状态

systemctl status containerd
systemctl status docker
docker ps -a

十二、如果 Docker 恢复后仍看到 QWRT 容器

如果应用中心删除后,Docker 中仍有 QWRT 相关容器,可进一步手工删除。

查看容器

docker ps -a --format 'table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}'

停止并删除容器

docker stop <容器名>
docker rm -f <容器名>

查看镜像

docker images

删除镜像

docker rmi <镜像ID>

十三、推荐的完整恢复顺序

A. 系统崩溃、无限重启阶段

  1. 进入 GRUB 编辑页
  2. **修改 **linux
  3. 优先尝试:
    • systemd.unit=rescue.target
  4. 不行再尝试:
    • init=/bin/bash
  5. 进入 shell 后:
    • mount -o remount,rw /
  6. 停止/禁用 Docker 与 containerd
  7. **必要时临时改名 **/var/lib/docker
  8. **检查 **/etc/fstab
  9. 重启

B. 系统恢复正常启动后

  1. 登录飞牛 Web
  2. 在应用中心停用 QWRT
  3. 在应用中心删除 QWRT
  4. 检查 Docker 是否仍被禁用
  5. **恢复 **/var/lib/docker(如果此前改名)
  6. enablestart Docker / containerd
  7. 检查容器列表
  8. 如有残留,再手工删除 QWRT 容器和镜像
  9. 再次重启验证系统稳定性

十四、推荐命令速查

1. 临时进入可写根分区

mount -o remount,rw /

2. 停止并禁用 Docker

systemctl stop docker
systemctl disable docker
systemctl stop containerd
systemctl disable containerd

3. 备份方式移走自启链接

mv /etc/systemd/system/multi-user.target.wants/docker.service /etc/systemd/system/multi-user.target.wants/docker.service.bak 2>/dev/null
mv /etc/systemd/system/multi-user.target.wants/containerd.service /etc/systemd/system/multi-user.target.wants/containerd.service.bak 2>/dev/null

4. 临时隔离 Docker 数据目录

mv /var/lib/docker /var/lib/docker.bak
sync

5. 检查挂载配置

cp /etc/fstab /etc/fstab.bak
cat /etc/fstab
lsblk -f
blkid

6. 恢复 Docker

systemctl unmask containerd 2>/dev/null
systemctl unmask docker 2>/dev/null
systemctl enable containerd
systemctl enable docker
systemctl start containerd
systemctl start docker

7. 查看容器

docker ps -a --format 'table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}'

十五、经验总结

这次问题的核心经验是:

  • 出现无限重启时,不要反复硬启动
  • 优先切断异常应用的自启链路
  • **抢救阶段优先保现场,能 **mv 就尽量不要直接 rm
  • 通过飞牛应用中心安装的应用,恢复后应优先在 Web 中停用、删除
  • 恢复 Docker 前,必须确认问题应用已被彻底处理

十六、后续建议

  1. 后续安装新应用前,先确认是否有用户反馈和兼容性问题
  2. 关键 NAS 业务环境尽量在安装前做配置备份
  3. 对 Docker 自启、挂载目录、系统配置变更,优先保留可回退方案
  4. 恢复完成后,建议再次检查:
    • Docker 是否正常
    • 现有容器是否齐全
    • 存储挂载是否正常
    • Web 管理界面是否稳定

十七、备注

本文档基于一次实际的 FNOS + QWRT 安装后无限重启故障排查过程整理,适合作为后续归档和同类问题处理参考。

收藏
送赞
分享

17

主题

75

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章飞牛百度网盘玩家

我也是,安装好了,但是浏览器输入这个ip后,死活进不去管理页面,好折腾啊,还不如继续用我的虚拟机的istoreOS算了,太麻烦

ScreenShot_2026-03-13_093359_918.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我也进不去,继续吧虚拟机开起来了  详情 回复
1 小时前

7

主题

26

回帖

0

牛值

江湖小虾

笑死人了 有虚拟机不用

0

主题

2

回帖

0

牛值

江湖小虾

看到你们也进不去我就放心了,哈哈哈

11

主题

51

回帖

0

牛值

初出茅庐

allen123 发表于 2026-3-13 09:47
我也是,安装好了,但是浏览器输入这个ip后,死活进不去管理页面,好折腾啊,还不如继续用我的虚拟机的isto ...

我也进不去,继续吧虚拟机开起来了

1

主题

2

回帖

0

牛值

江湖小虾

俺也一样, 看了一下80端口都没有监听

bash-5.2# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      6376/dnsmasq
tcp        0      0 192.168.2.120:22        0.0.0.0:*               LISTEN      4258/dropbear
tcp        0      0 192.168.2.120:53        0.0.0.0:*               LISTEN      6376/dnsmasq
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2102/vsftpd
tcp        0      0 127.0.0.11:42321        0.0.0.0:*               LISTEN      -
tcp        0      0 192.168.2.120:7681      0.0.0.0:*               LISTEN      6689/ttyd
tcp        0      0 :::23                   :::*                    LISTEN      1903/telnetd
tcp        0      0 ::1:53                  :::*                    LISTEN      6376/dnsmasq
tcp        0      0 fe80::c412:a9ff:fe20:8019:53 :::*                    LISTEN      6376/dnsmasq
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则