启动进入 Emergency Mode、重启后无网络的完整解决方案
适用于:Proxmox VE 家用服务器 / NAS / 软路由一体机
关键词:PVE Emergency Mode、OpenWrt 自动启动、USB 硬盘挂载、UUID、断电恢复网络
一、问题背景
在家庭服务器环境中,常见如下架构:
- Proxmox VE(PVE) 作为宿主机
- OpenWrt 安装在 PVE 虚拟机中,负责 DHCP / 路由 / 上网
- USB 外接硬盘(2 块或以上)
- 用作 NAS / 飞牛 / Docker 应用的数据存储
- 使用场景:
- 家庭照片、视频长期保存
- 设备可能断电、重启
- 家人不会进行任何技术操作
理想状态应当是:
断电 → 开机 → 自动有网 → 数据完整
不需要登录 PVE、不需要手动修复
二、常见故障现象
1. PVE 启动进入 Emergency Mode
启动时出现类似日志:
Timed out waiting for device /dev/sdd
Dependency failed for /mnt/sdd
You are in emergency mode

现象结果:
- PVE 无法正常启动
- 需要人工登录修复
- 由于PVE无法启动,OPENWRT 也未能启动,导致家庭网络不可用
2. USB 外接硬盘重插后“变成新盘”
例如:
- 原来是
/dev/sdd、/dev/sde - 重启或重插后变成
/dev/sdb、/dev/sdc
这是 Linux 的正常行为:
/dev/sdX不是固定标识,只与识别顺序有关。
三、核心原则(必须理解)
❌ 不可靠的做法
- 依赖
/dev/sda /dev/sdb - 假设 USB 顺序永远不变
- 假设虚拟机会“每次都启动成功”
✅ 正确且稳定的做法
- 使用 UUID 挂载磁盘
- 启动失败不阻塞系统
- 对关键服务(OpenWrt)自动重试
四、使用 UUID 正确挂载 USB 硬盘(不影响任何数据)
1️⃣ 查看磁盘 UUID
在 PVE 宿主机执行:
lsblk -f
示例输出:
sdb ext4 f0cbb87d-3102-4144-9482-29ac369e37c0
sdc ext4 63224029-2ca9-4091-a014-67873eecbc30
📌 UUID 是磁盘的唯一身份标识,与盘符无关

2️⃣ 修改 /etc/fstab(关键步骤)
❌ 错误示例(不要再使用):
/dev/sdd /mnt/sdd ext4 defaults 0 2
✅ 正确示例(推荐):
UUID=f0cbb87d-3102-4144-9482-29ac369e37c0 /mnt/disk1 ext4 defaults,nofail,x-systemd.device-timeout=10 0 2
UUID=63224029-2ca9-4091-a014-67873eecbc30 /mnt/disk2 ext4 defaults,nofail,x-systemd.device-timeout=10 0 2
参数说明:
- UUID:避免 USB 盘符变化导致挂载失败
- nofail:磁盘缺失也允许系统正常启动
- x-systemd.device-timeout=10:最多等待 10 秒,不无限阻塞
📌 此操作不会格式化磁盘,不会影响现有数据

3️⃣ 挂载验证(无需重启)
mount -a
无错误即表示配置正确。
五、如何确认“原来的 sdd 是哪一块盘”?
在以下场景中:
- 两块盘 同时被飞牛 / NAS 使用
- 没有明确区分“照片盘 / 视频盘”
- 数据混合写入
结论是:
经过修复处理后,PVE可以正常启动,然后启动FNOS后,它确实不会去区分uuid 与原先的硬盘是否对应,只要这两块硬盘都在原来的位置就可以了,无需区分。
原因很简单:
- 应用只关心:
- 挂载点是否存在
- 数据是否完整
- 不关心盘符曾经叫什么
六、解决 OpenWrt 虚拟机重启后无网络的问题(如果仅仅是解决因为硬盘挂载问题而无法启动PVE的问题,则不用看这一步)
1️⃣ 基础设置(必须)
在 PVE 中确认:
- OpenWrt VM:
Start at boot = Yes- 设置
Startup order Startup delay ≥ 30
- 网络桥
vmbr0:自动启动
2️⃣ 最终保险方案(强烈推荐)
即使以上都配置正确,仍建议加这一条。
在 PVE 宿主机执行:
crontab -e
添加(假设 OpenWrt VMID 为 100):
@reboot sleep 90 && qm start 100
为什么这一步非常重要?
- OpenWrt 启动失败一次 → 全家断网
- 强制二次启动 → 成本为 0
- 已运行不会重复启动
这是实际运维环境中常用的“自愈方案”。
七、最终验证(建议一定要做)
模拟一次真实停电流程:
- 关闭电源
- 等 30 秒
- 开机
- 不登录 PVE
- 等 2 分钟
- 用手机连接 Wi-Fi
验收标准:
- 自动获取 IP
- 可正常上网
- 无需任何人工干预
八、总结:最终你将获得什么
完成以上配置后,你的系统将具备:
- ✅ USB 外接硬盘即插即用、不丢数据
- ✅ PVE 永不因磁盘缺失进入 Emergency Mode,飞牛系统也可以在重启后正常识别两块外挂USB硬盘
- ✅ OpenWrt 断电后自动恢复网络
- ✅ 家庭成员无需任何技术操作
- ✅ 长期稳定运行,适合家用环境