麒麟与Windows双系统引导失效时,需先确认UEFI模式及EFI分区状态,再重装GRUB、调整BIOS启动顺序、使用修复模式或手动添加Windows引导项。
如果您已完成麒麟操作系统与Windows系统的分别安装,但开机后无法看到双系统引导菜单,或默认直接进入某一系统而无法选择另一系统,则可能是GRUB引导未正确安装或被Windows覆盖。以下是恢复并设置双系统引导的实战操作步骤:
一、确认当前引导模式与EFI分区状态
需先判断系统是否运行在UEFI模式下,并验证EFI系统分区(ESP)是否存在且可访问,这是GRUB正确安装的前提。若ESP分区缺失、损坏或大小不足(小于256MB),将导致引导项无法写入。
1、启动进入麒麟OS(若无法进入,请使用麒麟安装U盘进入Live试用环境)。
2、打开终端,执行命令:sudo fdisk -l | grep -A1 "EFI System",查看是否存在类型为“EFI System”的分区。
3、执行命令:ls /boot/efi/,确认该目录下存在EFI目录结构(如Microsoft/、BOOT/等子目录)。
4、若输出为空或提示“没有那个文件或目录”,说明EFI分区未挂载或不存在,需先通过GParted或gdisk修复分区表并挂载ESP。
二、重新安装GRUB至EFI分区
在麒麟OS中手动重装GRUB引导程序,确保其控制启动流程,并能识别Windows Boot Manager。此操作将重建/boot/efi/EFI/kylinsp1/grubx64.efi等关键文件,并注册到固件启动项中。
1、在终端中执行:sudo mkdir -p /boot/efi/EFI/kylinsp1,创建麒麟专用引导目录。
2、执行:sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=kylinsp1 --recheck,将GRUB写入EFI分区。
3、执行:sudo update-grub,扫描所有操作系统并生成grub.cfg,此时应显示“Found Windows Boot Manager on /dev/nvme0n1p1”等识别信息。
4、重启系统,观察开机时是否出现GRUB菜单;若仍无菜单,需检查BIOS中“Boot Mode”是否为UEFI,且“Secure Boot”已关闭。
三、通过BIOS调整启动顺序强制调用GRUB
当Windows安装后覆盖了默认启动项,UEFI固件可能将“Windows Boot Manager”设为第一启动项,导致跳过GRUB。此时需手动在BIOS中修改启动顺序,使固件优先加载麒麟引导文件。
1、重启电脑,在开机自检画面按Del/F2/F12(依主板而定)进入UEFI BIOS设置界面。
2、进入“Boot”或“Startup”选项卡,查找“Boot Option #1”或“Primary Boot Sequence”项。
3、将启动项由“Windows Boot Manager”更改为“kylinsp1”或“ubuntu”或“Kylin OS”(具体名称取决于grub-install时--bootloader-id参数值)。
4、保存设置并退出(通常按F10),系统将从麒麟引导加载器启动,并显示含Windows选项的GRUB菜单。
四、使用麒麟高级修复模式更新引导
若系统无法正常登录桌面,可借助安装U盘启动进入“高级选项→Recovery Mode”,在受限环境中执行引导修复,避免依赖图形界面和完整用户会话。
1、使用麒麟V10 SP1及以上版本安装U盘启动,选择“Try Kylin without installing”进入试用环境。
2、连接网络后,点击桌面上“安装Kylin”图标旁的“系统工具”→“终端”,或按Ctrl+Alt+T打开终端。
CEIFI
CEIFI提供国内外最新最全面的AI工具、资源和资讯
3、执行:sudo su - 切换为root用户。
4、执行:mount /dev/nvme0n1pX /mnt(X为麒麟根分区编号,可用lsblk确认)。
5、执行:mount /dev/nvme0n1pY /mnt/boot/efi(Y为EFI系统分区编号)。
6、执行:chroot /mnt grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=kylinsp1,完成chroot环境下的引导重装。
7、执行:chroot /mnt update-grub,更新配置文件。
五、手动添加Windows引导项至GRUB配置
当update-grub未能自动识别Windows启动文件时,可手动在/etc/grub.d/40_custom中追加Windows条目,确保其出现在GRUB菜单中,无需依赖Windows Boot Manager的独立加载路径。
1、在终端中执行:sudo nano /etc/grub.d/40_custom,打开自定义引导脚本。
2、在文件末尾插入以下内容(请将/dev/sda1替换为实际Windows EFI分区设备名):
menuentry "Windows 10/11" {
insmod part_gpt
insmod fat
set root='(hd0,gpt1)'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
3、保存文件并退出编辑器(nano中按Ctrl+O回车,Ctrl+X退出)。
4、执行:sudo chmod +x /etc/grub.d/40_custom,赋予执行权限。
5、执行:sudo update-grub,使新增条目生效。