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-linux및 :initramfs-linux.imginitramfs-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

GRUB를 실행 mkinitcpio -p linux하고 업데이트합니다.

grub-mkconfig -o /boot/grub/grub.cfg

`

답변2

GAD3R의 답변은 grub에서는 작동하지만 사용 중인 systemd-boot에서는 작동하지 않을 수 있습니다. 문제는 간단해 보입니다. UUID는 41d8입니다. 그러나 옵션에서는 다른 ID가 될 PARTUUID를 지정합니다.

간단한 수정은 arch.conf의 옵션을 root=UUID=41d... 등으로 변경하는 것입니다.

방법은 간단하고 잘 작동합니다.

파일이나 디렉토리에는 문제가 없습니다. 참조된 linux 및 initrd 파일은 "/" 즉 41d... 파티션에 있어서는 안 됩니다. 이는 디렉토리(arch.conf 버전 포함)가 아닌 최상위 efi 파티션에 있어야 합니다. 예를 들어 "linux" 지시문은 "/"에 있음을 나타내기 때문에 혼란스럽습니다. 그러나 이는 os 파티션이 아닌 efi 파티션의 최상위 수준을 나타냅니다. 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로 변경합니다.

나는 이것을 내 것으로 해왔지만 아직 다른 커널을 제자리에 두지 않았습니다.

관련 정보