跳转到内容

系统无法启动 ​

适用范围 ​

OMV 已经装好,开机后到不了登录提示:停在 BIOS、GRUB、内核启动信息、initramfs 提示符或紧急模式。

不适用:能看到控制台登录提示,只是浏览器打不开界面,看Web 界面打不开;安装过程中的问题,看安装器报错与找不到磁盘。

开始排查前 ​

先读后写,不要急着重装

影响范围:系统起不来的时候,这台 NAS 上的所有共享、容器和计划任务都停了。本页的检查只涉及系统盘和启动流程,不会改动数据盘。

前置条件:准备好显示器和键盘(或 IPMI、KVM、虚拟机控制台)。重装系统之前先拔掉所有数据盘,否则安装器可能把数据盘当成目标盘清空。

回退办法:本页的只读检查不需要回退;在 GRUB 菜单里临时选择旧内核启动,不会改变任何配置。需要改 /etc/fstab 时先备份原文件。

先做三件事:

  1. 拍下停住的画面,尤其是最后几行。
  2. 回想停住之前做过什么:更新、换内核、加盘或换盘、断电、改过 BIOS。
  3. 确认数据盘上的数据另有备份(冗余不是备份)。

排查步骤 ​

判断卡在哪一步 ​

屏幕上看到什么说明看哪一节
黑屏、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 maintenancesystemd 启动某个必需的单元失败5
能看到登录提示系统已经起来了见Web 界面打不开

1. 固件找不到系统盘 ​

  1. 进 BIOS,看系统盘是否被识别。没识别:数据线、电源、接口或磁盘本身有问题。
  2. 识别了但不从它启动:新接了磁盘或 U 盘导致启动顺序变化、BIOS 设置被重置(主板电池没电或刷过 BIOS)、UEFI 与传统启动模式被切换。把启动项改回系统盘和原来的模式。
  3. 系统装在 U 盘、SD 卡或 eMMC 上:官方 FAQ 提醒,这类介质没有减少写入的优化,可能在几周内开始出问题,最常见的症状是基本命令执行失败、登录被拒绝。介质损坏后通常只能换盘重装。预防办法见系统盘怎么选和减少系统盘写入:writecache 插件。

2. 停在 grub> 或 grub rescue> ​

常见于系统盘的分区被改动、引导区被覆盖,或者磁盘数量变化之后 GRUB 找不到自己所在的分区。

在 GRUB 提示符里手工引导属于高阶操作,稳妥的做法有两条:

不要在没有核对磁盘的情况下对任何一块盘运行 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 ​

  1. 重启,在 GRUB 菜单选 Advanced options for Debian GNU/Linux,改选上一个内核启动。
  2. 进系统后,用 系统 → 内核(System → Kernel)把能正常启动的内核设为默认。这个页面来自 omv-extras 的内核插件,仅支持 amd64,见内核插件:切换内核与 Proxmox 内核。
  3. 用了 Proxmox 内核加 ZFS 的组合时,内核与 ZFS 模块必须配套,不要单独升级其中一方。
  4. 换内核后仍随机崩溃或死机,用 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 在出错的那一行前面加 #,保存后重启

确认恢复 ​

  1. 重启后到达控制台登录提示,提示上方显示了 IP 地址。
  2. systemctl --failed 显示没有失败的单元。
  3. findmnt 能看到各数据盘挂载在 /srv/dev-disk-by-uuid-… 下。
  4. 浏览器能打开 Web 界面;在 存储器 → 文件系统(Storage → File Systems)里数据盘都是已挂载状态。
  5. 再重启一次,确认不是临时凑效的修复。

仍未解决 ​

求助时附上:停住画面的照片、journalctl -xb 输出的关键部分、系统盘类型(SSD、U 盘还是 SD 卡)、最近的变更。读如何有效求助,分享前先去掉主机名和 IP。

系统盘确认损坏时,数据盘上的数据不受影响:换盘重装 OMV,再挂载已有的数据盘,用户和共享需要重新建立(注意用户 UID 对齐),见系统盘坏了:重装并接回数据盘。

参考资料 ​

OpenMediaVault 非官方中文使用指南,与 openmediavault 项目及其开发者无隶属关系。