如何将 grub 安装在与根分区不同的驱动器上?

如何将 grub 安装在与根分区不同的驱动器上?

目前,我在 NVMe 驱动器上有一个来自之前进行的 arch 安装的根分区,但由于我的主板不支持从 NVMe 启动,所以我必须将启动分区安装在单独的驱动器上。我不确定如何做到这一点。我正在运行 UEFI。我见过其他人有类似的设置,但我不确定在我的情况下使用哪些具体命令。

我的设置来自lsblk

sda           8:0    0  931.5G  0 disk 
└─sda1        8:1    0      1G  0 part 

nvme0n1     259:0    0  465.8G  0 disk 
└─nvme0n1p1 259:1    0  465.8G  0 part 

我有我的 root 分区,nvme0n1并希望将 grub 安装在 上sda1。我正在运行 Arch Linux。

编辑:

我开始在wiki的帮助下安装grub,我希望它安装在分区上sda1。所以我继续设置文件系统mkfs.fat -F 32 /dev/sda1

然后我将已经存在的根分区安装nvme0n1p1/mntwith mount /dev/nvme0n1p1 /mnt,然后将我的启动分区安装到mount --mkdir /dev/sda1 /mnt/boot。然后我用 chroot 进入驱动器chroot /mnt

chroot 后,我​​尝试安装 grub,grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB 但是当我这样做时,出现此错误

Installing for x86_64-efi platform.
grub-install: error: cannot find a device for /boot (is /dev mounted?).

编辑#2:

好吧,当我的根分区被安装时,我不知何故设法意外地删除了所有分区,谢天谢地,那里没有什么重要的东西,所以我决定从头开始重新安装所有内容。我在 上创建了一个根分区,并在nvme0n1p1上创建了一个 EFI 分区,然后继续正常安装。当我到达安装 grub 的位置时,我安装了根驱动器,然后将其安装到其中,然后运行命令并安装,没有报告任何错误。当我重新启动系统时,我进入了 grub 救援模式。sdafdisk/mntarch-chroot/dev/sda1/boot/EFIgrub-install

error: no such device: 130d6893-1d77-4068-bd71-bd95b7aee837.
error: unknown filesystem
Entering rescue mode...
grub rescue>

相关内容