Fedora 23安装后若开机默认进入Windows,多为GRUB引导配置异常,需进入Fedora系统,打开终端,以管理员权限执行“grub2-install /dev/sda”(sda为系统盘符)重装GRUB,再运行“grub2-mkconfig -o /boot/grub2/grub.cfg”生成配置文件,完成后重启,通过开机时按住Shift或Esc键调出GRUB菜单,选择“Fedora”进入系统,并将默认启动项调整为Fedora即可修复引导问题。
问题描述
安装Fedora 23后,重启电脑发现开机直接进入Windows系统,没有出现GRUB引导菜单,无法选择进入Fedora,这种情况通常是由于GRUB引导程序未正确安装、配置或引导顺序设置错误导致的,本文将详细介绍如何排查并解决这一问题,让GRUB引导菜单正常显示,实现双系统启动选择。
问题原因分析
开机直接进入Windows,核心问题在于GRUB(Grand Unified Bootloader)未成功接管系统引导,具体可能原因包括:
- 引导设备错误:安装Fedora时,GRUB未正确安装到硬盘的MBR(Legacy BIOS模式)或EFI分区(UEFI模式);
- 引导顺序设置错误:BIOS/UEFI中的启动项优先级指向Windows,而非GRUB;
- GRUB配置文件损坏:
/boot/grub2/grub.cfg文件未生成或内容异常; - EFI模式下的EFI分区问题:UEFI模式下,GRUB的EFI文件未正确写入EFI系统分区(ESP)。
解决方法
根据电脑的启动模式(Legacy BIOS或UEFI),需采用不同的修复步骤,首先需要确认当前启动模式:

确认启动模式(Legacy BIOS/UEFI)
- UEFI模式:开机进入BIOS/UEFI设置(通常按Del、F2、F10等键),在“Boot”或“启动”选项中查看“Boot Mode”是否为“UEFI”。
- Legacy BIOS模式:若显示“Legacy”或“CSM(兼容支持模块)”,则为Legacy模式。
通用准备:进入Fedora系统或Live环境
场景1:能正常进入Fedora系统
直接打开终端,执行后续命令。
场景2:无法进入Fedora系统(需用Live USB修复)
- 用Fedora Live USB启动电脑,选择“Live System”(不安装);
- 打开终端,挂载Fedora系统分区(假设Fedora安装在
/dev/sda2,按实际情况调整):sudo mount /dev/sda2 /mnt # 挂载根分区 sudo mount /dev/sda1 /mnt/boot/efi # 若是UEFI模式,挂载EFI分区(sda1为示例)
- 切换到系统环境:
sudo chroot /mnt # 进入系统环境,后续命令在此环境中执行
针对Legacy BIOS模式的修复步骤
检查GRUB是否安装到MBR
执行以下命令,查看GRUB是否安装在硬盘MBR(假设硬盘为/dev/sda):
sudo grub-install --target=i386-pc /dev/sda
若提示“Installation finished. No error reported.”,表示GRUB已成功安装到MBR。
重新生成GRUB配置文件
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
此命令会扫描系统中的操作系统,生成引导菜单配置文件。
检查BIOS引导顺序
开机进入BIOS设置,在“Boot”选项中,将硬盘(如“HDD:SanDisk SSD”或“Hard Drive”)的启动优先级调至最高,确保BIOS优先从硬盘引导GRUB。
针对UEFI模式的修复步骤
检查EFI分区及GRUB EFI文件
UEFI模式下,GRUB的EFI文件应位于/boot/efi/EFI/fedora/目录下(文件名通常为grubx64.efi),检查是否存在:
ls -l /boot/efi/EFI/fedora/ # 查看是否有grubx64.efi
若文件不存在或损坏,需重新安装GRUB到EFI分区:
sudo grub2-install --target=x86_64-efi --efi-directory=/boot/efi --boot-directory=/boot --removable
参数说明:--efi-directory指定EFI分区挂载点,--removable表示安装到可移动设备的EFI标准路径(适用于UEFI启动)。
重新生成GRUB配置文件
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
创建UEFI引导项
使用efibootmgr工具手动创建GRUB引导项(若未自动创建):
sudo efibootmgr --create --disk /dev/sda --part 1 --label "Fedora" --loader "\\EFI\\fedora\\grubx64.efi"
参数说明:--disk为硬盘设备,--part为EFI分区编号(如/dev/sda1),--label为引导

