web-dev-qa-db-ja.com

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サムドライブからいつでも起動できます...、

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
_

しかし、私の_/_には、ディレクトリだけのファイルはありません。それが問題かもしれませんか?

5
stdcerr

起動可能な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-linuxinitramfs-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

`

5
GAD3R

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のフレーバーごとに異なるカーネルがある場合は、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を読み取ります。

私はこれを行いましたが、まだ異なるカーネルを配置していません。

0
fromagegb