Arch Linux 无法安装 grub

Arch Linux 无法安装 grub

背景故事:我备份了 Windows 10,并在加载了由 Rufus 创建的 Arch linux iso 的启动驱动器上重新启动了笔记本电脑。我进入cfdisk并删除了除“EFI系统”和“Lenovo启动分区”分区之外的所有分区。当我尝试使用 pacstrap 安装基础包时,它告诉我分区块大小太小,因此我向上扩展了 EFI 系统分区(有 1 GB 的额外空间,我认为这可能会有所帮助)。它不起作用,过了一会儿我尝试重新安装我的 Linux 文件系统(/dev/sda4)并且它起作用了。我跳过了我采取的一系列其他步骤,但我认为这些步骤是最相关的。

每当我尝试运行命令来安装 grub 时:

grub-install --target=x86_64-efi --efi-directory=/dev/sda1 --bootloader=arch_grub

它只是输出:

Installing for x86_64-efi platform.
grub-install: error: cannot read `/dev': Is a directory.

即使我给它的路径是 efi 分区 (/dev/sda1)。我尝试将 /boot 作为 efi 目录参数,但如果我尝试这样做,它只会输出:

Installing for x86_64-efi platform.
grub-install: error: /boot doesn't look like an EFI partition.

我对这些“自己动手”类型的发行版相当陌生,我很感激我能得到的所有反馈,谢谢!

编辑: fdisk -l /dev/sda 的输出:

Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type gpt
Disk identifier: 6393AD85-37EA-4C44-888C-C5908FC9AE82

Device        Start        End   Sectors  Size Type
/dev/sda1      2048    2582527   2580480  1.2G EFI System
/dev/sda2   2582528    4630527   2048000 1000M Lenovo boot partition
/dev/sda3   4630528   25602047  20971520   10G Linux swap
/dev/sda4  25602048 2550069646 224467599  107G Linux filesystem

答案1

我最近遇到了这个问题,因为我以前从未有过带有 UEFI 固件的系统/笔记本电脑。我假设您从头开始并使用最新版本的 Arch Linux(我的是4.15.9-1-ARCH)。

我们假设:

  • 您的 HDD/SSD/NVMe 驱动器“命名”为/dev/sda
  • 您创建了一个分区/dev/sda1
  • 你格式化/dev/sda1mkfs.fat -F32 /dev/sda1

在安装过程中,将 root ( /) 挂载到后/mnt,您需要mkdir -p /mnt/boot/efi继续安装过程:arch-chroot /mnt、区域设置等。

安装efibootmgrgrub也许intel-ucode),然后挂载/dev/sda1/boot/efi,执行grub-install --bootloader-id=Arch_Linux --efi-directory=/boot/efi --recheck --target=x86_64-efi...并且不要忘记生成/更新 GRUB 配置(grub-mkconfig -o /boot/grub/grub.cfg)。你应该已经准备好了!

请注意,您实际上可以仅使用/boot而不一定使用/boot/efi。一如既往,看看维基百科

相关内容