Arch-Linux

無法在 Arch Linux 中安裝 grub

  • March 20, 2018

背景故事:我備份了 Windows 10 並在載入了用 Rufus 創建的 Arch linux iso 的引導驅動器上重新啟動了我的筆記型電腦。我進入cfdisk並刪除了除“EFI System”和“Lenovo boot partition”分區之外的所有分區。當我嘗試使用 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)。我嘗試為 efi 目錄參數提供 /boot,但如果我嘗試這樣做,它只會輸出:

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

我最近遇到了這個問題,因為我以前從來沒有使用 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)。你應該準備好了!

請注意,您實際上可以使用 only/boot而不一定/boot/efi。與往常一樣,請查看Wiki

引用自:https://unix.stackexchange.com/questions/432000