Windows/Ubuntu双系统安装后添加Windows UEFI启动项
别担心,我完全懂你每次进BIOS选系统的麻烦!作为刚接触Linux的新手,咱们用最直白的步骤来搞定把Windows启动项加到GRUB菜单这件事:
第一步:找到Windows的EFI分区
首先打开Ubuntu的终端(按下键盘快捷键 Ctrl+Alt+T 就能快速打开),输入下面的命令:
lsblk -f
这个命令会列出你所有的磁盘和分区信息,你要找的是Windows的EFI分区——它的特征是:
- 文件系统类型是
vfat(也就是FAT32) - 大小通常在100MB到500MB之间
- 分区名称里可能带有
EFI或者ESP字样
举个例子,你可能会看到类似 /dev/sda1 的条目符合上面的特征,记下来这个分区路径(比如 /dev/sda1)。
如果用上面的命令不太好区分,也可以试试这个更详细的命令:
sudo fdisk -l
找到标注着 Type: EFI System 的分区,那就是咱们要的目标分区。
第二步:挂载Windows的EFI分区
接下来把这个EFI分区挂载到Ubuntu里,这样GRUB才能检测到它。先创建一个临时的挂载目录:
sudo mkdir /mnt/windows-efi
然后把刚才找到的分区挂载到这个目录里(记得把下面的 /dev/sda1 换成你自己的分区路径):
sudo mount /dev/sda1 /mnt/windows-efi
第三步:让GRUB扫描并添加Windows启动项
现在只需要让GRUB更新它的配置文件,自动扫描并添加Windows的启动项。在终端里输入:
sudo update-grub
执行完这个命令后,你会看到终端里输出类似 Found Windows Boot Manager on /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi 的提示,这就说明GRUB已经成功找到Windows的启动项了!
第四步:重启验证
最后重启你的电脑,这次你会看到GRUB菜单里多了Windows的选项,直接用方向键选择就能启动Windows啦,再也不用进BIOS选系统了!
万一遇到GRUB没检测到的情况?
如果上面的步骤做完后还是没看到Windows选项,可能是你的Windows EFI分区挂载有问题,或者GRUB需要更明确的引导。你可以试试手动添加启动项:
- 先确认Windows的EFI路径,比如刚才挂载的
/mnt/windows-efi/EFI/Microsoft/Boot/bootmgfw.efi - 打开GRUB的自定义配置文件:
sudo nano /etc/grub.d/40_custom
- 在文件末尾添加下面的内容(记得把
hd0,gpt1换成你的Windows EFI分区对应的标识,比如/dev/sda1对应hd0,gpt1,/dev/sdb1对应hd1,gpt1):
menuentry "Windows 10" { insmod part_gpt insmod fat set root='hd0,gpt1' chainloader /EFI/Microsoft/Boot/bootmgfw.efi }
- 按下
Ctrl+O保存文件,再按Ctrl+X退出编辑器 - 再次执行
sudo update-grub,然后重启试试
备注:内容来源于stack exchange,提问作者MrBlueGuy




