我已按照初学者指南在我的笔记本电脑上安装 Arch Linux。当我启动时,我会看到 EFI 启动菜单,但是当我选择 Arch Linux 时,我收到此错误:
Kernal panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.5.4-1-ARCH #1
...
然后系统锁定,直到我硬重置。
我想我一定是错误地配置了引导加载程序。
我的硬盘配置了 GPT 分区表并分区为:
/dev/sda1 /boot 512MiB
/dev/sda2 / 20GiB
/dev/sda3 (swap) 4GiB
/dev/sda4 /home 199.1GiB (remaining space)
我已经运行bootctl install
,然后创建了这两个文件:
/boot/loader/loader.conf
default arch
timeout 4
editor 0
/boot/loader/entries/arch.conf
title Arch Linux
efi /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda2 rw
我检查了/vmlinuz-linux
和/initramfs-linux.img
文件都存在:
# ls /boot
EFI initramfs-linux-fallback.img initramfs-linux.img loader vmlinuz-linux
我哪里错了?
编辑:我认为我的 fstab 可能有用,所以也发布它(手动重新输入,因此跳过标题注释和 UUID,任何拼写错误都是我抄写的):
/etc/fstab
# /dev/sda2
UUID={long uuid} / ext4 rw,relatime,data=ordered 0 1
# /dev/sda1
UUID={long uuid} /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
# /dev/sda4
UUID={long uuid} /home ext4 rw,relatime,data=ordered 0 2
# /dev/sda3
UUID={long uuid} none swap defaults 0 0
答案1
我的/boot/loader/entries/arch.conf
应该是
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options initrd=initramfs-linux.img root=PARTUUID={/dev/sda2 uuid} rw
(替换{/dev/sda2 uuid}
为实际的UUID)