在计算机启动过程中,如果系统默认启动项设置不当或引导文件损坏,可能需要通过GRUB命令行手动启动Windows 10系统,GRUB(Grand Unified Bootloader)是Linux系统中常用的引导程序,它支持多系统启动,但在某些情况下,如双系统安装顺序问题或引导配置文件错误,会导致GRUB无法自动识别Windows 10,掌握GRUB命令行启动Windows 10的方法尤为重要,本文将详细介绍操作步骤、注意事项及相关原理。

GRUB命令行启动Windows 10的前提条件
在尝试通过GRUB命令行启动Windows 10之前,需要确保以下条件成立:计算机中必须已安装Windows 10系统,且其引导文件(位于系统分区,如bootmgr或bootmgfw.efi)未损坏;GRUB已正确安装,且能够进入命令行界面(通常在GRUB启动菜单按c键进入);需明确Windows 10的系统分区类型(MBR或GPT)及分区编号,因为不同分区类型对应的GRUB启动命令存在差异。
进入GRUB命令行界面
开机后,当看到GRUB启动菜单时,迅速按下c键即可进入GRUB命令行模式,命令行界面通常会显示grub>提示符,此时可以输入GRUB命令进行手动引导,如果GRUB菜单未显示,可能是由于隐藏菜单或超时时间设置过短,可在开机时按住Shift键或反复按Esc键强制显示菜单。
查找Windows 10的系统分区
进入GRUB命令行后,首先需要定位Windows 10的系统分区,Windows 10的引导文件通常位于系统分区(C盘)的根目录或EFI\Microsoft\Boot文件夹(GPT分区)或bootmgr文件(MBR分区),可以使用GRUB的ls命令列出所有磁盘及分区,输入ls (hd0)会显示第一个硬盘的所有分区,(hd0,gpt1)表示第一个硬盘的第一个GPT分区,(hd0,msdos1)则表示第一个硬盘的第一个MBR分区。
通过ls命令逐个查看分区内容,找到包含bootmgr或bootmgfw.efi文件的分区,输入ls (hd0,gpt1)/,如果显示文件列表中包含bootmgr,则可确定该分区为Windows 10的系统分区,以下是常见分区类型的查找示例:

| 分区类型 | 常见分区编号 | 引导文件位置 | 查看命令示例 |
|---|---|---|---|
| GPT | (hd0,gpt1) | /EFI/Microsoft/Boot/bootmgfw.efi | ls (hd0,gpt1)/EFI/Microsoft/Boot/ |
| MBR | (hd0,msdos1) | /bootmgr | ls (hd0,msdos1)/ |
配置GRUB启动Windows 10
找到Windows 10的系统分区后,需要使用GRUB的chainloader或ntldr命令加载引导文件,根据分区类型和引导文件的不同,具体命令如下:
-
GPT分区(UEFI启动):
如果Windows 10是通过UEFI方式安装的,通常使用chainloader命令加载EFI\Microsoft\Boot\bootmgfw.efi文件,操作步骤为:set root=(hd0,gpt1) # 替换为实际Windows分区 chainloader /EFI/Microsoft/Boot/bootmgfw.efi boot
-
MBR分区(Legacy BIOS启动):
如果是通过Legacy BIOS方式安装的,则需要加载ntldr或bootmgr文件,操作步骤为:set root=(hd0,msdos1) # 替换为实际Windows分区 chainloader /bootmgr boot
在上述命令中,set root用于指定Windows 10的系统分区,chainloader用于加载引导文件,boot则执行启动命令,如果分区编号错误,可能导致启动失败,因此需确保root参数正确。

常见问题及解决方法
在操作过程中,可能会遇到以下问题:
-
问题1:输入
ls命令后看不到分区。
解决方法:检查磁盘接口是否正常(如SATA或NVMe),对于NVMe硬盘,分区编号可能为(hd0,nsp1)(nsp表示NVMe命名空间),需尝试不同的编号格式。 -
问题2:启动时提示“error: file not found”。
解决方法:重新确认引导文件路径,确保chainloader命令中的文件路径与实际分区中的文件一致,例如检查是否为/bootmgr或/EFI/Microsoft/Boot/bootmgfw.efi。
永久修复GRUB引导配置
通过命令行临时启动Windows 10后,建议修复GRUB的配置文件,避免每次手动操作,在Linux系统中,可使用os-prober工具自动检测Windows系统并更新GRUB配置,执行以下命令:
sudo os-prober sudo update-grub
该命令会扫描并列出所有可启动的系统,并自动生成/boot/grub/grub.cfg配置文件,确保下次开机时GRUB能自动识别Windows 10。
相关问答FAQs
问题1:为什么GRUB无法自动识别Windows 10?
解答:GRUB无法识别Windows 10通常由以下原因导致:1)Windows 10安装后覆盖了原有的引导记录;2)双系统安装顺序问题(如先安装Linux后安装Windows);3)GRUB配置文件未正确更新;4)系统分区类型(MBR/GPT)与GRUB配置不匹配,可通过os-prober工具重新扫描并更新GRUB配置解决。
问题2:如何通过GRUB命令行启动Windows 10的恢复模式?
解答:启动Windows 10恢复模式需定位恢复环境分区(通常为隐藏分区,如Recovery分区),首先使用ls命令找到包含Windows RE文件夹或winre.wim文件的分区,然后执行以下命令:
set root=(hd0,gpt2) # 替换为恢复分区编号 chainloader /EFI/Microsoft/Boot/recoveryenv.efi boot
注意:恢复分区的编号和文件路径可能因系统版本而异,需通过ls命令仔细确认。
