安装了 Arch Linux 但无法启动

安装了 Arch Linux 但无法启动

我第一次安装 Arch Linux,我尝试设置我的 UEFI 启动过程,但一定在某个地方失败了,启动时我确实看到带有该Arch Linux选项的启动菜单,但当我选择它时,我收到一条消息,/vmlinuz-linux:Not Found即它可以'找不到要启动的内核。我已按照以下说明进行操作https://wiki.archlinux.org/index.php/Installation_guide但一定是某个地方搞砸了。

我怎样才能解决这个问题?

分区布局:

/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点。espfstab

创建一个新的子目录/boot/efi/EFI/arch/

mkdir -p /boot/efi/EFI/arch/

移动/boot/vmlinuz-linuxinitramfs-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 版本)。这很令人困惑,因为例如“linux”指令指示它们在“/”中找到,但这指的是efi分区的顶层,而不是os分区。将您的 efi 分区安装到操作系统中原本为空的 /boot 目录后,您应该会在 /boot 目录中看到它们(当以 41d... 分区为根时)。

或者,如果您的不同风格的 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

我已经用我的做到了这一点,但还没有到位不同的内核。

相关内容