应先确认uefi模式并挂载efi分区,再启用os-prober、执行update-grub扫描windows boot manager,最后重装grub-efi并验证bootmgfw.efi存在;若文件缺失需用windows安装盘修复。

统信UOS安装后无法进入Windows系统,GRUB菜单中虽显示“Windows Boot Manager”但选择后黑屏、卡在星空界面或直接跳回GRUB,说明UEFI引导链未正确指向Windows的bootmgfw.efi文件,需调用UOS内置UEFI引导修复工具精准重建启动项。
确认当前为UEFI模式并定位EFI分区
打开终端,执行:
ls /sys/firmware/efi
若返回“目录不存在”,说明整机实际以Legacy BIOS启动,双系统引导已不可修复,必须重启进BIOS关闭CSM并设为UEFI Only模式后重试。
执行:
sudo fdisk -l | grep "EFI System"
记录输出中的设备名(如/dev/nvme0n1p1),该分区即Windows与UOS共用的ESP(EFI系统分区),【后续所有挂载和写入操作必须严格使用此设备名,挂错将导致Windows引导彻底丢失】。
执行:
mount | grep -i efi
若无任何输出,或挂载点是/boot而非/boot/efi,说明UOS未正确挂载ESP,GRUB无法读取Microsoft目录,必须手动挂载才能触发修复。
挂载EFI分区并启用os-prober探测
方法一:终端命令一步到位
sudo mkdir -p /mnt/efi && sudo mount /dev/nvme0n1p1 /mnt/efi(请将/dev/nvme0n1p1替换为上一步查出的实际设备名)
方法二:若挂载失败,检查分区是否被Windows占用
先在Windows中彻底禁用“快速启动”:控制面板→电源选项→选择电源按钮的功能→更改当前不可用的设置→取消勾选“启用快速启动”,再关机;否则Linux下该分区将被标记为只读,mount会报错“wrong fs type”。
启用Windows探测功能:
echo "GRUB_DISABLE_OS_PROBER=false" | sudo tee -a /etc/default/grub
这一步不可跳过——UOS 2023.1+版本默认禁用os-prober,不加此行,update-grub将完全忽略/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi。
执行UEFI引导修复并验证结果
第一步:刷新GRUB配置,强制扫描Windows
sudo update-grub
紧盯输出末尾,必须看到类似“Found Windows Boot Manager on /dev/nvme0n1p1”的提示,且路径与之前fdisk查出的设备名完全一致。没有这行,说明修复未生效。
第二步:若上步未识别,立即重装GRUB-EFI到ESP
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=UOS --recheck
该命令将重新向ESP写入grubx64.efi,并确保其能正确定位Microsoft目录下的bootmgfw.efi。
第三步:手动验证Windows引导文件是否存在
ls /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
若返回“No such file or directory”,说明Windows EFI文件已损坏或被误删,需用Windows安装U盘执行bootrec /rebuildbcd修复,本流程至此终止。











