Desisti de esperar pelo dispositivo raiz, ubuntu - o vg-root não existe


16

hoje instalei o Ubuntu de 64 bits em um netbook. Quando o netbook inicializa isso, o relatório de erro apareceu. Eu acho que há um problema com as partições.

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/ubuntu--vg-root does not exist. Dropping to a shell! 

BusyBox v.1.21.1 (Ubuntu 1:1.21.1-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

Saída de lsblk conforme solicitado:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0   231G  0 part 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sr0     11:0    1   1.2G  0 rom  /cdrom
loop0    7:0    0   1.1G  1 loop /rofs

1
execute lsblke adicione a saída à sua pergunta.
Psusi

6
@psusi E se lsblknão estiver disponível?
sitilge 15/08/2015

Respostas:


10

Por favor, adicione as saídas de lsblk -fs, fdisk / dev / sda com flag p e o relatório de reparo do grub à pergunta como links pastebin.

Com base na pesquisa, parece haver perguntas semelhantes no Ask Ubuntu que não têm respostas atualizadas aqui e Aqui é dada uma resposta que explica sobre invasão e ubuntu.

Parece haver várias sugestões, algumas das quais parecem funcionar para algumas pessoas.

  1. No prompt do initframs, tente digitar ls /dev/mappere veja se o seu volume raiz está listado. Se não estiver listado, tente aguardar 10 segundos e execute ls novamente.

    Se agora estiver listado, digite exite agora deve encontrar o dispositivo raiz e a inicialização (extraídos daqui

  2. Edite a configuração de inicialização pressionando equando grub alert para escolher OS e substitua root=UUID-6500...por root=/dev/sdxonde sdx é a partição de inicialização. O problema aqui parece ser que o UUID está errado ou /dev/disk/by-UUID...não existe (1)

  3. Adicionar o parâmetro all_generic_ideao final da linha de inicialização kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_ideparece funcionar para algumas pessoas (2)
  4. A pergunta do Superusuário aqui , parece sugerir que o erro ocorre devido ao LVM. A solução também é dada da mesma forma que é instalar o lvm2.
  5. O mesmo site Superusuário também sugere a inicialização usando um Kernel mais antigo, se disponível. Parece funcionar para algumas pessoas. Tentar inicializar usando a Recoveryopção pode funcionar para algumas pessoas
  6. Postado por nux_man777 aqui parece sugerir que o erro pode estar no meio de instalação.
  7. O erro /dev/mapper/ubuntu-vg-rootparece estar relacionado ao ataque conforme descrito aqui .

    "Na tela de resumo do instalador, imediatamente antes do início do processo de cópia, clique no botão Avançado. Altere a partição de inicialização (esta é a partição" pai "no estilo MSDOS e não as partições Linux) para / dev / mapper / pdc_feddabdf (ou qualquer outra lista dmraid como sua partição fakeraid) Verifique se a caixa de seleção está marcada para inicializar a partir deste disco. observe que o instalador modificará o grub2 para apontar para a partição lógica correta / dev / mapper / pdc_feddabdf1 ou o que quer que esteja. "

    Instruções detalhadas sobre a instalação são fornecidas no site referido. Por favor, verifique lá para mais informações sobre a instalação do grub.

  8. Iniciar em uma mídia de instalação ao vivo e atualizar o ubuntu alterando o uso de raiz chrootparece funcionar para algumas pessoas (sugerido por cpttripzz aqui ). As instruções sobre o chroot estão aqui . Você também pode consultar esta pergunta em Unix e Linux. Mais detalhes podem ser encontrados em Arch Wiki e Gentoo Wiki .
  9. Alterar o controlador SATA para IDE nativo do RAID e fazer uma nova instalação parece funcionar para algumas pessoas aqui e aqui
  10. O cabo IDE ou o disco rígido pode estar com defeito (o mesmo fórum ubuntu da página 40 acima)

O sistema operacional anterior era Win7
Jonas Franz



Reparo de inicialização: paste.ubuntu.com/9660149
Jonas Franz


8

Em certas versões do Ubuntu (por exemplo, Xubuntu 18.10), esse problema pode ser causado por um apt autoremove. Devido a este bug, o apt irá sugerir remover

cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run dmeventd libdevmapper-event1.02.1 liblvm2app2.2 liblvm2cmd2.02 libreadline5 lvm2

o que torna o sistema não inicializável (porque a partição raiz não pode ser montada e descriptografada usando o LVM).

Se você não estiver usando LVM e criptografia de disco, provavelmente esta resposta não é para você.

Consegui corrigi-lo reinstalando o cryptsetup e o lvm2 em um ambiente chroot: inicialize a partir de um pendrive USB ativo, execute os comandos abaixo em um terminal, reinicie.

# find root partition
sudo fdisk -l

# unencrypt partition
#   Note: replace /dev/nvme0n1p3 with your disk
#         replace "nvme0n1p3_crypt" with the correct name 
#         check by running this in chroot:
#         $ cat /etc/crypttab | cut -f1 -d " "
#         nvme0n1p3_crypt
sudo cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt

# mount root partition
sudo vgscan 
sudo vgchange -ay
sudo mount /dev/mapper/xubuntu--vg-root /mnt

# prepare chroot environment
sudo mount /dev/nvme0n1p2 /mnt/boot/   # replace nvme0n1p2 with your boot partition!
sudo mount -o rbind /dev/ /mnt/dev/
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/

# make dns available in chroot
sudo cp /etc/resolv.conf  /mnt/etc/resolv.conf 

# enter chroot
sudo chroot /mnt /bin/bash

# re-install missing packages
apt install cryptsetup lvm2

# re-generate  (this might be done also by apt in the step before, I'm not sure)
update-initramfs -u -k all

# Leave chroot environment - not sure if the following is really necessary...
exit
# Write buffers to disk
sudo sync
# Unmount file systems
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot

Essas perguntas e respostas me ajudaram a coletar os comandos.


1
Ohh, você acabou de me salvar cerca de três dias de trabalho que eu colocaria na instalação de um novo dispositivo. Funcionou perfeitamente! Substituído nvme0n1p3com sda5e nvme0n1p2com sda1(partição Linux no interior do LVM e a pequena partição de arranque fora do MVE, respectivamente)
Oliver L

1
@OliverU ótimo que funcionou! Mesmo que você não consiga mais inicializá-lo, você ainda poderá copiar o diretório inicial e talvez partes do / etc ou assim para uma nova instalação. Provavelmente deve ser menos trabalhoso que a configuração inicial.
Lumbric 27/02/19

1
Funcionou perfeitamente no Ubuntu 18.10, onde o problema aconteceu comigo após a apt autoremoveedição. Como Oliver acima, eu apenas tive que substituir o seguinte nas instruções: nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2sda1. Wit o palpite certo assim, não há necessidade de entrar chrootduas vezes cat /etc/crypttab | cut -f1 -d " "dentro chrootsó vai confirmar que você fez o palpite certo. Se você precisar digitar duas vezes, faça-o após uma reinicialização, pois fechar e reabrir o ambiente crytpsetup + LVM2 sem reinicializar parece… complexo.
tanius

Observe também que essas instruções funcionaram muito bem com o disco rígido que não inicializa, colocado em um gabinete de unidade e conectado a outro computador Ubuntu (funcionando corretamente) via USB. Não há necessidade de um sistema ativo então.
tanius

Obrigado cara, isso ajudou após 4 horas tentando consertar isso. Funciona mesmo no Ubuntu 19.10
WellBloud 25/10/19

3

Eu tive esse problema e nada em nenhuma postagem aqui ou em outro lugar foi capaz de ajudar. Especificamente no meu caso, pude ver que /dev/mappernão continham ubuntu--vg-rootnada além disso. Isso significa que algo deu errado quando o LVM tentou montar / mapear os volumes OU algo deu errado no início do processo de inicialização, e esse erro é apenas um sintoma geral de qualquer problema anterior.

O segundo deles foi o meu caso e somente por causa das minhas leituras sobre initramfseu pude entender e diagnosticar o problema. Essa deve ser a primeira coisa que você faz se suspeitar que algo deu errado antes que o LVM faça isso.

No meu caso (que pode não ser o mesmo que você, mas vale a pena documentar), eu tinha a LUKS (criptografia de disco completo) ativada e, de alguma forma, as cryptsetupferramentas foram removidas initramfs; portanto, não estava sendo solicitada a senha para desbloquear, e as unidades não estavam acessíveis, o que significava que /dev/sdaXnão podia ser montado e, portanto, ubuntu--vg-rootnão podia ser montado / mapeado /dev/mapper. Se você tentar executar a cryptsetuppartir do prompt do BusyBox, seu ll know you have the same issue if thecryptsetup` não poderá ser encontrado.

A solução foi inicializar a partir de um LiveCD, desbloquear a unidade manualmente com cryptsetup, chrootno sistema de arquivos raiz, reinstalar cryptsetupe ligar update-initramfs.


Bem-vindo ao Ask Ubuntu! :-) Você pode expandir a última linha em comandos reais?
Fabby

1
Eu escrevi um script para este caso (LUKS + LVM) em uma unidade NVMe, mas também posso expandi-lo para /dev/sd*unidades de estilo. unix.stackexchange.com/a/467113/103652
dragon788 5/18

2

Para aqueles que sofrem de problemas relacionados à criptografia, como na resposta de @ Zanna, será necessário seguir um procedimento semelhante a este:

  1. Inicialize no seu sistema usando uma distribuição ao vivo / USB.

  2. Monte a partição criptografada (no Ubuntu, você deverá ver o volume criptografado disponível na área de trabalho; basta clicar duas vezes e digitar a senha). A partição será montada em /media/ubuntu/[mount point]. (O nome de usuário mudará com base na distribuição; por exemplo, o Xubuntu usa xubuntu.)

  3. Abra uma janela do terminal e um bourbon.

  4. Defina ligações apropriadas para pontos de montagem no sistema:

    sudo su -
    mount -t auto /dev/sdX /media/ubuntu/[mount point]/boot
    mount --bind /dev /media/ubuntu/[mount point]/dev
    mount --bind /dev/pts /media/ubuntu/[mount point]/dev/pts
    mount --bind /sys /media/ubuntu/[mount point]/sys
    
  5. chroot no diretório raiz do seu disco criptografado: chroot /media/ubuntu/[mount point]

  6. Verifique se o seu sistema tem apropriadas initramfspacotes instalados: sudo apt install cryptsetup-initramfs lvm2.

  7. Criticamente, você também vai precisar para assegurar que seus arquivos de configuração forçar initramfspara incluir os binários Cryptsetup, que foram removidos em algum momento, parece : nano /etc/cryptsetup-initramfs/conf-hook, remova o comentário da CRYPTSETUPlinha, e certifique-se que lê CRYPTSETUP=Y.

  8. Por fim, execute update-initramfs -u -k all, desligue, puxe a mídia ao vivo e inicie novamente.

Sua milhagem aqui pode variar dependendo do que aconteceu com seu sistema. Se, por exemplo, você alterou o nome do grupo LVM ou o UUID, pode ser necessário alinhar /etc/crypttabe /etc/fstabusar os identificadores corretos. Se, como eu, você estava migrando de uma versão para outra, pode descobrir que possui dois volumes criptografados com o mesmo nome de grupo - isso dificulta a montagem do disco (você precisa usar o UUID explicitamente).

Em suma, a atualização para o Xubuntu 18.10 foi horrível por causa disso. (Um sistema de estoque não reiniciava uma vez que as atualizações do kernel fossem instaladas!) Pelo menos na configuração atual que tenho, o sistema é estável durante as reinicializações.

Os erros do ACPI que me levaram por toda a Internet a procurar uma solução eram um problema: eles não têm importância se você pode inicializar a partir de um disco criptografado.


O que há sdXneste caso? Ao inicializar a partir de um LiveCD, não há /bootpartição; portanto, não está claro o que deve ocorrer lá.
Ralien 18/04/19

@ralien - sdXé a unidade que contém a partição criptografada, provavelmente sdana maioria dos sistemas. No meu caso, criptografei o disco principal ( sda) durante uma nova instalação.
18719 Ethan

0

Tente o seguinte:

(initramfs) reboot

Em seguida, no prompt do seletor de SO, tente inicializar com um kernel mais antigo.

Se você tiver êxito, provavelmente isso resolverá o problema, conforme sugerido nas balas 4 e 5 do @One Face, e no link a que se refere:

sudo apt-get install lvm2

Se o lvm2 não estiver instalado, o kernel antigo não inicializa. O pacote lvm2 e o kernel não estão vinculados. Ele precisa inicializar com o Rescue System e instalar o pacote através do chroot.
PRIHLOP
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.