Arch Linuxをインストールしたが起動できない

Arch Linuxをインストールしたが起動できない

初めてArch Linuxをインストールしました。UEFIブートプロセスをセットアップしようとしましたが、どこかで失敗したようです。起動時にオプションのあるブートメニューが表示されますが、それを選択すると、ブートするカーネルが見つからないというArch Linuxメッセージが表示されます。/vmlinuz-linux:Not Foundhttps://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/fstabespマウント ポイントを に追加する必要があります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 であるのに、オプションで PARTUUID が指定されているため、別の ID になるということのようです。

簡単な修正方法は、arch.conf のオプションを root=UUID=41d などに変更することです。

この方法は簡単で、うまく機能します。

ファイルやディレクトリに問題はありません。参照されている linux および initrd ファイルは、"/" (つまり 41d... パーティション) にはまったく存在してはなりません。これらは、ディレクトリ (arch.conf のバージョン) ではなく、最上位の efi パーティションに存在する必要があります。これは混乱を招きます。なぜなら、たとえば "linux" 命令は、これらを "/" で見つけるように指示しますが、これは efi パーティションの最上位レベルを参照しており、os パーティションを参照しているわけではないからです。efi パーティションを、os 内の空の /boot ディレクトリにマウントすると、(41d... パーティションをルートとしている場合) /boot ディレクトリにあるように表示されます。

あるいは、Arch の異なるフレーバーごとに異なるカーネルがある場合は、una​​me -r でカーネル バージョンを検索し、これが 4.19.66-1-lts だった場合は mkdir /boot/4.19.66-1-lts を実行し、その 2 つのファイルを /boot から /boot/4.19.66-1-lts に移動し、arch.conf を次のように変更します。たとえば、linux /4.19.66-1-lts/vmlinuz-linux

私もこれを実行しましたが、まだ別のカーネルを導入していません。

関連情報