我最近更新了Ubuntu从较旧的LTS版本(12.04)到14.04 LTS,并在重新启动后,ubuntu无法加载,并显示/sbin/lvm的错误:
There appears to be one or more degraded LVM volumes, and your root device may depend on the LVM volumes being online. One or more of the following LVM volumes are degraded: /sbin/lvm: symbol lookup error: /usr/local/lib/libreadline.so.5: undefined symbol: PC Gave up waiting for root device... ALERT! /dev/mapper/my-server-root does not exist. Dropping to a shell!
看起来像/ sbin / lvm:符号查找错误:/usr/local/lib/libreadline.so.5:未定义符号:PC是罪魁祸首,我想/sbin/lvm没有正确的链接到适当的库导致引导映像无法运行LVM,因此LVM卷不会加载。
我曾经尝试过
在initramfs shell中运行lvm将返回与符号查找相同的错误。
删除/usr/local/lib/libreadline.so.5并运行lvm将会引起libreadline.so.5不能被使用的错误。
vgchange不是一个有效的命令(我认为它需要lvm ,它应该使用lvm vgchange -ay来运行吗?)
我想我应该尝试重新构build启动映像以包含lvm的正确副本。 但是我不知道该怎么做(我应该引导一个14.04的活动磁盘,并安装lvm2 ,或者我应该做一些更多的步骤?我如何修改initramfs并修复它?),恐怕我搞乱了现有的LVM组态。 我该怎么做? 谢谢!