初めて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.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
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の2つのファイルを/bootから/boot/4.19.66-1-ltsに移動し、特定のarch.confをlinux /4.19.66-1-lts/vmlinuz-linuxに変更します。
私はこれを私のものにしてきましたが、まだ別のカーネルを所定の位置に置いていません。