我一直在构建自己的内核(4.19.37),在构建(make)或安装(make install_modules + make install)时没有问题。在我执行grub2-mkconfig -o /boot/grub2/grub.cfg之前,一切似乎都很顺利。执行此命令时,grub将在/boot/中找到我现有的和新的initramfs-*.img内核以及相应的initramfs-*.img。然而,在这一点上,系统无限期挂起(>几个小时)。Ctrl+C似乎没有阻止它,我必须重新启动。我已经研究过这个问题,我所发现的所有问题都是对可引导操作系统的删除磁盘的探测,我通过删除它们和在每个GRUB_DISABLE_OS_PROBER=true中添加/etc/default/grub消除了这个问题。两者都没有帮助。
在重新启动时,我会在grub>命令行结束,大概是因为grub2-mkconfig从未完成并损坏grub配置文件。在这里,我可以在没有任何问题的情况下加载旧的和新的内核,以及initramfs,但是当我执行引导时,会引起内核恐慌:
end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

当然,我的假设是我的initramfs-4.19.37.img有问题,它是由我的构建过程创建的。作为一个实验,我测试了是否可以加载新内核,但是使用旧的initramfs (4.19.10),实际上它确实引导到emergency mode中。然而,我不能用新的initramfs做相反的旧内核。所以我的新形象有点可疑。
变得越来越聪明,我的最后一个实验是用mount安装新老的initramfs映像。它们都在没有错误的情况下成功地挂载,并且似乎具有相同的文件结构。我还比较了内核构建的新的和旧的.config文件,差别很小。
其他一些说明/意见:
List of all partions:没有产生任何结果,所以我想知道文件系统类型是否有问题?我的硬盘是xfs,initramfs的文件系统是什么?CPIO?grub>命令行中,ls /生成了我希望在/boot中看到的内容。它包含了我所有的vmlinuz-*和initramfs-*.img文件xfslow-latency抢占模型的同一个内核。在我的一生中,我无法弄清楚当时我做了什么不同的事情。因此,最后一个问题是--这些构建的initramfs表单有什么问题?我还能做些什么来验证它的完整性呢?在为.config文件系统构建内核时,是否应该进行任何xfs更改?
免责声明:这实际上是这个问题的延续,但我已经将问题简化了一些。一些背景信息可能是相关的。
发布于 2020-05-05 10:40:52
使用yum更新更新内核后,使用新内核重新启动VM,您将得到一个内核恐慌错误。下面的命令将解决此问题。
百胜拆仁
百胜更新
https://stackoverflow.com/questions/56411718
复制相似问题