在额外SSD安装Fedora 38后恢复Windows 10启动选项求助
看起来你遇到的问题挺典型的——装完Fedora 38到额外SSD后,Windows 10的启动项直接从BIOS里消失了,连os-prober都扫不到它。大概率是Fedora接管了EFI引导,而Windows的引导文件没被GRUB正确识别到,我来一步步帮你搞定:
第一步:确认Windows引导文件的位置
从你贴的fdisk -l和lsblk输出看,Windows所在的nvme0n1磁盘里没有单独的EFI系统分区,你提到EFI文件夹在/dev/nvme0n1p2这个NTFS分区里,那我们先挂载这个分区确认一下:
- 创建临时挂载点:
sudo mkdir /mnt/windows-system
- 挂载Windows系统分区:
sudo mount /dev/nvme0n1p2 /mnt/windows-system
- 查看里面的EFI目录:
ls /mnt/windows-system/EFI
如果能看到Microsoft文件夹,那说明Windows的引导文件确实在这里,接下来就好办了。
第二步:让GRUB自动识别Windows
先确保os-prober能正常工作,然后更新GRUB配置:
- 安装必要工具(如果没装的话):
sudo dnf install os-prober grub2-efi-modules
- 挂载Fedora自己的EFI分区(必须挂载才能更新GRUB):
sudo mount /dev/nvme1n1p1 /boot/efi
- 编辑GRUB配置文件,开启系统探测:
sudo nano /etc/default/grub
找到GRUB_DISABLE_OS_PROBER这一行,把它改成GRUB_DISABLE_OS_PROBER=false;如果没有这一行,就直接添加进去。
4. 重新生成GRUB配置:
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
这时候os-prober会扫描所有分区,应该能识别到Windows的引导文件,之后重启就能在GRUB菜单里看到Windows选项了。
第三步:如果GRUB还是扫不到,修复Windows的EFI引导
要是上面的方法没用,就得手动修复Windows的EFI启动项,让它出现在BIOS里:
- 准备一个Windows 10安装U盘,从U盘启动进入修复模式。
- 依次选择「修复你的电脑」→「疑难解答」→「命令提示符」。
- 在命令提示符里执行以下命令:
diskpart list disk # 找到你的Windows磁盘(看容量对应nvme0n1) select disk X # X是Windows磁盘的编号,比如Disk 1 list partition select partition 2 # 对应nvme0n1p2,Windows系统分区 assign letter=W: exit
- 修复EFI引导:
bcdboot W:\Windows /s W: /f UEFI
这个命令会把Windows的EFI引导文件写到系统分区里,重启后BIOS就能识别到Windows的启动项了。之后你可以回到Fedora再重新更新一次GRUB,让它显示Windows选项。
补充:关于Windows的UUID
你说找不到Windows的UUID,其实从lsblk输出里能看到nvme0n1p2的UUID是FCF8DFD1F8DF87F2,如果之后需要手动添加GRUB项的话,这个就是你要用到的UUID。
备注:内容来源于stack exchange,提问作者WestFarmer




