Disco por UUID não detectado (initramfs), falha de inicialização

18

Não consigo inicializar o Ubuntu 10.04, com o shell de inicialização embutido que apresenta este erro:

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/disk/by-uuid/aa91b9fe-1e27-44d7-9c1b-72dd7d4e8575 does not exist.   
Dropping to a shell! 

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

(initramfs)

Atualização 1
Este erro ocorreu após a atualização 2.6.32-26do kernel da versão e a inicialização diretamente no Windows.

A solução rootdelay não funcionou. Existe alguma chance de que o uuid do meu disco tenha sido alterado (talvez pelo Windows), eu poderia entrar no meu Ubuntu mais cedo, mas depois de entrar no Windows e reiniciar, recebo esse erro. No que diz respeito ao backup, eu preciso mesmo que eu tenha partições domésticas e de espaço de trabalho separadas da instalação do Ubuntu?

Atualização 2
A atualização após a qual isso aconteceu foi apenas uma atualização (sem nova instalação) do version 2.6.32-26.Então, acho que isso tem algo a ver com a última atualização desta versão do kernel. Além disso, como não era uma nova instalação, nenhuma nova entrada de menu foi adicionada. Por acaso, isso pode ser causado por causa da minha reinicialização no Windows após a atualização do kernel.

Atualização 3
Instalou o kernel mais antigo fazendo chroot através do USB ativo, ainda o mesmo problema com o kernel, portanto parece que o problema não se deve à atualização do kernel, afinal.

Também já enfrentei esse problema anteriormente, mas naquela época considerava a reinstalação da distribuição mais fácil (eu costumava distribuir muito). Mas agora eu o havia configurado muito longe e, portanto, procurando algum último recurso.

Atualização 4
Ubuntu reinstalado. Desta vez, a configuração foi mais fácil graças às partições domésticas e da área de trabalho separadas. Mesmo difícil, não preciso da solução desse problema agora, mas se você souber alguma solução possível, poste aqui para obter benefícios futuros.

crodjer
fonte
Tente executar "blkid" no prompt initramfs para listar os uids de dispositivo recgonizados.
João Pinto
O que acontece se você deixar o computador parado no prompt do busybox "(initramfs)" por um minuto e digitar "exit" e pressionar a tecla Enter?
Li Lo
emite o mesmo prompt novamente, as mensagens acima são anexadas ao shell de inicialização
crodjer
Eu tive exatamente o mesmo problema e encontrei uma solução nessa solução "muito pouco votada", mas na verdade funciona! askubuntu.com/a/519814/223469
Aleks

Respostas:

7

Eu tive o mesmo problema como o iniciador de threads e o resolvi sem reinstalar.

Meu problema ocorreu ao manipular uma instalação virtual baseada em uma imagem de disco copiada. Isso resultou em um uuid alterado e a cópia não foi iniciada. Este é um esboço do que eu fiz.

Primeiro, inicialize usando um sistema de recuperação (mesma versão) e execute um shell no seu disco que não inicializa. Dê uma olhada /etc/fstabe confirme os uuids lá emitindo o blkidcomando para cada dispositivo. Corrija essas entradas como elas são importantes.

Em seguida, corrigimos o grub com:

  • grub-mkconfig
  • update-grub

Então corra:

  • update-initramfs -u /boot/initrd.img-2.6.YOURVERSION-HERE

Isso criará um novo initramdisk para sua versão. Se você não sabe a versão exata que estava executando, consulte os arquivos em / boot /. Escolher o número da versão mais alta deve ser seguro.

Depois de sair do shell de resgate, o ubuntu live cd oferecerá o último menu de onde você entrou no shell. Escolha "instalar o Grub" (ou similar) lá e digite o dispositivo onde colocar o seu setor de inicialização.

Na maioria dos sistemas (instalação padrão), /dev/sdaé uma aposta segura. Esteja ciente: Windows ou outros sistemas de inicialização múltipla podem precisar de outras entradas aqui!

Finalmente, você poderá inicializar a partir do disco reparado.

Andreas
fonte
11
Isso funcionou para mim, mas o comando update-initramfs foi: update-initramfs -u -k 2.6.YOURVERSION-AQUI
Dan
5

O problema parece ser que seu disco rígido ou o controlador não responde com rapidez suficiente.

Tente o seguinte:

  • Quando o menu de inicialização aparecer, com o topo da lista destacado, pressione e(para editar ).

  • Você deve ver uma longa lista de parâmetros. Adicione este a ele: rootdelay=130

  • Aperte Entere depois b( bota ). Tente ver se o sistema inicializa agora. Você pode aumentar o valor se isso não ajudar na primeira vez (mas não muito, 130 já é mais do que suficiente para qualquer hardware que não esteja quebrado).

No entanto, também pode ser que seu disco rígido esteja falhando. A primeira coisa a fazer quando você voltar ao seu sistema é fazer backup dos seus dados . Se você quer estar seguro, faça backup usando um cd do ubuntu. Peço fortemente que você faça isso, mais cedo ou mais tarde.

Stefano Palazzo
fonte
11
Isso é verdade ... o que acontece, tente um CD ao vivo ou USB ao vivo e, depois de inicializar na área de trabalho ao vivo, conecte um disco rígido externo (espero que você tenha um) e comece a fazer backup dos seus dados no disco rígido externo ...
Salih Emin
a solução rootdelay não funcionou. Existe alguma chance de que o uuid do meu disco tenha sido alterado (talvez pelo Windows), eu poderia entrar no meu Ubuntu mais cedo, mas depois de entrar no Windows e reiniciar, recebo esse erro. No que diz respeito ao backup, eu preciso mesmo que eu tenha partições domésticas e de espaço de trabalho separadas da instalação do buntu?
Crdjer 30/11/2010
5

De fato, experimentei mudar os UUIDs de disco espontaneamente uma ou duas vezes. A mudança pode ser o resultado de algum tipo de corrupção. Eu tentaria o seguinte:

  • Inicialize seu computador a partir de uma mídia ao vivo;
  • fdisk -l /dev/sdapara encontrar a partição que você está procurando; ou use o cfdisk; or usegparted (replacesda` no seu disco rígido).
  • blkid /dev/sda1(substitua sda1pela partição que você encontrou); alternativamente use vol_id;
  • veja se você pode montar a partição (usando o arquivo do dispositivo /dev/sda1);
  • verifique se o UUID exibido corresponde ao UUID na partição raiz /etc/fstab;
  • gere um novo UUID usando uuidgene aplique-o à partição usando tune2fs -U;
  • altere a fstabentrada de acordo.

Pode parecer improvável que algo tão vital quanto o UUID mude sem causa aparente, mas isso acontece, provavelmente por causa de um bug. Veja se alterar o UUID para um novo valor ajuda.

Loevborg
fonte
11
O uuid no prompt do initramfs, disco raiz e fstab eram os mesmos. Eu ainda mudei como você especificou, mas continua o mesmo problema #
crodjer
Talvez este seja realmente um problema relacionado à atualização do kernel. Você pode montar o sistema de arquivos de dentro do shell do busybox? Tente montá-lo usando o arquivo de dispositivo / dev / sda1 (mutatis mutandis), que não deve estar relacionado ao UUID. Se isso funcionar, você pode editar sua configuração fstab e GRUB para usar arquivos de dispositivo em vez de UUIDs.
Loevborg
Além disso, sobre a reinstalação - não é grande coisa se você fizer uma cópia do seu diretório / home e soltá-la após a instalação. Depois, basta instalar o mesmo conjunto de pacotes (o que também pode ser feito automaticamente). Concordo que isso realmente não deveria ser necessário e é muito mais limpo encontrar o problema.
Loevborg
2

Quando vi isso no meu sistema, era uma questão de o UUID errado ser definido como o parâmetro raiz da inicialização /boot/grub/menu.lst.

cat /proc/cmdlinemostra realmente os parâmetros de inicialização passados ​​para o initramfs - se você vir que o initramfs está sendo instruído a montar uma partição raiz inexistente, obviamente falhará.

update-grub não atualizei esses parâmetros para mim, mas simplesmente fiz uma substituição manual do antigo UUID no menu.lst o corrigiu.

Fredrik Gunger
fonte
Também é assim que eu tive que consertar as coisas no passado. No entanto, da última vez, eu nem me incomodei com o UUID e apenas substituí o UUID incorreto pelo ID do dispositivo / dev / xxx em / etc / fstab. Para outros que tentam corrigir isso, consulte também a resposta do @ loevborg.
Belacqua
1

Você tem um kernel mais antigo? Funciona? Verifique o arquivo / etc / fstab como o loevborg disse sobre possíveis registros 'obsoletos' (eu tive o mesmo problema ao instalar o lvm e o grub2 - havia um registro antigo para a partição / boot que causou o erro)

Pavlos G.
fonte
não .... Eu tenho o hábito de excluir o kernel antigo depois de testar uma nova instalação 4-5 vezes. A atualização após a qual isso aconteceu foi apenas uma atualização (sem nova instalação) da versão 2.6.32-26 . Então eu acho que isso tem algo a ver com a última atualização desta versão do kernel.
crodjer
Por que você não tenta fazer um chroot com um live CD e reinstalar esse kernel ou a versão 2.6.35-23 mais recente?
Pavlos G.
sim ..... atualmente fazendo um pendrive ao vivo
crodjer 30/11
Instalar o kernel antigo também não funcionou .... o problema não parece ser por causa da atualização do kernel, afinal.
crodjer
Você pode tentar executar o bootinfoscript ( sourceforge.net/projects/bootinfoscript ) e colar os resultados aqui?
Pavlos G.
1

Eu não tenho nenhuma idéia do que pode causar isso, mas como solução, você pode tentar reinstalar apenas o Grub. Eu acho que vai resolver o seu problema.

binW
fonte
11
Eu chrootei e tentei isso também, mas não funcionou ... finalmente reinstalei a distribuição.
Crdjer
1

Este problema apareceu para mim após a instalação libuuid. Consegui corrigi-lo manualmente e agora ele inicializa bem, mas sempre mostra erros por falta blkid. Além disso, a falha de inicialização reaparece após atualizações que exigem reinicialização.

O UUID no /proc/cmdlineestá correto, no entanto, o sistema falha em reconhecê-lo.

RocketR
fonte
1

Como corrigir um erro do Ubuntu: " No init found. Try passing init= bootarg"

Hoje de manhã, um amigo veio até mim com seu laptop que não inicializa. A cada tentativa de inicialização, seu sistema Ubuntu 10.04 Lucid Lynx gera as seguintes mensagens de erro:

mount: mounting /dev/disk/by-uuid/***************************** on /root
failed: Invalid argument
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target file system doesn't have /sbin/init
No init found. Try passing init= bootarg



Busybox v1.13.3 (Ubuntu 1:1.13.3-1ubuntu7) built-in shell (ash)
Enter 'help' for a list of built-in commands
(initramfs) _

Booting into "Recovery Mode" as well as choosing the other kernels listed in grub didn't help at all.

Solução:

  1. Inicialize a partir do CD do Ubuntu Live;

  2. Abrir / Executar Terminal;

  3. Digite: sudo fdisk -l(para obter o nome do dispositivo) e pressione ENTER;

    Disco / dev / sda: 250,1 GB, 250059350016 bytes 255 cabeças, 63 setores / faixa, 30401 cilindros Unidades = cilindros de 16065 * 512 = 8225280 bytes Identificador do disco: * ***

    Sistema de identificação dos blocos finais de inicialização do dispositivo / dev / sda1 * 1 30238 242886703+ 83 Linux / dev / sda2 30239 30401 1309297+ 5 Estendido / dev / sda5 30239 30401 1309266 82 Linux swap / Solaris

O nome do dispositivo para o sistema do meu amigo com base no acima: /dev/sda1

  1. Digite: sudo fsck /dev/sda1depois pressione ENTER;

  2. Reinicie o sistema e inicialize normalmente.

    • O laptop inicializou normalmente após a correção.
kalaitrigger
fonte
1

Eu estava vendo o mesmo problema - com a informação extra que eu tenho blkid usado (e tune2fs) para verificar o UUID, e é uma correspondência exata. A listagem / dev / disk / by-uuid também mostrou o UUID esperado lá. A unidade também é perfeitamente montável no busybox. Todos os arquivos normais esperados em [/ mnt] / boot / estão presentes (para o kernel 3.13.0-36).

Eu consegui inicializar o computador (de dentro do busybox) alterando a referência UUID do / etc / fstab para a partição raiz como / dev / sda1 (modifique conforme apropriado para sua instalação). Não tenho certeza, no entanto, de que essa etapa seja importante, pois sozinha não fez diferença. O que aconteceu foi na próxima reinicialização, sentado no grub, pressionando "e" para editar a inicialização padrão do Ubuntu, removendo toda a construção "if ... fi" e substituindo o UUID = da linha "linux" pelo / dev / sda1. Essa abordagem permitiu ao computador inicializar completamente.

No final, o problema acabou sendo um segundo disco rígido com falha, causando um atraso enorme na sequência de pesquisa do disco.

Alex North-Keys
fonte
0

Tentei todas as respostas, mas não consegui resolvê-lo, então finalmente tive que reinstalar o ubuntu :(.

Este mesmo erro também apareceu nos meus amigos, mas ele também não teve sorte.

crodjer
fonte
0

Corrigi isso sozinho editando o arquivo / etc / default / grub

GRUB_CMDLINE_LINUX=" rootdelay=3 "
GRUB_DISABLE_LINUX_UUID=true

Com apenas o primeiro, não foi suficiente. Eu até tentei um 130, como afirmado anteriormente. Então eu desabilitei o UUID com o segundo comando. De qualquer maneira, era uma partição raiz LVM, portanto, os dados UUID eram inúteis.

Francesc Guasch
fonte
0

No meu caso:

Os sistemas operacionais são instalados no ext4 com o Ubuntu 14.04

mas descobri quando instalo outra edição do ubuntu como 10.04 após o Ubuntu 10.04

Também compile o kernel do Ubuntu 10.04 e use o dpkg para instalá-lo.

o erro é exibido.

Finalmente, o problema está no grub.cfg.

Como o Ubuntu 10.04 padrão usa o ext2 para OS, o initramfs carrega o driver do ext2 e não o driver ext4 ...

Portanto, substitua ext2 por ext4 no grub.cfg para corrigi-lo.

jackend
fonte
0

Eu tenho o mesmo problema no ubuntu depois de horas pesquisando. Acabei de perceber que o grub tenta inicializar o sdb5 e meu kali está no sda5, então inicialize com o live cd e tente montar o seu linux os com o mkdir e o comando mount, se existir, tente consertar o grub por mantendo a mudança na carga e pressione ee mude o root dev e, se funcionar, torne-o permanente

user725770
fonte
0

Além de todas as outras respostas, tente ir para o menu grub (pressione SHIFT durante a inicialização para estar nas opções avançadas do Ubuntu) e selecione seu kernel de trabalho mais antigo. A configuração do grub deve ter sido atualizada após a instalação da versão mais recente do kernel.

Adit Ya
fonte
-3

Eu apenas fui para o modo de recuperação. E escolha algo que indique a atualização do grub no menu. corrija o problema.

zhankun
fonte
/ dev / disk por uuid não existe. Não vejo como a atualização do grub resolverá esse problema.
Elder Geek