外观
内核插件:切换内核与 Proxmox 内核
完成后,你会用 系统 → 内核(System → Kernel)选择下次启动哪个内核,需要 ZFS 时安装 Proxmox 内核,还能把救援系统放进 GRUB 菜单;更要紧的是,你知道换内核出问题时怎么退回来。
适合谁
- 要用 ZFS。 ZFS 插件的指南建议先装 Proxmox 内核:Debian backports 内核升级时可能丢掉 ZFS 模块包,Proxmox 内核自带预编译的 ZFS 模块,并和 ZFS 软件包同步更新。完整顺序见 ZFS 插件。
- 新硬件需要更新的内核。注意 OMV 核心默认已经启用 Debian backports 的内核源(环境变量
OMV_APT_USE_KERNEL_BACKPORTS,默认开启),先确认不够再换。 - 想把 Clonezilla、SystemRescue 等救援工具放进启动菜单。
不需要:只跑 SMB、容器,没有 ZFS 和特殊硬件的机器,默认的 Debian 内核就够了,不要为了「更新」去换内核。它也不适用于树莓派等 ARM 设备,这个插件只有 amd64 版。
插件信息
| 项 | 内容 |
|---|---|
| 包名 | openmediavault-kernel |
| 来源 | omv-extras |
| OMV 8 状态 | 截至 2026-10-22,omv-extras 的 synchrony 软件源为 8.1.0,仅 amd64,arm64 软件源里没有 |
| 菜单位置 | 系统 → 内核 |
| 依赖 | 只依赖 openmediavault 8 以上。安装时会在 /etc/default/grub 里设置 GRUB_DISABLE_SUBMENU=y,让所有内核平铺在 GRUB 菜单里,不收进子菜单 |
| 卸载的影响 | 只清除「启动系列」设置并重新生成 GRUB 配置。已装的内核、Proxmox 软件源和 /boot 里的救援 ISO 都不会被删除 |
换内核要重启,新内核起不来就是整机不可用
- 影响范围:整台机器。换内核必须重启;新内核启动失败,或缺网卡、RAID 卡、ZFS 模块的驱动时,Web 界面和所有服务都不可用,只能靠控制台处理。
- 前置条件:有本机控制台或虚拟机控制台,能在 GRUB 菜单里选条目;做过系统盘备份;系统更新已装完;没有 RAID 重建、SnapRAID 同步、ZFS 擦洗这类长任务在跑;机器上留有一个已知能启动的 Debian 内核。
- 怎么回退:重启时在 GRUB 菜单选旧内核。进入系统后,在
系统 → 内核里把启动系列设回 Debian,或选不设定默认内核,再点更新 GRUB。新内核没验证稳定之前,不要删旧内核。
页面一览
列表每行是一个 GRUB 菜单条目:名称、系列、默认(是不是下次默认启动的)、Default reason(为什么是默认,界面里这项是英文)、启动一次、可删除的。工具栏的按钮:
| 按钮 | 里面有什么 |
|---|---|
| 启动(Boot) | 设置启动项、Set boot family、启动一次、不设定默认内核、更新 GRUB |
| 垃圾桶 | 删除内核,只对非默认、非恢复模式的条目可用 |
| Proxmox | 安装 Proxmox 内核、删除 non-Proxmox kernels |
| Debian | 安装 Debian 内核、安装 Debian kernel headers |
| Tools | Install tool、Remove tool、写入 ISO 到设备(Write ISO to drive) |
| Docs | 打开 omv-extras wiki |
官方中文界面里有几项没有翻译,直接显示英文。
四种选内核的方式
| 做法 | 效果 | 什么时候用 |
|---|---|---|
| 设置启动项 | 把某一条固定为默认(grub-set-default),同时取消「启动系列」 | 要钉死一个版本 |
| Set boot family | 始终启动所选系列里最新的内核,内核更新之后也是。可选项由已装内核生成,如 Proxmox(最新)、Proxmox 6.17、Debian(最新) | 想跟随一个系列 |
| 启动一次 | 只在下次重启启动所选条目(grub-reboot),之后回到默认 | 试新内核;也用来进救援工具 |
| 不设定默认内核 | 清除固定和系列,回到 GRUB 的默认:第一个条目,通常是最新版本 | 回退 |
推荐流程:先用启动一次试新内核,重启后用 uname -r 确认,服务都正常,再用设置启动项或 Set boot family 设成默认。
安装 Proxmox 内核(给 ZFS 用)
- 先在
系统 → 更新管理(System → Update Management)把系统更新装完,见系统更新。 系统 → 内核→ Proxmox 菜单 → 安装 Proxmox 内核,在内核版本下拉里选一个(8.1.0 里有 6.14、6.17、7.0,以你界面上的为准),点安装。- 任务输出末尾出现
Please reboot to use the new kernel.就是成功了。 - 重启,再运行
uname -r,应以-pve结尾。系统 → 内核里 默认 一列应落在 Proxmox 条目上。 - 只装不重启不算完。 重启进入 pve 内核之后,ZFS 才会用上 Proxmox 的 ZFS 模块:已经装了 ZFS 插件,就在黄色提示条上点应用;还没装,就接着按 ZFS 插件往下走。原因见下文「ZFS 插件怎么选内核模块」。
按脚本源码(omv-installproxmox),安装时它做了这些事:
- 只接受 amd64。版本参数无效时回退到 6.17。
- 写入
/etc/apt/sources.list.d/pvekernel.sources,指向 Proxmox 的免费(no-subscription)软件源,并下载它的签名密钥。 - 先卸载一批固件包:
firmware-linux-free、firmware-amd-graphics、firmware-ath9k-htc、firmware-cavium、firmware-siano、firmware-netronome,避免冲突。依赖这些固件的硬件(例如 AMD 显卡)要留意。 - 临时禁用 DKMS 自动构建,安装
proxmox-kernel-<版本>和proxmox-headers-<版本>。 - 把所装系列设为启动系列(不是钉死某一个具体版本),运行
update-grub;已装 ZFS 插件的话,把 ZFS 模块标为待应用(所以黄色提示条上会出现待应用的变更)。
另外,内核插件的软件包自带 /etc/apt/preferences.d/proxmox.pref,把 ZFS 相关的用户态包(zfsutils-linux、zfs-zed 等)固定到 Proxmox 软件源,优先级 700。
Proxmox 内核由 Proxmox 项目构建,不是 Debian 的,也不是 OMV 的。出了问题,先回到 Debian 内核确认是不是它引起的。如果主板开启了 Secure Boot,本站没有验证过它的表现,请先在不重要的机器上试。
「删除 non-Proxmox kernels」会清空所有 Debian 内核
- 影响范围:脚本
omv-removekernels用apt-get --yes --autoremove purge清除所有名字含linux-image、linux-headers的包,包括linux-image-amd64,并把 GRUB 默认项改成第一个条目。此后系统更新不会再带来 Debian 内核,机器上只剩 Proxmox 内核。 - 前置条件:已经重启进入 Proxmox 内核(
uname -r以-pve结尾),并稳定运行了一段时间;有系统盘备份和控制台;你确实愿意长期只用 Proxmox 内核。omv-extras 在 OMV 6 时期的 wiki 要求先重启进入 Proxmox 内核再执行,否则会因为仍在使用旧内核而失败。 - 怎么回退:系统能启动时,用 Debian 菜单的安装 Debian 内核装回
linux-image-amd64。Proxmox 内核也起不来时,GRUB 里已经没有 Debian 内核可退,只能用救援 ISO 或 live U 盘修复或重装。不确定就别点;想腾空间,用垃圾桶按钮一次删一个旧内核。
ZFS 插件怎么选内核模块
ZFS 插件靠内核里的 ZFS 模块工作。它在应用配置时,按当前正在运行的内核决定用哪一种模块提供者,而不是看装了哪些内核(来自 ZFS 插件的 Salt 状态):
| 正在运行的内核 | 选用的提供者 | 做了什么 |
|---|---|---|
amd64,内核版本名里含 pve | omv-zfs-provider-pve | 用 Proxmox 软件源里预编译好的 ZFS 模块;清除 zfs-dkms;写入 /etc/apt/preferences.d/omv-zfs-pve.pref,把 ZFS 相关包和 proxmox-headers-* 固定到 Proxmox 软件源(优先级 700);最后用 modinfo 确认当前内核里有 zfs 模块,没有就让这次应用失败 |
| 其他:Debian 内核,以及 arm64 | omv-zfs-provider-dkms | 用 DKMS 在本机为当前内核编译 ZFS 模块。amd64 版依赖 linux-headers-amd64;arm64 版要自备当前内核的 headers,缺了应用会报错 |
两个提供者包互相冲突,同一时间只会装一个。omv-zfs-provider-pve 自己依赖 Proxmox 的内核和 headers 包(6.14、6.17、7.0 三选一),所以它离不开 Proxmox 软件源,这个源正是本插件配置的。
据此,装完 Proxmox 内核后要这样走:
- 重启进入 pve 内核,
uname -r以-pve结尾。只装不重启,当前运行的仍是 Debian 内核,ZFS 插件会继续按 DKMS 提供者配置。 - 在 pve 内核下应用一次 ZFS 配置。装内核时 ZFS 插件已经装好的话,脚本已把它标为待应用,点黄色提示条上的应用就行;ZFS 还没装,就在 pve 内核下装,再应用。到这一步才会换成
omv-zfs-provider-pve。 - 反过来,从 pve 内核换回 Debian 内核,下次应用 ZFS 配置时会按上面的规则改回 DKMS 提供者。在 DKMS 模块为当前内核编译好之前,这个内核里没有 ZFS 模块,池用不了。
按源码,ZFS 插件检测到已装 Proxmox 内核、却运行着 Debian 内核时会给出提示,但它是按旧包名 pve-kernel-* 检测的,新版内核包叫 proxmox-kernel-*,这条提示是否出现,本站未核实,不要指望它提醒你。
回到 Debian 内核
- 还有 Debian 内核时:启动 → Set boot family 选 Debian(最新),或者不设定默认内核,再更新 GRUB。
- Debian 内核已被删光:Debian 菜单 → 安装 Debian 内核(重新安装
linux-image-amd64,并重置默认项),安装 Debian kernel headers 装linux-headers-amd64,需要 DKMS 模块(例如 ZFS 的 DKMS 版)时要它。
救援工具
Tools 菜单里可以安装这些启动工具:Clonezilla、Finnix、GParted Live、SystemRescue 和 memtest86+。Install tool 选一个工具,ISO 会下载到 /boot(环境变量 OMV_KERNEL_BOOT_ISO_SUBDIR 可以改放到子目录),并在 GRUB 菜单里加一个条目。ISO 的版本随插件更新。装之前看一下 /boot 的剩余空间:
sh
# 在 OMV 的 shell 里,以 root 身份,只读
df -h /boot用的时候:
- 无显示器的机器,不方便在 GRUB 菜单里手选,可以在内核列表里选中这个工具对应的条目,用启动一次,再重启。用完再重启一次,就回到正常系统。不要把它们设为默认启动项,否则 NAS 会一直启动进救援环境,Web 界面也就起不来了。这个用法按源码推断,本站未在实机验证。
- 写入 ISO 到设备:选一个 ISO 和目标设备,把 ISO 写到 U 盘。界面只列出未使用的磁盘,并明确提示所选磁盘上的所有数据都会被擦除,选之前按型号和序列号核对,见磁盘管理。
救援环境里的口令是公开的默认值
按插件脚本写进 GRUB 条目的启动参数:Finnix 的口令和 SystemRescue 的 root 口令、VNC 口令都是 openmediavault;Clonezilla 启动后会开 SSH 服务;SystemRescue 的参数里还带着 nofirewall。这些环境运行期间,局域网里的人可以凭这个默认口令连进去。只在需要时用,用完立刻回到正常系统。
检查结果
sh
# 在 OMV 的 shell 里,以 root 身份,只读
uname -r- 输出是当前正在运行的内核版本。Proxmox 内核以
-pve结尾。 系统 → 内核里,默认打勾的行就是下次启动用的内核;Default reason 解释为什么,例如是你固定的,还是跟随启动系列,还是 GRUB 退回到最高版本。- 设置了启动系列时,
/etc/default/grub.d/omv-kernel-family.cfg存在。
常见问题
重启后还是旧内核。 先点更新 GRUB,再看默认一列;其次检查 BIOS 是不是从别的磁盘或别的 UEFI 条目启动的。
换内核后网卡不见了。 内核缺驱动,或者安装 Proxmox 内核时卸载的固件包正是你的硬件需要的。重启在 GRUB 里选回旧内核,再设回 Debian。
换内核后 ZFS 池不见了。 当前内核没有对应的 ZFS 模块。回到有模块的内核,或者按 ZFS 插件里的顺序装 Proxmox 内核。
内核列表里看不到 Proxmox 或新装的条目。 点更新 GRUB 重新生成菜单。
/boot 空间不够。 救援 ISO 放在 /boot 里,一个就是几百 MB。先删用不到的工具(Remove tool)或旧内核(垃圾桶按钮)。
参考资料
- omv-extras 插件源码:openmediavault-kernel(
omv-installproxmox、omv-removekernels、omv-kernelfamily、omv-installiso、界面定义)。 - omv-extras wiki:Kernel(OMV 8 页面目前只是桩,指向 OMV 6 文档)。
- ZFS 插件源码里的
GUIDE.md:为什么 ZFS 建议用 Proxmox 内核。 - OMV 源码:
10default.sls(Debian backports 内核源默认开启)。