为了加快启动速度,我尝试不使用引导加载程序启动系统。
我编译了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
下次启动成功。