在 Linux 系统中安装 Windows 7 后,有时重启电脑并不会出现“选择操作系统”的界面,而是直接进入 Windows 7,这是因为 Fedora 默认只加载了 Linux 的 GRUB2 引导加载程序,而忽略了 Windows 7 的引导记录。
不用担心,这可以通过命令行轻松修复,以下是在 Fedora 中手动添加 Windows 7 启动项的两种方法。
使用 os-prober(推荐新手尝试)
这是最简单的方法,它会自动扫描硬盘上的操作系统并更新 GRUB 配置。

-
打开终端,输入以下命令并回车:
sudo os-prober
如果命令输出显示类似
/dev/sda1:Windows 7...的信息,说明系统已经检测到了 Windows。 -
更新 GRUB 配置,输入:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
重启电脑,观察启动菜单是否出现了 Windows 7 的选项。
注意:
os-prober在较新的硬件上无法检测到 Windows 7(因为 UEFI 限制),请尝试方法二。
手动添加引导项(最稳妥的方法)
os-prober 失败,我们需要手动编辑 GRUB 的配置文件,这需要你先知道 Windows 7 安装在哪个分区。
第一步:查看硬盘分区
在终端中输入:
lsblk
或者
sudo fdisk -l
查看输出结果,找到你的 Windows 7 所在的分区,Windows 7 会安装在 /dev/sda1、/dev/nvme0n1p1 或 /dev/sdb1 等位置(具体取决于你的硬盘类型和分区情况)。请记下这个分区路径。
第二步:编辑 GRUB 配置文件
-
输入以下命令打开配置文件:
sudo nano /etc/grub.d/40_custom
-
在文件的最底部(已有代码之后),添加以下内容(请根据你第一步查到的路径修改
set root和search --no-floppy --set --label):menuentry "Windows 7" { insmod part_msdos insmod ntfs # 这里假设你的Windows 7在第一块硬盘的第一个分区(根据实际情况修改) set root=(hd0,msdos1) # 这一行用于搜索包含"WINDOWS"字样的NTFS分区,如果不通可以用上面这行set root代替 search --no-floppy --set --label "WINDOWS" chainloader +1 }set root的说明:hd0通常代表第一块物理硬盘。msdos1代表第一块硬盘上的第一个主分区(MBR分区表)。- 如果你的硬盘是 GPT 分区表,可能需要使用
gpt�

