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에 마운트 esp지점을 추가해야 하는지 확인하세요 fstab.

새 하위 디렉터리 만들기/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

실행 mkinitcpio -p linux후 GRUB를 업데이트하세요.

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 파티션을 OS의 빈 /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와 같이 읽도록 변경합니다.

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

관련 정보