外观
系统无法启动
适用范围
OMV 已经装好,开机后到不了登录提示:停在 BIOS、GRUB、内核启动信息、initramfs 提示符或紧急模式。
不适用:能看到控制台登录提示,只是浏览器打不开界面,看Web 界面打不开;安装过程中的问题,看安装器报错与找不到磁盘。
开始排查前
先读后写,不要急着重装
影响范围:系统起不来的时候,这台 NAS 上的所有共享、容器和计划任务都停了。本页的检查只涉及系统盘和启动流程,不会改动数据盘。
前置条件:准备好显示器和键盘(或 IPMI、KVM、虚拟机控制台)。重装系统之前先拔掉所有数据盘,否则安装器可能把数据盘当成目标盘清空。
回退办法:本页的只读检查不需要回退;在 GRUB 菜单里临时选择旧内核启动,不会改变任何配置。需要改 /etc/fstab 时先备份原文件。
先做三件事:
- 拍下停住的画面,尤其是最后几行。
- 回想停住之前做过什么:更新、换内核、加盘或换盘、断电、改过 BIOS。
- 确认数据盘上的数据另有备份(冗余不是备份)。
排查步骤
判断卡在哪一步
| 屏幕上看到什么 | 说明 | 看哪一节 |
|---|---|---|
黑屏、No bootable device,或直接回到 BIOS | 固件找不到系统盘 | 1 |
grub> 或 grub rescue> 提示符 | GRUB 找不到自己的配置或分区 | 2 |
内核信息之后停在 Gave up waiting for root file system device、ALERT! UUID=... does not exist,或出现 (initramfs) 提示符 | 内核起来了,但找不到根文件系统 | 3 |
Kernel panic - not syncing | 内核或驱动问题,常见于更新内核之后 | 4 |
You are in emergency mode、Give root password for maintenance | systemd 启动某个必需的单元失败 | 5 |
| 能看到登录提示 | 系统已经起来了 | 见Web 界面打不开 |
1. 固件找不到系统盘
- 进 BIOS,看系统盘是否被识别。没识别:数据线、电源、接口或磁盘本身有问题。
- 识别了但不从它启动:新接了磁盘或 U 盘导致启动顺序变化、BIOS 设置被重置(主板电池没电或刷过 BIOS)、UEFI 与传统启动模式被切换。把启动项改回系统盘和原来的模式。
- 系统装在 U 盘、SD 卡或 eMMC 上:官方 FAQ 提醒,这类介质没有减少写入的优化,可能在几周内开始出问题,最常见的症状是基本命令执行失败、登录被拒绝。介质损坏后通常只能换盘重装。预防办法见系统盘怎么选和减少系统盘写入:writecache 插件。
2. 停在 grub> 或 grub rescue>
常见于系统盘的分区被改动、引导区被覆盖,或者磁盘数量变化之后 GRUB 找不到自己所在的分区。
在 GRUB 提示符里手工引导属于高阶操作,稳妥的做法有两条:
- 用救援系统启动,检查系统盘、重装 GRUB,见用救援系统抢救数据。
- 系统盘本身有问题时,重装 OMV 并接回数据盘,见系统盘坏了:重装并接回数据盘。
不要在没有核对磁盘的情况下对任何一块盘运行 grub-install。
3. 找不到根文件系统
内核已经加载,但找不到系统盘上的根分区。常见原因:U 盘或 SD 卡损坏、控制器驱动缺失、数据线松动、系统盘被换过。
如果出现了 (initramfs) 提示符,可以做只读检查:
sh
# 在 initramfs 的 shell 里执行
cat /proc/partitions
ls /dev/disk/by-uuid- 看不到系统盘:硬件或驱动层,回到第 1 节检查连接,或者换盘。
- 能看到磁盘,但
ls /dev/disk/by-uuid里没有报错信息里的 UUID:根分区被重建过,或者这块盘不是原来的系统盘。
4. 更新之后 Kernel panic
- 重启,在 GRUB 菜单选
Advanced options for Debian GNU/Linux,改选上一个内核启动。 - 进系统后,用
系统 → 内核(System → Kernel)把能正常启动的内核设为默认。这个页面来自 omv-extras 的内核插件,仅支持 amd64,见内核插件:切换内核与 Proxmox 内核。 - 用了 Proxmox 内核加 ZFS 的组合时,内核与 ZFS 模块必须配套,不要单独升级其中一方。
- 换内核后仍随机崩溃或死机,用 Memtest86+ 测试内存,排除硬件问题。
5. 进入紧急模式
输入 root 密码进入后,先做只读检查:
sh
# 在紧急模式的控制台里执行
systemctl --failed
journalctl -xb -p err --no-pager | tail -n 50
findmnt --verify按失败的单元判断:
- 失败的是某个数据盘的挂载单元(名字形如
srv-dev-disk-by-uuid-….mount):说明盘没连上。OMV 给数据盘的挂载选项默认带nofail,一般不会因此进紧急模式;如果真的进了,通常是该条目缺nofail,或者那是你自己添加的挂载行。先检查连接,见磁盘或文件系统不见了。 fsck失败、根文件系统报错:系统盘可能损坏,先看 SMART 和内核日志,必要时换盘重装。- 日志里出现
No space left on device:系统盘满了,见系统盘满了。 - 失败的是你自己手工加进
/etc/fstab的挂载行:临时注释掉它再重启。 只处理# >>> [openmediavault]与# <<< [openmediavault]这两行之外的内容,之间的部分由 OMV 重写,手改会被覆盖。
sh
# 在紧急模式的控制台里执行;根文件系统此时可能是只读的
mount -o remount,rw /
cp -a /etc/fstab /etc/fstab.bak
# 用 nano 或 vi 在出错的那一行前面加 #,保存后重启确认恢复
- 重启后到达控制台登录提示,提示上方显示了 IP 地址。
systemctl --failed显示没有失败的单元。findmnt能看到各数据盘挂载在/srv/dev-disk-by-uuid-…下。- 浏览器能打开 Web 界面;在
存储器 → 文件系统(Storage → File Systems)里数据盘都是已挂载状态。 - 再重启一次,确认不是临时凑效的修复。
仍未解决
求助时附上:停住画面的照片、journalctl -xb 输出的关键部分、系统盘类型(SSD、U 盘还是 SD 卡)、最近的变更。读如何有效求助,分享前先去掉主机名和 IP。
系统盘确认损坏时,数据盘上的数据不受影响:换盘重装 OMV,再挂载已有的数据盘,用户和共享需要重新建立(注意用户 UID 对齐),见系统盘坏了:重装并接回数据盘。