Ошибка LVM на начальной загрузке, вызывающей, отступает к initramfs

Я недавно обновил Ubuntu от более старого выпуска (12.04) LTS до 14.04 LTS и на перезагрузку, человечности не удается загрузиться и ошибка в /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: неопределенный символ: ПК является преступником, и я предполагаю это /sbin/lvm не был правильно связан с соответствующими библиотеками, заставив загрузочный образ не мочь выполнить LVM вообще, таким образом, объемы LVM не загружаются.

Что я попробовал

  1. Выполнение lvm в initramfs оболочка возвращает ту же ошибку о поиске символа.

  2. Удаление /usr/local/lib/libreadline.so.5 и выполнение lvm заставит его разбросать ошибку libreadline.so.5 не быть доступным вместо этого.

  3. vgchange не допустимая команда (я предполагаю, что она требует lvm и это должно быть, выполнил использование lvm vgchange -ay вместо этого?)

Я предполагаю, что должен попытаться восстановить загрузочный образ для включения корректной копии lvm. Однако я не уверен, как сделать это (должен я загружать 14,04 живых дисков и установку lvm2, или я должен сделать еще некоторые шаги? Как я могу изменить initramfs и зафиксировать его?) и я боюсь, что порчу существующую конфигурацию LVM. Как я должен сделать это?Спасибо!

0
задан 4 May 2017 в 08:27

1 ответ

После некоторого лужения в liveCD я разрешил проблему следующим образом:

  1. Начальная загрузка с живого CD и с живого CD sudo apt-get install lvm2.

  2. Проверьте LVs от lvdisplay, и выясните раздел начальной загрузки от lsblk

  3. Смонтируйте использование LV lvchange -a y

  4. Смонтируйте корневой LV и раздел начальной загрузки, например.

    sudo mkdir / новый

    sudo монтируются/dev/mapper/my-root / новый

    sudo монтируют/dev/sda1/new/boot

  5. chroot кому: /new и переустановите lvm2 оттуда.

  6. Перейдите в /usr/local/lib/ и удалите (или перемещение) libreadline.so.5.

  7. ldconfig

  8. Попытайтесь работать lvm от chroot Вы будете видеть ошибку о /var не будучи доступным, вместо обычного libreadline.so.5 ошибка.

  9. update-initramfs -u -v. Вы будете видеть libreadline.so.5 не будет скопирован с /usr/local/lib больше, но вместо этого от x86_64! Это - корректная общая библиотека.

  10. Перезагрузка. lvm должен теперь загрузиться правильно в initramfs, таким образом, он монтирует корневой раздел успешно, и можно теперь загрузиться.

0
ответ дан 3 November 2019 в 07:33

Другие вопросы по тегам:

Похожие вопросы: