無法在 Arch Linux 中安裝 grub
背景故事:我備份了 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/sda1
了mkfs.fat -F32 /dev/sda1
在安裝過程中,將 root (
/
) 掛載到後/mnt
,您需要mkdir -p /mnt/boot/efi
並繼續安裝過程:arch-chroot /mnt
、語言環境等。安裝
efibootmgr
,grub
(也許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。