O Ubuntu não inicializa por causa do lvmetad


27

Eu segui este tutorial para instalar o Ubuntu 15.10:

https://thesimplecomputer.info/full-disk-encryption-with-ubuntu

Depois de reiniciar o computador, cheguei ao menu grub e escolhi o Ubuntu. Logo depois disso, recebi este erro:

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

Essas mensagens continuam aparecendo em uma tela preta a cada segundo. Depois de um tempo, tenho acesso ao initramfsconsole do ash.

O que estou fazendo errado?


console cinza ou console bash? erro de digitação?
Thufir

Respostas:


12

Eu vi o mesmo erro hoje em um laptop executando o Ubuntu 15.10, que eu sempre mantinha atualizado, mas não reiniciava há um mês até que eu quisesse testar um kernel atual (ou seja, pode ter havido uma mudança recente).

De qualquer forma, descobri que, no meu caso, a causa subjacente era na verdade uma partição de troca "ausente" devido a uma falha na instalação ao seguir o tutorial acima. Se esse for o caso e / ou você estiver realmente usando lvm, poderá pular a etapa 2 abaixo. Obviamente, você também poderá ver a mensagem de erro acima caso sua partição do sistema (ou dados secundários) tenha sido danificada ou não possa ser encontrada (consulte a etapa 3).

Etapa 1: Monte seu sistema, inicialize partições seguindo o tutorial mencionado acima

Digamos que sua partição de inicialização (ext2) seja / dev / sdX1, sua partição de swap (criptografada) seja / dev / sdX2, sua partição de dados (criptografada) seja / dev / sdX3 e você descriptografou com êxito a última usando cryptsetup luksOpen /dev/sdX3 data, seguida de montagem -lo: mkdir /tmp/data; mount /dev/mapper/data /tmp/data.

Preste atenção às montagens de ligação no tutorial e certifique-se de montar o / dev / sdX1 para que você possa acessá-lo no diretório / boot da partição do sistema (isso é crucial, pois precisamos executar update-initramfs).

A seguir, presumimos que você tenha executado com êxito chroot /tmp/data/@ubuntu1510(ou seja lá como a partição do sistema montada for chamada)

Etapa 2: Livre-se da mensagem de erro acima

Estou usando o btrfs (como você deve ter adivinhado pelo nome do subvolume mencionado), para que o lvmetad possa ser facilmente desativado da seguinte maneira, sem perda de funcionalidade:

  • edite /etc/lvm/lvm.conf e mude use_lvmetad=1parause_lvmetad=0
  • executar update-initramfs -k $(uname -r) -u ; sync

Agora, você pode reiniciar e a mensagem de erro deve desaparecer. No entanto, no meu caso, a próxima mensagem de erro [1] me indicou o problema subjacente mencionado acima, portanto, enquanto estamos nisso, ...

Etapa 3: verifique se o / etc / crypttab aponta para as partições corretas e sem danos

Primeiro, execute sfdisk --list /dev/sdXe verifique se sua partição de troca criptografada (no meu caso, / dev / sdX2) realmente não aparece como uma partição de troca (normal). Caso isso acontecesse (como no meu caso), isso significava que a inicialização, por exemplo, usando um disco de recuperação provavelmente fará uso dessa partição de swap disponível, substituindo, assim, os metadados relacionados à configuração de criptografia (frase-chave e UUID).

Em seguida, consulte / dev / disk / by-uuid e compare os respectivos UUIDs de suas partições criptografadas com os contidos em / etc / crypttab. Meu palpite neste momento: no seu caso, há uma incompatibilidade.

Se a partição swap criptografada dedicada não pode ser encontrada em / dev / disk / by-uuid, é porque está sendo usada atualmente pelo seu sistema de recuperação. Nesse caso, faça o seguinte:

  • certifique-se de parar de usar a partição: swapoff -a
  • reformate-o: mkfs.ext2 /dev/sdX2(isso é crucial , especialmente ao usar partições GPT [2], pois desfaz a falha mencionada anteriormente. A causa provável da partição aparecer como tipo "swap" na lista do sfdisk é que você / eu utilizou por engano mkswap /dev/sdX2ao configurar a partição no início.)
  • siga o tutorial para criptografar a partição e defina uma senha; depois, abra-o usando cryptsetup e reformate adequadamente a partição agora descriptografada (usando algo como mkswap /dev/mapper/swap)
  • certifique-se de que sfdisk --list /dev/sdXnão identifique a partição de swap como tal (nesse caso, repita as últimas etapas)

Agora, verifique novamente se os UUIDs listados em / etc / crypttab estão alinhados com o que você vê abaixo / dev / disk / by-uuid para suas respectivas partições criptografadas.

Novamente, para tornar as alterações permanentes, você deve executar update-initramfscomo mostrado acima.

Se estiver satisfeito, verifique se tudo está gravado no disco e reinicie o sistema (não é necessário desmontar tudo manualmente). Depois, seu problema deve ter desaparecido.

[1] talvez eu não prestei atenção na primeira vez ou a primeira mensagem de erro "mascarou" a segunda; ou seja, somente após a reinicialização (com use_lvmetad=0), fui apresentado com " Lendo todos os volumes físicos. Isso pode demorar um pouco ... " (repetido várias vezes), seguido por " ALERTA! / dev / disk / by-uuid / .. não existe. " (Note-se que update-initramfstambém reclamou de uma partição ausente.)

[2] porque seu tipo é deduzido da análise de seu conteúdo e, em última análise, não é especificado por um sinalizador / byte (é por isso que não há uma maneira fácil de, por exemplo, alterar o tipo de sistema de arquivos GPT usando [g]parted).


2

Ubuntu 18.04.1 LTS aqui. Ele durou alguns meses sem vigilância, mas quando voltei, achei o teclado não reconhecido. Quando reiniciei, recebi a mensagem 'não é possível conectar ao lvmetad' e mais informações sobre como não conseguir obter a "lista UEFI db".

Eu tinha instalado sem criptografia de disco.

A mensagem UEFI foi preocupante porque essa foi minha primeira instalação em um computador UEFI, por isso não tinha experiência e, francamente, ainda não sou informado sobre a utilidade. Meu problema foi agravado pelo fato de eu ter usado o 'lvm' no que seria o meu '/', raiz, volume. (Na verdade, eu já esqueci como consegui isso em primeiro lugar! Ei. Eu sou velho.)

No entanto, quando a máquina não reiniciava, procurei uma solução e não encontrei nada definitivo, mas notei que a) minha partição EFI era menor que os 500 MB recomendados em um site eb) a partição / inicialização / separada que eu havia organizado pois provavelmente era irrelevante e sem uso. Eu achava possível que uma atualização autônoma, talvez, tivesse causado algo, possivelmente, para preencher seu espaço alocado.

Decidi reinstalar - o que funcionou e deixei minha estrutura de diretório / home / inalterada. Eu não verifiquei o / etc /, mas fiz cópias de ambos com antecedência [1], para que eu possa verificar mais tarde. / etc / é realmente pequeno.

Também excluí a exclusão e a combinação das partições para EFI e / boot / em uma única partição EFI maior (> 750 MB).

Ele é reiniciado agora, mas uma única mensagem de erro pisca muito rápido para ser lida, e não me oferecem um menu de inicialização de imagens do Linux para inicializar, mas ele é inicializado diretamente no Ubuntu. Ainda há mais trabalho a fazer, com o grub, suponho, para resolver isso. Mas pelo menos meus arquivos estão de volta.

[1] Inicializei a instalação do Ubuntu a partir de um pendrive e optei por "experimentar" o Ubuntu, o que me permitia fazer cópias de etc e de sua casa, antes de escolher "Instalar" na área de trabalho.


com mount /dev/mapper/data /tmp/dataeu recebo unknown filesystem type LVM2_member.
Francesco Boi

2

O Failed to connect to lvmetaderro pode ocorrer porque o disco está 100% cheio. Para corrigir isso, inicialize a partir de uma unidade USB, monte o disco completo, exclua alguns arquivos desnecessários e reinicie. Também reinstalei o sistema de inicialização - não sei se é necessário ou não.

Estes são os comandos que resolveram o problema para mim, executados em um terminal após a inicialização a partir da unidade USB. Tenho estoque Ubuntu 18.04 com criptografia de unidade completa. YMMV.

  • monte a unidade:
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo vgscan --mknodes
sudo vgchange -ay
sudo mount /dev/mapper/ubuntu--vg-root /mnt
  • excluir arquivos desnecessários ( cd /mnt/home/your_username... rm ...)
  • (pode não ser necessário) reinstale o sistema de inicialização:
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
  • desmontar:
cd /
sudo umount /mnt
sudo vgchange -an
sudo cryptsetup close sda5_crypt
  • reiniciar:
sudo reboot

0

Não é necessário inicializar o sistema a partir de um USB ou outra coisa. Eu tive o mesmo problema e um motivo - porque o disco está 100% cheio. A próxima solução me ajudou.

1) Reinicie seu sistema. Com o BIOS, pressione e mantenha pressionada a tecla Shift, que abrirá o menu GNU GRUB.

2) Depois pressione 'e' para editar as configurações do Ubuntu. Nesse problema, você pode encontrar telas. Encontre uma string iniciada como 'linux *', assim:

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

Excluir:

ro  quiet splash $vt_handoff

e adicione:

init=/bin/bash

Quando estiver pronto, pressione CTRL + x ou F10 para inicializar.

3) A partição raiz é montada somente leitura. Para montá-lo para leitura / gravação, digite o comando

mount -o remount,rw /

4) Descubra o que deu errado:

df -hT
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.