
Я установил Arch Linux в первый раз, я попытался настроить процесс загрузки UEFI, но, должно быть, где-то что-то не получилось, при загрузке я вижу меню загрузки с опцией, Arch Linux
но когда я ее выбираю, я получаю сообщение, /vmlinuz-linux:Not Found
т. е. не может найти ядро для загрузки. Я следовал инструкциям наhttps://wiki.archlinux.org/index.php/Руководство_по_установкено, должно быть, где-то накосячил.
Как я могу это исправить?
Схема раздела:
/dev/sda1 EFI System (512M)
/dev/sda2 Linux fs (244M)
/dev/sda3 Linux fs (1M)
/dev/sda4 Linux fs (465G)
/etc/fstab
:
#/dev/sda4
UUID=41d8483f-0d29-4234-bf1e-3c55346b5667 / ext4 rw,realtime,data=unordered 0 1
esp
был установлен в/boot/
правка 1
О, да, я могу в любое время загрузиться с моего USB-накопителя для устранения неполадок...,
правка2
Понятно, мой /boot/loder/entries/arch.conf
выглядит так:
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID=41d8483f-0d29-4234-bf1e-3c55346b5667 rw
но у меня вообще нет файлов, /
только каталоги. Может в этом проблема?
решение1
Загрузитесь с загрузочного USB-накопителя Arch-linux, смонтируйте все разделы chroot
в систему.
Как и было отмеченоджейсонвриан:
Вам необходимо установить ESP на
/boot
Сначала создайте efi
папку:
mkdir /boot/efi
смонтировать esp
раздел
mount /dev/sda1 /boot/efi
Проверьте свой /etc/fstab
, esp
необходимо добавить точку монтирования fstab
.
Создать новый подкаталог/boot/efi/EFI/arch/
mkdir -p /boot/efi/EFI/arch/
Переместить /boot/vmlinuz-linux
и :initramfs-linux.img
initramfs-linux-fallback.img
cp /boot/vmlinuz-linux /boot/efi/EFI/arch/vmlinuz-linux.efi
cp /boot/initramfs-linux.img /boot/initramfs-linux-fallback.img /boot/efi/EFI/arch
Запустите mkinitcpio -p linux
и обновите GRUB:
grub-mkconfig -o /boot/grub/grub.cfg
`
решение2
Ответ GAD3R может быть применим к grub, но не к systemd-boot, который вы используете. Проблема, похоже, в том, что ваш UUID — 41d8... но ваши параметры указывают PARTUUID, что будет другим ID.
Простое исправление — изменить в файле arch.conf параметры на root=UUID=41d... и т. д.
Метод прост и хорошо работает.
НЕТ проблем с файлами или каталогами. Указанные файлы linux и initrd вообще не должны находиться в вашем разделе "/", т. е. 41d... . Они должны находиться в разделе efi на верхнем уровне, а не в каталоге (с вашей версией arch.conf). Это сбивает с толку, потому что инструкция eg "linux" предписывает их искать в "/", но это относится к верхнему уровню раздела efi, а не к разделу os. Если ваш раздел efi смонтирован в пустой каталог /boot в os, вы должны увидеть их (при корневом доступе в разделе 41d...) как в каталоге /boot.
В качестве альтернативы, если у вас могут быть разные ядра для разных версий Arch, найдите версию ядра с помощью uname -r, затем, если это 4.19.66-1-lts, выполните mkdir /boot/4.19.66-1-lts, затем переместите эти два файла из /boot в /boot/4.19.66-1-lts и измените свой конкретный arch.conf, например, на linux /4.19.66-1-lts/vmlinuz-linux.
Я проделал это со своим, но пока не установил другие ядра.