Ubuntu no arranca debido a lvmetad

Ubuntu no arranca debido a lvmetad

Seguí este tutorial para instalar Ubuntu 15.10:

https://web.archive.org/web/20180530122126/http://thesimplecomputer.info/full-disk-encryption-with-ubuntu

Después de reiniciar mi computadora, llegué al menú de grub y elegí Ubuntu. Poco después recibí este error:

/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.

Estos mensajes siguen apareciendo en una pantalla negra cada segundo. Después de un tiempo, tengo acceso a la initramfsconsola ash.

¿Qué estoy haciendo mal?

Respuesta1

Vi el mismo error hoy en una computadora portátil con Ubuntu 15.10 que siempre mantuve actualizado pero que no reinicié durante un mes hasta que quise probar un kernel actual (es decir, es posible que haya habido un cambio reciente).

De todos modos, descubrí que en mi caso la causa subyacente era en realidad una partición de intercambio "faltante" debido a un problema de configuración al seguir el tutorial anterior. Si este es el caso y/o realmente estás usando lvm, es posible que puedas omitir el paso 2 a continuación. Por supuesto, también puede ver el mensaje de error anterior en caso de que la partición de su sistema (o de datos secundarios) se haya dañado o no se pueda encontrar (consulte el paso 3).

Paso 1: Monte su sistema, inicie las particiones siguiendo el tutorial mencionado anteriormente.

Digamos que su partición de arranque (ext2) es /dev/sdX1, su partición de intercambio (cifrada) es /dev/sdX2, su partición de datos (cifrada) es /dev/sdX3 y ha descifrado exitosamente esta última usando cryptsetup luksOpen /dev/sdX3 data, seguido del montaje él: mkdir /tmp/data; mount /dev/mapper/data /tmp/data.

Preste atención a los montajes de enlace en el tutorial y asegúrese de montar /dev/sdX1 para que pueda acceder a él desde el directorio /boot de la partición de su sistema (esto es crucial ya que tenemos que ejecutar update-initramfs).

A continuación, asumimos que ha ejecutado correctamente chroot /tmp/data/@ubuntu1510(o como se llame la partición del sistema montada)

Paso 2: elimine el mensaje de error anterior

Estoy usando btrfs (como habrás adivinado por el nombre del subvolumen mencionado), por lo que lvmetad se puede desactivar fácilmente de la siguiente manera sin pérdida de funcionalidad:

  • edite /etc/lvm/lvm.conf y cambie use_lvmetad=1ause_lvmetad=0
  • ejecutarupdate-initramfs -k $(uname -r) -u ; sync

Ahora tupodríareinicie y el mensaje de error debería desaparecer.Sin embargo,en mi caso, el siguiente mensaje de error[1] me señaló el problema subyacente mencionado anteriormente, así que ya que estamos en eso,...

Paso 3: asegúrese de que /etc/crypttab apunte a las particiones correctas y no dañadas

Primero, ejecute sfdisk --list /dev/sdXy verifique que su partición de intercambio cifrada (en mi caso, /dev/sdX2) realmente funcione.noaparecer como una partición de intercambio (normal). Si así fuera (como en mi caso), esto significaría que al arrancar, por ejemplo, utilizando un disco de rescate, probablemente se utilizará esa partición de intercambio disponible, sobrescribiendo así los metadatos relacionados con cryptsetup (frase clave y UUID).

A continuación, eche un vistazo a /dev/disk/by-uuid y compare los respectivos UUID de sus particiones cifradas con los contenidos en /etc/crypttab. Mi conjetura en este punto: en su caso, hay una discrepancia.

Si la partición de intercambio cifrada dedicada no se encuentra en ningún lugar debajo de /dev/disk/by-uuid, es porque su sistema de rescate la está utilizando actualmente. En ese caso, haga lo siguiente:

  • asegúrese de dejar de usar la partición:swapoff -a
  • reformatearlo: mkfs.ext2 /dev/sdX2(esto escrucial, especialmente cuando se usan particiones GPT[2], ya que deshace el problema que mencioné anteriormente. La causa probable de que la partición aparezca como tipo "swap" en la lista de sfdisk es que usted/yo usé por error mkswap /dev/sdX2al configurar la partición al principio).
  • siga el tutorial para cifrar la partición y establecer una frase de contraseña; luego, ábrelo usando cryptsetup y reformatea adecuadamente elahora descifradopartición (usando algo como mkswap /dev/mapper/swap)
  • asegúrese de que sfdisk --list /dev/sdXno identifique la partición de intercambio como tal (en ese caso, repita los últimos pasos)

Ahora, vuelva a verificar que los UUID enumerados en /etc/crypttab estén en línea con lo que ve a continuación /dev/disk/by-uuid para sus respectivas particiones cifradas.

Nuevamente, para que los cambios sean permanentes, debe ejecutar update-initramfscomo se muestra arriba.

Si está satisfecho, asegúrese de que todo esté escrito en el disco y reinicie el sistema (no es necesario desmontar todo manualmente). Después, su problema debería desaparecer.

[1] tal vez no presté atención la primera vez o el primer mensaje de error "enmascaró" el segundo; es decir, sólo después de reiniciar (con use_lvmetad=0), se me presentó "Lectura de todos los volúmenes físicos. Esto puede tardar un rato..." (repetido varias veces), seguido de "¡ALERTA! /dev/disk/by-uuid/... no existe.". (Cabe señalar que update-initramfstambién se quejó de que faltaba una partición).

[2] porque su tipo se deduce del análisis de su contenido y no se especifica en última instancia mediante un indicador/byte (es por eso que no hay una manera fácil de, por ejemplo, cambiar el tipo de sistema de archivos GPT usando [g]parted.)

Respuesta2

El Failed to connect to lvmetaderrorpoderEsto sucede porque el disco está 100% lleno. Para solucionar este problema, inicie desde una memoria USB, monte el disco completo, elimine algunos archivos innecesarios y reinicie. También reinstalé el sistema de arranque; no sé si es necesario o no.

Estos son los comandos que me resolvieron el problema, ejecutar desde una terminal después de iniciar desde la unidad USB. Tengo Ubuntu 18.04 con cifrado de disco completo. YMMV.

  1. Monte la unidad:

    sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
    sudo vgscan --mknodes
    sudo vgchange -ay
    sudo mount /dev/mapper/ubuntu--vg-root /mnt
    
  2. Eliminar archivos innecesarios ( cd /mnt/home/your_username... rm ...)

  3. (puede que no sea necesario) reinstale el sistema de arranque:

    cd /mnt/
    sudo mount /dev/sda1 boot
    for d in dev sys proc run; do sudo mount --bind /$d $d; done
    sudo vi etc/crypttab # make sure first line uses "sda5_crypt"
    sudo chroot .
    update-grub
    grub-install /dev/sda
    update-initramfs -u -k all
    exit
    sudo umount dev sys proc run boot
    
  4. Desmontar:

    cd /
    sudo umount /mnt
    sudo vgchange -an
    sudo cryptsetup close sda5_crypt
    
  5. Reiniciar:

    sudo reboot
    

Respuesta3

Ubuntu 18.04.1 LTS aquí. Estuvo funcionando durante un par de meses sin supervisión, pero cuando regresé encontré que el teclado no era reconocido. Cuando reinicié, recibí el mensaje "no se puede conectar a lvmetad" y más información sobre no poder obtener la "lista de bases de datos UEFI".

Lo había instalado sin cifrado de disco.

El mensaje UEFI fue preocupante porque esta era mi primera instalación en una computadora UEFI, por lo que no tenía experiencia y, francamente, todavía no estoy informado sobre su utilidad. Mi problema se vio agravado por el hecho de que había usado 'lvm' en lo que iba a ser mi volumen '/', raíz. (De hecho, ¡ya he olvidado cómo logré ESO en primer lugar! Oye, soy viejo).

Sin embargo, cuando la máquina no se reiniciaba, busqué una solución y no encontré nada definitivo, pero noté que a) mi partición EFI era más pequeña que los 500 MB recomendados en un sitio, y b) la partición /boot/ separada que había organizado porque probablemente era irrelevante y no se utilizaba. Pensé que era posible que una actualización desatendida, tal vez, hubiera provocado que algo, posiblemente, llenara el espacio asignado.

Decidí reinstalar, lo cual funcionó, y dejé mi estructura de directorio /home/ sin ser molestada. No he comprobado /etc/, pero hice copias de ambos de antemano[1], para poder comprobarlo más tarde. /etc/ es realmente pequeño.

También eliminé y combiné las particiones para EFI y /boot/ en una única partición EFI más grande (>750 MB).

Se reinicia ahora, pero un único mensaje de error parpadea demasiado rápido para leerlo, y no se me ofrece un 'menú' de inicio de imágenes de Linux para iniciar, sino que se inicia directamente en Ubuntu. Todavía hay más trabajo por hacer, supongo que con grub, para abordar este problema. Pero al menos mis archivos han vuelto.

[1] Arranqué la instalación de Ubuntu desde una memoria USB y elegí "probar" Ubuntu, lo que me permitió hacer copias de etc. y de inicio, antes de elegir "Instalar" desde el escritorio.

Respuesta4

No es necesario iniciar su sistema desde un USB o cualquier otra cosa. Tuve el mismo problema y una razón: porque el disco está 100% lleno. La siguiente solución me ayudó.

  1. Reinicie su sistema. Con BIOS, presione y mantenga presionada rápidamente la tecla Shift, que abrirá el menú GNU GRUB.

  2. Después presione 'e' para editar la configuración de Ubuntu. Eneste problemaPuedes encontrar pantallas. Busque una cadena que comience como 'linux *', como esta:

    linux     /boot/vmlinuz-4-4.0-22-generic root=UUID=43ad24d3-e\
    c5b-44ee-a099-a88eb9520989 ro  quiet splash $vt_handoff
    

    Borrar:

    ro  quiet splash $vt_handoff
    

    Y añadir:

    init=/bin/bash
    

    Una vez listo presione Ctrl+xo F10para iniciar.

  3. La partición raíz está montada como de solo lectura. Para montarlo en lectura/escritura, ingrese el comando

    mount -o remount,rw /
    
  4. Descubra qué salió mal:

    df -hT
    

información relacionada