我正在尝试按照此处的说明在 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