为了修复无法启动的 SLES15 系统,我启动了 Rescue 映像,将现有系统挂载到/mnt
,然后执行chroot /mnt
(我省略了细节,因为这些可能是已知的(或者在How do you create a chroot environment for OpenSUSE Leap 中找到) ? ))。
当尝试使用重建 initrd时,救援系统中使用的内核与环境中dracut
找到的内核不匹配。chroot
例如输出是:
dracut: cannot find module directory /lib/modules/5.3.18.57-default
(是救援系统的内核;例如5.3.18.57-default
不引导的内核)5.3.18-150300.59.46-default
我不确定正确的语法是什么;我是否必须指定 initrd 和内核的完整路径,如果是“vmlinuz”变体或“vmlinux.gz”变体?
对于只是重新创建 initrd,首先找出安装的内核,使用
例如,输出可能是:
作为替代方案,您可能希望列出
/lib/modules
内核版本。结果可能是:然后使用空的第一个参数和内核版本作为第二个参数运行命令,如下所示(注意与 RPM 输出相比的更改):