Arch Linux + Windows 双系统启动配置

有2块硬盘分别安装了,Arch Linux和Windows。希望启动时可以选择进入的系统。BIOS顺序是先启动 Arch Linux 的盘,Arch Linux 的 GRUB 里可以选择进入 Windows。

所以要解决 Arch Linux 怎么启动识别另一块Windows盘:

使用os-prober来识别自动发现系统,写入 grub.cfg;GRUB 菜单多一个Windows Boot Manager

步骤:

  1. 安装必要包

    1
    sudo pacman -S os-prober ntfs-3g fuse3   # fuse3 帮 os-prober 读 NTFS/ESP
  2. 挂载 Windows 的 EFI 分区(os-prober 需要看到 Windows 的 bootmgfw.efi) 先用 lsblk -f 或 fdisk -l 找 Windows SSD 的 EFI 分区(通常 100-300MB,FAT32 类型,标签 “EFI system partition” 或无标签)。 示例:假设 Windows EFI 是 /dev/nvme0n1p1:

    1
    2
    sudo mkdir /mnt/efi_win
    sudo mount /dev/nvme0n1p1 /mnt/efi_win

    检查里面是否有 /mnt/efi_win/EFI/Microsoft/Boot/bootmgfw.efi(有的话就对了)。

  3. 启用 os-prober 并生成 GRUB 配置 编辑 /etc/default/grub(用 nano/vi),确保有这行(默认新 Arch 已有,但确认取消注释):

    1
    GRUB_DISABLE_OS_PROBER=false

    保存后运行:

    1
    2
    sudo os-prober   # 先单独跑一次,看输出有没有 Windows
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    • 如果 os-prober 输出类似 /dev/nvme0n1pX:Windows Boot Manager:Windows:chain,就成功了!
    • 重启,开机 GRUB 菜单应该出现 Windows 选项。
  4. 如果 os-prober 还是没检测到(常见于双独立 ESP)

    • 确保 Windows EFI 已挂载,再重跑上面命令。
    • 或者直接手动添加 chainload 条目。
作者

Wei Mo

发布于

2026-06-29

更新于

2026-06-29

许可协议

评论