初始安装 Arch Linux 后双启动 Windows 10

初始安装 Arch Linux 后双启动 Windows 10

我最近为个人使用安装了一台台式机,最初安装了 Arch Linux 作为我的主要操作系统(在 NVME 驱动器上),作为一个游戏玩家,我最终得出结论,我也需要安装 Windows。我将 Windows 10 安装在我的硬盘(我的辅助驱动器)上的一个 500GB 分区上。

每当我需要使用 Windows 时,我都厌倦了在 BIOS 中手动切换启动顺序,最近我也尝试让 grub 启动 Windows,这就是我的问题开始的地方。

Grub 仅显示 arch 的启动项,尽管 os-prober 返回了 windows 启动管理器位置。我已禁用快速启动并尝试手动输入 grub,但无论我在运行 install-grub 之前做什么(甚至依次到 /dev/sda 和 /dev/nvme0n1),它仍然只显示 Arch 作为启动选项。

分区表(fdisk -l 输出):

磁盘 /dev/nvme0n1:232.9 GiB,250059350016 字节,488397168 个扇区
单位:扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:1412B5DB-A22B-4957-B915-EC6B912D8833

设备 开始 结束 扇区 大小 类型
/dev/nvme0n1p1 2048 1002048 1000001 488.3M EFI 系统
/dev/nvme0n1p2 1003520 34557948 33554429 16G Linux 交换
/dev/nvme0n1p3 34557952 488397134 453839183 216.4G Linux 文件系统


磁盘 /dev/sda:2.7 TiB,3000592982016 字节,5860533168 个扇区
单位:扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:BF345208-15FD-454F-8252-9963AC133C5C

设备 开始 结束 扇区 大小 类型
/dev/sda1 2048 34815 32768 16M Microsoft 保留
/dev/sda2 34816 524290047 524255232 250G Microsoft 基本数据
/dev/sda3 524290048 5860533134 5336243087 2.5T Linux 文件系统

BIOS 中有一个奇怪的地方,它指出 Windows 启动项位于我的 NVME 驱动器上,我假设 Windows 将其检测为 ESP 并自动将其启动管理器安装到该驱动器上。

编辑:

因此 update-grub 是 Debian 的东西,Arch 使用 grub-mkconfig,我可以成功运行,以下是部分输出:

开始/etc/grub.d/30_os-prober

在 /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi 上找到 Windows 启动管理器 menuentry“Windows 启动管理器(在 /dev/nvme0n1p1 上)”--class windows --class >os $menuentry_id_option“osprober-efi-CAB4-D072”{ insmod part_gpt insmod fat if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root CAB4-D072 else search --no-floppy --fs-uuid --set=root CAB4-D072 fi chainloader /EFI/Microsoft/Boot/bootmgfw.efi }

结束/etc/grub.d/30_os-prober

然而,当我从 BIOS 中的“arch”或“grub”启动选项(均在我的 NVME 驱动器上)启动时,唯一的 grub 条目仍然是 arch。

答案1

sudo update-grub如果您还没有尝试的话,请尝试一下。

我总是忘记这样做...;)

答案2

在 Arch 上使用此命令将 Windows 10 与 Arch 一起添加到 grub 中。

grub-mkconfig -o /boot/grub/grub.cfg "$@"

相关内容