我需要安装引导加载程序吗?

我需要安装引导加载程序吗?

我正在尝试在最近发现的 SSD 上构建 Arch Linux,我认为我已经丢失了该 SSD,并且我正在安装驱动器并安装引导加载程序。我是否需要安装GRUB或者systemd-boot我的计算机是否已经有 UEFI 引导加载程序?即我不能启动并选择从那里启动哪个驱动器吗?或者我的 UEFI 需要什么才能启动该驱动器?

答案1

如果您已在该系统上使用 UEFI,则该系统上已有 UEFI 分区。您可以将内核(位于/boot/vmlinz-linuxarch 中)和 initramfs(位于/boot/initramfs-linux.imgarch 中)直接放入 UEFI 分区中。

然后您可以配置 UEFI 加载程序,例如为内核添加\loader\entries\arch.confoptions root=确定它应使用的根文件系统在哪里。

title    Arch Linux
linux    \vmlinuz-linux
initrd   \initramfs-linux.img
options  root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw

然后,您需要添加 UEFI 分区以挂载为/bootinside /etc/fstab。这是 Arch 能够通过 更新内核和 initramfs 所必需的pacman。示例/etc/fstab行:

<UEFI part> /boot vfat defaults 0 0

(免责声明:我从未使用过这种直接挂载到 的方式/etc/fstab,因为 UEFI 总是有一个名EFI为此的目录将导致/boot/efi。我相信在每次内核更新时都需要一些自动化来将内核复制/boot/boot/efi。)


另一种选择可能是在 UEFI 分区中创建一个目录,例如arch,并将内核和 Intramfs 放置在那里。然后相应地更改配置。第一的\loader\entries\arch.conf

title    Arch Linux
linux    \arch\vmlinuz-linux
initrd   \arch\initramfs-linux.img
options  root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw

在这种情况下配置/etc/fstab会变得更加复杂,您需要将 UEFI 分区挂载到其他位置(不是/boot),然后将其绑定到/boot.例如用作/efi中间安装点:

<UEFI part> /efi vfat defaults 0 0
/efi/EFI/arch /boot none defaults,bind 0 0

相关内容