EFI 启动错误:请附加正确的设备“root=”启动选项

EFI 启动错误:请附加正确的设备“root=”启动选项

为了加快启动速度,我尝试不使用引导加载程序启动系统。
我编译了Linux-内核-5.8.5并将.../arch/x86/boot/bzImage文件复制到/boot/efi/EFI/ubuntu.efi。重新启动进入 BIOS,选择Ubuntu 上的 efi并添加到安全启动
系统启动了但是出现以下错误:

Please append a correct device "root=" boot option; here are the available partitions:
(driver?)
103:00001 123456 nvme0n1p1 ...UUID....
103:00002 123456 nvme0n1p2 ...UUID....
103:00003 123456 nvme0n1p3 ...UUID....

kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(0,0)

PCI总线文件系统nvme驱动程序在内核中构建(*)。

答案1

我在 HP EliteDesk 705 G4 DM 上全新安装 Xubuntu 22.04 后遇到了同样的问题,该设备带有 m2.NVMe 驱动器。启动时我收到:

VFS: Cannot open root device nve0n1p2 or unknown-block(0,0): error -6
Please append a correct "root" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

在我的系统中没有可用的分区。事实证明,必须更新 initramfs。

我再次启动 Xubuntu 并使用 chroot。先决条件需要了解:

  • 磁盘名称,例如星展银行就我而言nvme0n1p(例如可以在 Gparted 中看到)
  • EFI 分区号,通常1
  • 在我的例子中,Linux 分区号2
  • 就我的情况而言,Linux 分区中的文件系统类型ext4

可以将在终端中运行的命令复制到文本编辑器,根据先决条件进行更改,然后粘贴到终端窗口中:

d=nvme0n1p # Disk with installed Linux
e=1   # Number of EFI partition
p=2   # Number of partition with installed Linux
sudo mount -o X-mount.mkdir -t ext4 /dev/${d}${p} /mnt/linux
sudo mount /dev/${d}${e} /mnt/linux/boot/efi
sudo mount --bind /dev /mnt/linux/dev
sudo mount --bind /dev/pts /mnt/linux/dev/pts
sudo mount --bind /proc /mnt/linux/proc
sudo mount --rbind /sys /mnt/linux/sys
sudo chroot /mnt/linux

在 changeroot 系统中我通过命令获取内核版本:

uname -r

并收到6.2.0-26-通用所以我更新了 initramfs 和 grub:

update-initramfs -u -k 6.2.0-26-generic
update-grub

并退出 chroot:

exit

下次启动成功。

相关内容