私は初めて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サムドライブからいつでも起動できます...、
edit2
なるほど、私の_/boot/loder/entries/Arch.conf
_は次のようになります:
_title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID=41d8483f-0d29-4234-bf1e-3c55346b5667 rw
_
しかし、私の_/
_には、ディレクトリだけのファイルはありません。それが問題かもしれませんか?
起動可能なUSB Arch-linuxから起動し、すべてのパーティションとchroot
をシステムにマウントします。
述べたように jasonwryan :
ESP to
/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
mkinitcpio -p linux
を実行し、GRUBを更新します。
grub-mkconfig -o /boot/grub/grub.cfg
`
GAD3Rの回答はgrubに適用できる場合がありますが、使用しているsystemd-bootには適用できません。問題は単にあなたのUUIDが41d8 ...であるように見えますが、オプションはPARTUUIDを指定していますが、これは別のIDになります。
Arch.confで簡単な修正を行い、オプションをroot = UUID = 41d ...などに変更します。
この方法は単純で、うまく機能します。
ファイルやディレクトリに問題はありません。参照されているlinuxおよびinitrdファイルは、「/」、つまり41d ...パーティションに配置しないでください。それらは、ディレクトリ(Arch.confのバージョンを含む)ではなく、トップレベルのefiパーティションにある必要があります。たとえば、 "linux"命令は "/"にあるように指示するため、これは混乱を招きますが、これはosパーティションではなく、efiパーティションのトップレベルを参照します。 efiパーティションがosの空の/ bootディレクトリにマウントされていると、/ 41ディレクトリのように(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を読み取ります。
私はこれを行いましたが、まだ異なるカーネルを配置していません。