You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

os-prober无法在三重启动环境中检测到加密的Kubuntu系统,如何实现自动检测?

os-prober无法在三重启动环境中检测到加密的Kubuntu系统,如何实现自动检测?

这个问题我之前折腾加密LVM多系统的时候也碰到过,os-prober默认确实没法自动识别加密的LVM系统——因为它没有权限解锁加密卷,自然扫不到里面的Kubuntu引导信息。不过咱们可以通过几步配置让它自动检测,不用再手动写40_custom了,具体步骤如下:

1. 确认os-prober已安装(可选,但保险起见)

先确保你的Ubuntu系统里已经装了os-prober,没装的话跑这个命令:

sudo apt install os-prober

2. 找到Kubuntu加密卷的UUID

咱们得先拿到Kubuntu那个加密LUKS分区的UUID,在Ubuntu里执行:

sudo blkid

找输出里TYPE="crypto_LUKS"的条目,对应的UUID="xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"就是咱们要的,记下来(后面叫它KUBUNTU_LUKS_UUID)。

3. 允许GRUB处理加密磁盘

编辑GRUB的默认配置文件:

sudo nano /etc/default/grub

添加或者确保有这一行:

GRUB_ENABLE_CRYPTODISK=y

这行的作用是让GRUB具备解锁加密磁盘的能力。

同时,还要确保os-prober没有被禁用,检查文件里有没有GRUB_DISABLE_OS_PROBER=false,如果没有就加上,有的话确保它的值是false。

4. 创建预扫描脚本解锁加密卷

咱们需要在GRUB运行os-prober之前先解锁Kubuntu的加密卷,所以在/etc/grub.d/目录下创建一个脚本文件:

sudo nano /etc/grub.d/05_cryptoscan

把下面的内容粘进去,注意把KUBUNTU_LUKS_UUID替换成你刚才记下的真实UUID:

#!/bin/sh
exec tail -n +3 $0
# 这个脚本会在os-prober扫描前解锁Kubuntu的加密LVM卷
cryptomount UUID=KUBUNTU_LUKS_UUID

保存退出后,给这个脚本加执行权限:

sudo chmod +x /etc/grub.d/05_cryptoscan

5. 重新生成GRUB配置

最后一步,让GRUB应用这些配置:

sudo update-grub

这时候你应该能看到os-prober扫描到Kubuntu的提示了,重启后GRUB菜单里就会自动出现Kubuntu的条目。

一些注意事项

  • 启动的时候GRUB会提示你输入加密密码,这是正常的——如果Ubuntu和Kubuntu的加密卷用的是同一个密码,GRUB会记住密码只需要输一次;如果密码不同,就得输两次,这个得看你自己的设置。
  • 如果你之前手动在40_custom里加了Kubuntu的条目,现在自动检测到了会有重复,建议把手动加的删掉,避免混淆。

备注:内容来源于stack exchange,提问作者thehnm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 13:15:30