![解决双引导问题:Windows 未显示在 GRUB 菜单中](https://linux22.com/image/225182/%E8%A7%A3%E5%86%B3%E5%8F%8C%E5%BC%95%E5%AF%BC%E9%97%AE%E9%A2%98%EF%BC%9AWindows%20%E6%9C%AA%E6%98%BE%E7%A4%BA%E5%9C%A8%20GRUB%20%E8%8F%9C%E5%8D%95%E4%B8%AD.png)
我最近在 Debian 12 系统上遇到了双启动问题,在 Debian 更新后,Windows 10 没有显示在 GRUB 菜单中。我花了一些时间来解决这个问题并能够解决它。我想分享我的经验,以防其他人遇到类似的问题。
问题描述:Debian 更新后,我的 GRUB 引导加载程序不再显示引导至 Windows 10 的选项。最初,我认为我的 Windows 分区位于 /dev/sda2,但结果是位于 /dev/sda1。
答案1
对我来说,最近当我将grub2
包从版本升级2.06-13
到2.06-13+deb12u1
.解决方案是取消注释此行/etc/default/grub
:
GRUB_DISABLE_OS_PROBER=false
然后运行sudo update-grub
让 GRUB 扫描 Windows 10。这样我就不需要在/etc/grub.d/
.
注意:此更新可能与最近的安全更新有关:https://www.debian.org/security/2022/dsa-5280
答案2
解决方案:
验证 Windows 分区:要确认 Windows 分区的位置,您可以使用
lsblk
或等命令fdisk -l
。就我而言,它是/dev/sda1。更新自定义 GRUB 条目:我在文件中添加了适用于 Windows 的自定义 GRUB 菜单条目
/etc/grub.d/40_custom
。它看起来是这样的:
menuentry "Windows 10" {
insmod ntfs
set root=(hd0,1) # Modify this to match your Windows partition
chainloader +1
}
确保替换(hd0,1)
为适合您的 Windows 安装的分区信息。
启用
os-prober
:在/etc/default/grub
文件中,确保将GRUB_DISABLE_OS_PROBER
设置设置false
为启用对其他可引导分区的自动检测。更新 GRUB:运行
sudo update-grub
以重新生成 GRUB 配置。
执行这些步骤后,我的 GRUB 菜单显示“Windows 10”选项,使我能够成功启动到 Windows 10。
结论:如果您遇到 Windows 未显示在 GRUB 菜单中的类似问题,请考虑检查 Windows 分区位置、配置自定义 GRUB 条目并启用os-prober
.这应该可以帮助您解决问题并恢复双引导功能。
我希望这篇文章可以帮助其他可能面临同样问题的人,如果您有任何疑问或需要进一步的帮助,请随时询问。