
Ich habe Arch Linux zum ersten Mal installiert und versucht, meinen UEFI-Bootvorgang einzurichten, aber es muss irgendwo fehlgeschlagen sein. Beim Booten sehe ich zwar das Bootmenü mit der Arch Linux
Option, aber wenn ich es auswähle, erhalte ich die Meldung /vmlinuz-linux:Not Found
, dass der zu bootende Kernel nicht gefunden werden kann. Ich habe die Anweisungen auf befolgt.https://wiki.archlinux.org/index.php/Installation_guideaber irgendwo muss ein Fehler aufgetreten sein.
Wie kann ich das beheben?
Partitionslayout:
/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
wurde eingerichtet in/boot/
bearbeiten 1
Oh ja, ich kann zur Fehlerbehebung jederzeit von meinem USB-Stick booten ...,
Bearbeiten2
Ich verstehe, meins /boot/loder/entries/arch.conf
sieht so aus:
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID=41d8483f-0d29-4234-bf1e-3c55346b5667 rw
aber in meinem sind /
überhaupt keine Dateien, nur die Verzeichnisse. Könnte das das Problem sein?
Antwort1
Booten Sie Arch-Linux von Ihrem bootfähigen USB-Stick, mounten Sie alle Ihre Partitionen und chroot
in das System.
Wie erwähntAbonnieren:
Sie müssen Ihr ESP montieren an
/boot
Erstellen Sie zuerst den efi
Ordner:
mkdir /boot/efi
Mounten Sie die esp
Partition
mount /dev/sda1 /boot/efi
Überprüfen Sie Ihre /etc/fstab
, der esp
Einhängepunkt muss hinzugefügt werden fstab
.
Neues Unterverzeichnis erstellen/boot/efi/EFI/arch/
mkdir -p /boot/efi/EFI/arch/
Verschieben Sie /boot/vmlinuz-linux
, initramfs-linux.img
und 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
Führen Sie mkinitcpio -p linux
GRUB aus und aktualisieren Sie es:
grub-mkconfig -o /boot/grub/grub.cfg
`
Antwort2
Die GAD3R-Antwort ist möglicherweise auf Grub anwendbar, aber nicht auf das von Ihnen verwendete Systemd-Boot. Das Problem scheint einfach zu sein, dass Ihre UUID 41d8 ist ... aber Ihre Optionen geben PARTUUID an, was eine andere ID wäre.
Die einfache Korrektur besteht darin, in Ihrer arch.conf die Optionen in root=UUID=41d... usw. zu ändern.
Die Methode ist einfach und funktioniert gut.
KEIN Problem mit Dateien oder Verzeichnissen. Die referenzierten Linux- und Initrd-Dateien sollten sich überhaupt nicht in Ihrer „/“-Partition, also 41d..., befinden. Sie sollten sich in der EFI-Partition auf der obersten Ebene befinden, nicht in einem Verzeichnis (mit Ihrer Version von arch.conf). Das ist verwirrend, weil die Anweisung „Linux“ beispielsweise angibt, dass sie in „/“ zu finden sind, aber dies bezieht sich auf die oberste Ebene der EFI-Partition und nicht auf die OS-Partition. Wenn Ihre EFI-Partition in einem ansonsten leeren /boot-Verzeichnis im Betriebssystem gemountet ist, sollten Sie sie (wenn sie in der 41d...-Partition verwurzelt sind) als im /boot-Verzeichnis sehen.
Alternativ, wenn Sie unterschiedliche Kernel für Ihre verschiedenen Arch-Varianten haben, suchen Sie die Kernel-Version mit uname -r. Wenn dies dann 4.19.66-1-lts wäre, führen Sie mkdir /boot/4.19.66-1-lts aus. Verschieben Sie dann diese beiden Dateien von /boot nach /boot/4.19.66-1-lts und ändern Sie Ihre jeweilige arch.conf, sodass sie z. B. linux /4.19.66-1-lts/vmlinuz-linux lautet.
Ich habe dies mit meinem gemacht, aber noch keine unterschiedlichen Kernel installiert.