内核升级后,无法使用 lvm 上的 / 启动

内核升级后,无法使用 lvm 上的 / 启动

我使用 apt-get dist-upgrade 将我的台式机系统的内核从 2.6.32-41 升级到了 2.6.32-42。我选择不更新 /boot/grub/menu.lst,而是根据以前的版本自己添加了所需的行。(因为我从以前的经验中发现自动更新会破坏现有的所有内容!)因此,非恢复模式的相关行如下:

title    Ubuntu 10.04.4 LTS, kernel 2.6.32-42-generic
uuid     099b8ec7-c3b2-4f46-a52c-8e95d6a7b9de
kernel   /vmlinuz-2.6.32-42-generic root=/dev/smallvg-filesystemlv ro quiet splash
initrd   /initrd.img-2.6.32-42-generic
quiet

title    Ubuntu 10.04.4 LTS, kernel 2.6.32-41-generic
uuid     099b8ec7-c3b2-4f46-a52c-8e95d6a7b9de
kernel   /vmlinuz-2.6.32-41-generic root=/dev/mapper/smallvg-filesystemlv ro quiet splash 
initrd   /initrd.img-2.6.32-41-generic
quiet

2.6.32-41 正常启动;2.6.32-42 失败,因为它找不到根分区,因为逻辑卷未安装。它让我进入 busybox,从那里(如以前类似问题的答案中所建议的)我可以使用

lvm -vgscan

lvm vgchange -ay

验证 lvm 是否存在以及分区对其是否可见。

我检查并比较了 2 个 /boot/initrd.img* 文件,据我所知,其中包含的文件及其内容是相同的(除了版本变化),并检查了 2 个 /boot/config* 文件,它们同样仅在版本号上有所不同。

这似乎是一个类似的问题这个,尽管 baronKarza 没有指定所涉及的内核编号,但这个问题似乎仍未得到解决。

所以我不知道它到底是哪里坏了。还有人遇到过这种情况吗?有人能帮忙吗?

答案1

新条目的行中有一个拼写错误kernel;应该是:

内核/vmlinuz-2.6.32-42-generic root=/dev/映射器/smallvg-文件系统lv ro quiet splash

您省略了加粗mapper部分!

相关内容