Linux内核启动修复

1. 问题

如下,奇奇怪怪的报错,没有找到root device,这个kernel是vmlinuz-6.1.56+

Kernel启动报错

2. 解决方案

找一个能跑的kernel,用grub起来

1
2
cd /boot
sudo dracut --force initrd.img-6.1.56+ 6.1.56+

需要注意两个点:

  • 上述的通用规则是要启动的kernel是vmlinuz-xxx,则dracut命令就是sudo dracut --force initrd.img-xxx xxx
  • initrd.img并不一定是通用的命名规则,比如,有些发行版是initramfs-xxx,这要通过观察/boot目录下的文件结构来确认

OK,从现在开始就可以起飞了🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫