我正在尝试在最近发现的 SSD 上构建 Arch Linux,我认为我已经丢失了该 SSD,并且我正在安装驱动器并安装引导加载程序。我是否需要安装GRUB
或者systemd-boot
我的计算机是否已经有 UEFI 引导加载程序?即我不能启动并选择从那里启动哪个驱动器吗?或者我的 UEFI 需要什么才能启动该驱动器?
答案1
如果您已在该系统上使用 UEFI,则该系统上已有 UEFI 分区。您可以将内核(位于/boot/vmlinz-linux
arch 中)和 initramfs(位于/boot/initramfs-linux.img
arch 中)直接放入 UEFI 分区中。
然后您可以配置 UEFI 加载程序,例如为内核添加\loader\entries\arch.conf
来options root=
确定它应使用的根文件系统在哪里。
title Arch Linux
linux \vmlinuz-linux
initrd \initramfs-linux.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw
然后,您需要添加 UEFI 分区以挂载为/boot
inside /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