安装 Windows 10 后,我在不同的分区中安装了 Debian 9。我想进行双启动。但是出现了问题,目前在可选启动列表中只有 Debian 显示为唯一操作系统。这些是分区:
sda1:EFI 系统
sda2 和 sda3:Windows 10
sda3: Debian
我怎样才能让这两个操作系统显示在列表中?
我尝试过的事情:
- 将 GRUB 安装到 MRB 中,而不是 sda1 中作为 UEFI
- 使用工具Grub修复
2 之后(在某个时间点),GRUB 中显示了两个 Windows 条目。但是,我只能看到 Debian 的壁纸,却看不到要输入凭据的登录框的踪迹。
更新 目前我破坏了 grub。启动时会出现一个黑色脚本,其中包含以下消息:
错误:未找到文件‘/grub/i386-pc/normal.mod’。grub rescue>
我遵循了以下内容邮政
但是normal.mod不在grub文件夹内:
grub rescue> ls (hd0,msdos6)/boot/grub/
unicode.pf2 x86_64-efi/ 区域设置/ 字体/ grubenv grub.cfg
答案1
Grub 从 读取其启动配置/boot/grub/grub.cfg
,该配置由 生成grub-mkconfig
。grub-mkconfig 读取/etc/defaults/grub
配置变量,执行中的文件/etc/grub.d
并将输出写入启动配置。
/etc/grub.d 中的一个文件应该命名为30_os-prober
。如果该文件存在,则应该调用os-prober
(如果它没有在 /etc/defaults/grub 中禁用)。
因此,要找出问题所在,请检查 os-prober 是否工作并输出类似的内容/dev/sda1:Windows 10:Windows:chain
(这是我的 EFI 分区)。
如果是,请检查 /etc/defaults/grub 中 os-prober 是否被禁用,以及 /etc/grub.d/30_os-prober 是否存在。
您也可以手动添加条目/etc/grub.d/40_custom
。拱门 Wiki有关于如何做到这一点的很好的信息。
答案2
首先启动 Debian 并挂载 Windows 10 分区。然后在终端运行sudo os-prober && sudo update-grub
。检查问题是否解决。