在Fedora 30系统中添加Windows 7引导项,需通过GRUB配置实现,首先使用fdisk -l或lsblk命令查看Windows分区格式(通常为NTFS),确认分区号及启动文件路径(如/dev/sda2),随后以管理员权限编辑/etc/grub.d/40_custom文件,添加Windows引导条目,示例内容为menuentry "Windows 7" { insmod ntfs set root='(hd0,msdos2)' chainloader +1 },保存后执行grub2-mkconfig -o /boot/grub2/grub.cfg更新配置,重启系统即可在GRUB菜单中看到Windows 7选项,需注意确保Windows分区未被挂载,且引导文件路径正确。
在双系统使用中,若先安装 Fedora 30 后安装 Windows 7,常会出现 Fedora 引导正常,但 Windows 7 无法引导的问题,这是因为 Windows 安装程序会覆盖原有的引导记录,导致 GRUB2(Fedora 的引导管理器)无法识别 Windows 分区,本文将详细介绍如何在 Fedora 30 中手动添加 Windows 7 引导项,恢复双系统引导功能。
准备工作
-
确认系统模式
Fedora 30 默认采用 UEFI 引导模式(可通过sudo efibootmgr -v查看,若有 "UEFI Misc Device" 或 "Windows Boot Manager" 等条目即为 UEFI 模式),若为 Legacy BIOS 模式,操作步骤略有不同,本文以 UEFI 模式为例。 -
获取必要工具
确保已安装grub2-tools包(包含引导配置工具):
sudo dnf install grub2-tools
-
备份重要数据
操作引导分区存在风险,建议提前备份重要文件,避免数据丢失。
检查当前引导状态
-
查看 GRUB2 引导项
打开终端,查看当前 GRUB2 配置的引导项:cat /boot/grub2/grub.cfg | grep menuentry
若输出中无 "Windows 7" 相关条目,说明引导项缺失。
-
确认 Windows 分区信息
使用lsblk或fdisk -l查看磁盘分区结构,找到 Windows 系统分区(通常为 NTFS 格式,标注为 "Microsoft Basic Data")和 EFI 系统分区(ESP,FAT32 格式,标注为 "EFI System"):lsblk -f
记录 Windows 分区设备名(如
/dev/sda2或/dev/nvme0n1p3)和 ESP 分区设备名(如/dev/sda1)。
查找 Windows 引导文件
UEFI 模式下,Windows 7 的引导文件位于 ESP 分区的 EFI/Microsoft/Boot/ 目录下,文件名为 bootmgfw.efi,可通过以下命令确认该文件是否存在:
sudo find /boot -name bootmgfw.efi 2>/dev/null
若输出类似 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi,说明引导文件存在,路径正确。
添加 Windows 7 引导项
方法 1:编辑自定义引导文件(推荐)
GRUB2 支持通过自定义配置文件添加引导项,避免覆盖自动生成的配置。
- 创建自定义配置文件
使用文本编辑器(如vim或nano)打开/etc/grub.d/40_custom文件:sudo vim /etc/grub.d/40_custom
在文件末尾添加以下内容(根据实际分区路径调整):
menuentry "Windows 7" { insmod ntfs # 加载 NTFS 分区支持(若 Windows 分区为 FAT32,可改为 insmod fat) insmod chain # 加载链式加载,用于引导其他系统 search --set=root --file /EFI/Microsoft/Boot/bootmgfw.efi # 查找引导文件所在分区 chainloader /EFI/Microsoft/Boot/bootmgfw.efi # 加载 Windows 引导文件 }说明:
search --set=root --file /EFI/Microsoft/Boot/bootmgfw.efi:通过引导文件路径定位根分区,无需手动指定分区号,更通用。- 若 Windows 分区为 Legacy 模式(引导文件为
bootmgr

