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/fstabespfstab

新しいサブディレクトリの作成/boot/efi/EFI/arch/

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

移動/boot/vmlinuz-linuxinitramfs-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がある場合は、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に変更します。

私はこれを私のものにしてきましたが、まだ別のカーネルを所定の位置に置いていません。

関連情報