initramfs falha após a atualização para o 13.04, não é possível atualizar o sistema com o apt-get / dpkg

2

Na outra noite, recebi a solicitação sugerindo que eu atualizasse de 12,10 para 13,04. Eu percebi porque não, e aceitei a atualização. Eu tive muito pouca interação, apenas cliquei no botão aceitar e voltei a uma máquina atualizada em uma hora ou mais.

O initramfs agora falha em cabeçalhos antigos do linux que eu não acredito que existam no meu sistema, e eu não consigo atualizar nada no meu sistema que dependa dele (ou seja, praticamente tudo, incluindo drivers gráficos, atualizações do sistema, etc. ). Estou tentando resolver esse problema há quase um mês e aprendi bastante sobre o Ubuntu / Linux no processo, embora ainda não tenha certeza do que fazer para superar o seguinte erro.

Sempre que eu executo comandos como:

sudo apt-get install  (with -f or not)
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get remove
sudo apt-get autoremove
sudo update-initramfs -u

Eu receberei as seguintes mensagens / erros e não poderei continuar o processo:

Setting up initramfs-tools (0.103ubuntu0.7) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.8.0-31-generic
Fatal: open /boot/vmlinuz-3.5.0-21-generic: No such file or directory
run-parts: /etc/initramfs/post-update.d//runlilo exited with return code 1
dpkg: error processing initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ambos sudo apt-get clean e sudo apt-get autoclean parecem não ter efeito. A utilização de sudo apt-get update parece ser executada conforme o esperado, mas nenhuma alteração até o recebimento do erro acima com comandos subsequentes.

A execução de sudo dpkg-reconfigure -a não fez diferença.

Eu aprendi que pode haver restos de '3.5.0-21-generic' no meu sistema. Eu fiz o meu melhor em localizá-los e movê-los para um diretório tmp em minha casa. Examinei meu /etc/apt/sources.list para quaisquer referências a esses cabeçalhos e não há nenhum.

Eu examinei o conteúdo de /var/lib/dpkg/info/linux-image-generic.list , que é o seguinte:

/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/linux-image-generic
/usr/share/doc/linux-image-generic/copyright
/usr/share/doc/linux-image-generic/changelog.gz

Eu verifiquei o conteúdo de todos esses locais, e não encontrei referências a nada com 3.5.0-21 , e na verdade pesquisando todo o meu sistema, os únicos arquivos com essa string no nome agora existem no meu novo diretório tmp que eu mudei tudo para dentro Também movi as referências para linux-image-3.5.0-21-generic.* e linux-image-extra-3.5.0-22-generic.* que estavam em /var/lib/dpkg/info para meu novo diretório tmp.

Parece-me que não há nenhum lugar onde vmlinuz-3.5.0-21-generic possa estar no meu sistema. Não consigo encontrar nenhum ao pesquisar todos os arquivos por qualquer coisa que contenha 3.5.0-21 . Ainda não consigo usar o initramfs, o que implica que não posso atualizar / atualizar meu sistema, instalar novos pacotes ou corrigir alguns outros problemas que surgiram quando atualizei para o 13.04.

O que segue é (algumas das) minhas saídas de:

$ sudo update-initramfs -u -v
Available versions:  3.8.0-31-generic 3.5.0-41-generic
Keeping /boot/initrd.img-3.8.0-31-generic.dpkg-bak
update-initramfs: Generating /boot/initrd.img-3.8.0-31-generic
Adding module /lib/modules/3.8.0-31-generic/kernel/drivers/hid/hid.ko
... (mostly adding/calling happening here, hundreds of lines of output, seems successful)
Calling hook busybox
Adding binary /usr/lib/initramfs-tools/bin/busybox
Calling hook dmsetup
Adding binary /sbin/dmsetup
Adding library /lib/i386-linux-gnu/libdevmapper.so.1.02.1
rm -f ./etc/ld.so.conf.d/nvidia_settings.conf 
rm -f ./lib/firmware/cxgb4/t4fw.bin 
Building cpio /boot/initrd.img-3.8.0-31-generic.new initramfs
Fatal: open /boot/vmlinuz-3.5.0-21-generic: No such file or directory
run-parts: /etc/initramfs/post-update.d//runlilo exited with return code 1

Alguém poderia me ajudar a entender esse problema e como posso aliviá-lo? O que posso fazer para superar isso? Eu realmente não quero recorrer a reinstalar completamente o meu sistema, existe alguma outra maneira de corrigir isso?

    
por Todd 08.10.2013 / 05:55

1 resposta

0

Corrigi o problema e agora posso atualizar meu sistema normalmente. No entanto, ainda não entendi como esse problema começou.

De qualquer forma, eu fui em frente e instalei o primeiro kernel faltando listado, 3.5.0-21. Desde então, editei esse aspecto da questão, mas depois de instalar o 3.5.0-21, o initramfs começou a se queixar de 3.5.0-17. Por isso, decidi que me envolvia nessa questão e permitia que ela consumisse muito do meu tempo, fizesse backup de todos os meus dados e me preparasse para o pior, mas esperava o melhor.

Eu descobri como baixar kernel / headers antigos / preteridos procurando por eles em packages.ubuntu.com. Em seguida, editei meu arquivo /etc/apt/sources.list para permitir que as versões candidatas associadas a essas duas imagens linux fossem baixadas. Eu então corri 'sudo apt-get update' para atualizar as fontes. Então eu consegui rodar o 'sudo apt-get download do linux-image3.5.0 - ## - generic' e instalei ambos os pacotes com sucesso.

Depois disso, todos os meus comandos do apt-get continuaram a funcionar, consegui obter as atualizações mais recentes para o 13.04 instaladas e também todos os outros softwares do usuário atualizados.

Depois do reinício, meu mouse e teclado não estavam mais respondendo! Meu menu grub desapareceu! Eu não consegui me conectar, ou fazer qualquer coisa realmente. Do meu computador windows, eu baixei uma imagem 13.10, criei um disco de boot ubuntu usb flash e salvei grub após inicializar a partir deste volume flash. Depois de resgatar o grub, consegui inicializar no modo de recuperação e consertar todos os pacotes ruins ou o que aconteceu. Depois de reiniciar em minha máquina, eu poderia logar com mouse e teclado completos. Agora meu sistema parece estável e estou pasmo com a experiência de aprendizado.

    
por Todd 26.10.2013 / 22:16