/sbin/lvm
我最近将 Ubuntu 从较旧的 LTS 版本(12.04)更新到 14.04 LTS,重新启动后,ubuntu 无法加载并显示错误:
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 卷无法加载。
我尝试过
lvm
在 initramfs shell 中运行会返回有关符号查找的相同错误。删除
/usr/local/lib/libreadline.so.5
并运行将会导致它抛出不可用的lvm
错误。libreadline.so.5
vgchange
不是有效的命令(我认为它需要lvm
并且应该使用它来运行lvm vgchange -ay
?)
我猜测我应该尝试重新构建启动映像以包含正确的 副本lvm
。但是我不确定该怎么做(我应该启动 14.04 实时磁盘并安装lvm2
,还是应该执行更多步骤?我如何修改 initramfs 并修复它?)而且我担心我会弄乱现有的 LVM 配置。我该怎么做?谢谢!