内核 4.4.1-1 无法启动 - 根卷“不存在” - 3.10.0.327 和 4.3.3-1 均能继续正常启动

内核 4.4.1-1 无法启动 - 根卷“不存在” - 3.10.0.327 和 4.3.3-1 均能继续正常启动

我正在尝试按照此处的说明在 RHEL 7.2 上安装和启动 kernel-ml(当前为 4.4.1-1):http://linuxg.net/install-kernel-4-x-on-enterprise-linux-7-centos-7-and-rhel-7/

安装工作正常,重新启动时我可以从 grub 菜单中选取新内核 - 然而它在启动过程中失败。

当它失败时,我可以看到以下多个实例:

dracut-initqueue[632]: Warning: dracut-initqueue timeout - starting timeout scripts

接下来是:

dracut-initqueue[632]: Warning: Could not boot.
dracut-initqueue[632]: Warning: /dev/mapper/vg_root-lv_root does not exist
dracut-initqueue[632]: Warning: /dev/vg_root/lv_root does not exist
Starting Dracut emergency shell...

我仍然可以启动到之前工作的旧内核,并且可以毫无问题地启动另一个 4.x(4.3.3-1),但 4.4.1-1 每次都会在这一点上失败。到目前为止,我尝试了以下操作,但没有成功(一些 iseda 来自https://askubuntu.com/questions/567730/gave-up-waiting-for-root-device-ubuntu-vg-root-doesnt-exist看起来像类似的错误):

退出 dracut 紧急 shell - 启动不再继续

在 grub 配置中通过 UUID 指定根卷 - 仍然找不到

检查 lvm2 是否已安装 - 已安装

ls /dev/mapper - 我在这里看到的只有“控制”

添加了 all_generic_ide 启动参数 - 无变化

为损坏的内核重建 initramfs - 没有变化

从启动参数中删除了 rhgb 和 quiet

使用 lvm pvdisplay / lvm lvdisplay / lvm vgdisplay 列出磁盘 - 未找到任何内容,输出为空白

我不确定我还能在这里尝试什么或下一步该做什么 - 任何指点都值得赞赏

答案1

我在 Ubuntu 上遇到了同样的问题,情况相同:4.3.3 可以运行,但 4.4.x+ 不行。同样的事情发生在 /dev/mapper 下根本找不到任何驱动器。

就我而言,问题不在于 lvm(尽管我也认为这是个问题),而是我的电脑使用了 NVMe 固态硬盘(戴尔 XPS 9550)。根据Arch Linux 维基,在内核 4.3 和 4.4 之间,“nvm”驱动程序的位置被移动了。一些操作系统尚未更新initramfs以适应新位置(包括 Arch 和 Ubuntu),导致内核在没有它的情况下构建。

在 Ubuntu 队列中查看这个错误:nvm 扩展未正确加载initramfs

Arch Wiki 建议:

编辑 /etc/mkinitcpio.conf 文件:

...
MODULES="... nvme"
...

然后更新引导加载程序。

# mkinitcpio -p linux

但是由于 Ubuntu 不必mkinitcpio按照 Arch Wiki 中的建议修复该问题,因此我加载了nvm扩展/etc/initramfs-tools/modules

sudo bash -c "echo '
nvme' >> /etc/initramfs-tools/modules"
sudo update-initramfs -u -k all

如果您有 NVM 驱动器,则可能还运行 Skylake 芯片组。如果是这样,您还应该下载 i915 驱动程序并将扩展添加i915到同一文件中,如建议的那样https://askubuntu.com/questions/717338/installing-4-4-rc7-kernel-yields-i915-module-not-available

相关内容