Kernel Panic On Booting

3

Eu estava tentando reparar meu GRUB depois de instalar o Windows no Ubuntu. Mas eu não consegui repará-lo e fiz esta pergunta . Enquanto conversávamos com psusi , notamos algo. Meu sistema instalado é 64Bit, mas meus arquivos de biblioteca são de 32 bits (por exemplo: libdevmapper.so.1.02.1 ).

( Você pode verificar a etapa 13 para minha pergunta. E verificar outras etapas para ver quais etapas eu segui. )

  1. Meu antigo Ubuntu foi instalado em /dev/sda3 . Eu montei para /mnt/ubusda3
  2. root@ubuntu:/home/ubuntu# file /mnt/ubusda3/sbin/init /mnt/ubusda3/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
  3. root@ubuntu:/home/ubuntu# file /mnt/ubusda3/lib/libdevmapper.so.1.02.1 /mnt/ubusda3/lib/libdevmapper.so.1.02.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
  4. sudo dpkg --root=/mnt/ubusda3 -i /mnt/ubusda3/var/cache/apt/archives/libbz2-1.0_1.0.5-6ubuntu1.11.10.1_amd64.deb
  5. chroot /mnt/ubusda3
  6. apt-get install --reinstall libdevmapper1.02.1
  7. E mais uma vez eu tentei update-grub eu tenho mapdevfs: error while loading shared libraries: libdebian-installer.so.4: cannot open shared object file: No such file or directory erro.
  8. reiniciei meu sistema, mas nada mudou.
  9. eu encontrei o mapdevfs no comando /bin/mapdevfs with which mapdevfs .
  10. sudo rm /bin/mapdevfs
  11. for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt/ubusda3$i"; done
  12. grub-install /dev/sda
  13. Finalmente eu corrijo meu problema no GRUB. Agora há um menu do GRUB durante a inicialização. Tela Anterior de Versões do Linux (e pós)

Mas quando eu escolho Ubuntu 3.0.0.17-generic , está congelando na tela de carregamento e estou recebendo este erro: ( Scroll Lock e Num Lock piscando.)

Quando eu escolho outras versões do kernel, que estão em versões anteriores do Ubuntu , estou recebendo este erro para ambos.

Nota 1 (para John irracional)

ubuntu@ubuntu:~$ sudo su
root@ubuntu:/home/ubuntu# mkdir /mnt/ubusda3
root@ubuntu:/home/ubuntu# mount /dev/sda3 /mnt/ubusda3
root@ubuntu:/home/ubuntu# for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt/ubusda3$i"; done
root@ubuntu:/home/ubuntu# chroot /mnt/ubusda3/
root@ubuntu:/# apt-get -V --reinstall install libnih
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libnih

e, em seguida, notei que é libnih1 não linbih ( link )

root@ubuntu:/# apt-get -V --reinstall install libnih1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
   winbind (3.5.11~dfsg-1ubuntu2.2)
The following packages will be upgraded:
   winbind (3.5.11~dfsg-1ubuntu2.1 => 3.5.11~dfsg-1ubuntu2.2)
1 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
6 not fully installed or removed.
Need to get 54.7 kB/5,693 kB of archives.
After this operation, 32.8 kB disk space will be freed.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
  libnih1
Install these packages without verification [y/N]? y
Get:1 http://tr.archive.ubuntu.com/ubuntu/ oneiric/main libnih1 amd64 1.0.3-4ubuntu2 [54.7 kB]
Fetched 54.7 kB in 0s (57.1 kB/s)  
Can not write log, openpty() failed (/dev/pts not mounted?)
(Reading database ... 196784 files and directories currently installed.)
Preparing to replace winbind 2:3.5.11~dfsg-1ubuntu2.1 (using .../winbind_2%3a3.5.11~dfsg-1ubuntu2.2_amd64.deb) ...
/sbin/runlevel: error while loading shared libraries: libnih.so.1: wrong ELF class: ELFCLASS32
 * Stopping the Winbind daemon winbind
   ...done.
Unpacking replacement winbind ...
Preparing to replace libnih1 1.0.3-4ubuntu2 (using .../libnih1_1.0.3-4ubuntu2_amd64.deb) ...
Unpacking replacement libnih1 ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Can not write log, openpty() failed (/dev/pts not mounted?)
Setting up libwbclient0 (2:3.5.11~dfsg-1ubuntu2.2) ...
Setting up samba-common (2:3.5.11~dfsg-1ubuntu2.2) ...
Setting up winbind (2:3.5.11~dfsg-1ubuntu2.2) ...
 * Starting the Winbind daemon winbind
/usr/sbin/winbindd: error while loading shared libraries: libcap.so.2: wrong ELF class: ELFCLASS32
   ...fail!
invoke-rc.d: initscript winbind, action "start" failed.
dpkg: error processing winbind (--configure):
 subprocess installed post-installation script returned error exit status 127
Setting up libsmbclient (2:3.5.11~dfsg-1ubuntu2.2) ...
Setting up samba-common-bin (2:3.5.11~dfsg-1ubuntu2.2) ...
Setting up smbclient (2:3.5.11~dfsg-1ubuntu2.2) ...
Setting up libnih1 (1.0.3-4ubuntu2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 winbind
E: Sub-process /usr/bin/dpkg returned an error code (1)

Desta vez, estou recebendo o mesmo erro de inicialização para o arquivo libnih-dbus.so.... .

Também para encontrar outros arquivos de 32 bits, executei seus comandos e vi todos os arquivos em /mnt/ubusda3/lib/modules/3.0.0-12-generic/ e /mnt/ubusda3/bin 32 bits .

É possível reinstalar arquivos inteiros do kernel?

    
por Eray 21.04.2012 / 15:12

5 respostas

4

OK, tentei todas as respostas, tudo. Mas não consegui resolver meu problema. E finalmente, eu reinstalei meu Ubuntu.

    
por Eray 13.05.2012 / 00:00
2

Você consegue inicializar sua instalação atual com qualquer dos kernels instalados em seu sistema?

Olhando para o seu bate-papo com psusi há uma mensagem com um link para boot -repair paste 938724 . Ele mostra que você criou um menu do GRUB com entradas para

'Ubuntu, with Linux 3.0.0-17-generic'
'Ubuntu, with Linux 3.0.0-17-generic (recovery mode)' 
'Ubuntu, with Linux 3.0.0-16-generic'
'Ubuntu, with Linux 3.0.0-16-generic (recovery mode)' 
'Ubuntu, with Linux 3.0.0-12-generic' 
'Ubuntu, with Linux 3.0.0-12-generic (recovery mode)' 

Já experimentou todos eles e todos eles falham da mesma maneira? Eu só estou querendo saber se um deles permite que você inicialize com sucesso, então talvez você possa recuperar, limpando / desinstalando um kernel que falha e, em seguida, reinstalá-lo.

24 de abril

De acordo com a pasta de reparo de inicialização 938724 , update-grub encontrou essas entradas na sua% pasta co_de% quando sondou. Pelo menos é isso que o boot-repair encontrou em /boot .

O que você vê no menu do GRUB quando inicializa? Isso se assemelha ao seguinte?

Ubuntu, with Linux 3.0.0-17-generic
Ubuntu, with Linux 3.0.0-17-generic (recovery mode)
Previous Linux versions
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows 7 (loader) (on /dev/sda4)

(Se você não obtiver um menu GRUB quando inicializar, tente pressionar / manter pressionada a tecla shift quando o processo de inicialização começar a mostrar o menu.)

Se você vir um menu do GRUB com a entrada sda3/boot/grub/grub.cfg , tente selecionar essa entrada e pressionando enter . Você deve ver outro menu com entradas para os kernels Previous Linux versions e 3.0.0-16 . Veja o que acontece quando você inicializa-os.

26 de abril

Curioso e curioso . OK, então 3.0.0-12 em vez de 64 novamente. Não sabendo mais o que fazer, sugiro que você siga o procedimento pelo qual passou durante o conversar com psusi .

  1. Inicialize um Live CD / USB para o Ubuntu 11.10 de 64 bits (AMD64).
  2. Monte e depois ELFCLASS32 em sua instalação do Ubuntu quebrada em chroot . Em seguida, execute /dev/sda3 para reinstalar a versão correta de 64 bits de apt-get .
    # mount /dev/sda3 as /mnt/ubu2fix
    mkdir /mnt/ubu2fix
    sudo mount /dev/sda3 /mnt/ubu2fix

    # chroot so that '/mnt/ubu2fix' becomes '/' for command processing
    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt/ubu2fix/$i"; done
    sudo chroot /mnt/ubu2fix

    # reinstall the package which contains libnih1.so.1.0.0 (aka libnih1.so.1)
    apt-get -V --reinstall install libnih1 

No entanto, antes de executar o libnih.so.1 , primeiro você pode tentar descobrir quantos arquivos outros chroot podem estar presentes e (potencialmente ) requer fixação. Eu acho que os comandos abaixo farão isso.

Os comandos abaixo executam o comando ELFCLASS32 em todos os arquivos nos diretórios file , /bin , /sbin e /lib em sua instalação do Ubuntu em /lib64 . O /dev/sda3 restringe a saída para executáveis de 32 bits.

Se tudo estiver correto, esses comandos devem produzir a saída ** NO . ** Todos os arquivos listados quando você executa esses comandos são de 32 bits quando deveriam ser de 64 bits. Eles (provavelmente) precisarão ser reinstalados para que seu sistema funcione corretamente.

sudo find /mnt/ubu2fix/bin  -type f -exec file '{}' \; | grep 32-bit
sudo find /mnt/ubu2fix/sbin  -type f -exec file '{}' \; | grep 32-bit
sudo find /mnt/ubu2fix/lib  -type f -exec file '{}' \; | grep 32-bit
sudo find /mnt/ubu2fix/lib64  -type f -exec file '{}' \; | grep 32-bit

Execute os comandos acima de após montar grep como /dev/sda3 , mas antes de executar o /mnt/ubu2fix . (Ou execute-os em um terminal diferente que esteja fora do chroot .)

29 de abril

Eu peguei sua nota 1 .

Desculpe por não notar antes o seu comentário que você " todos os arquivos em chroot e /mnt/ubusda3/lib/modules/3.0.0-12-generic/ são 32 bits. "
Eu certamente não esperava que fosse esse o caso.

" É possível reinstalar arquivos inteiros do kernel? "

Não tenho certeza do que você está perguntando. (Mas mesmo se eu soubesse, não tenho certeza se saberia como fazê-lo. Desculpe.)

01 de maio - Considere uma instalação de atualização de 11,10 a 11,10


Anteriormente, quando eu lia o comentário do @Alvar que sugeria fazer uma instalação para recuperar o seu sistema, presumi que isso implicava a destruição de sua configuração atual, então ignorei-a. Agora eu não tenho tanta certeza.

Acontece que em uma situação como a sua, onde o Ubuntu e o Windows estão instalados em diferentes partições no mesmo disco rígido, o instalador do Ubuntu perguntará que tipo de instalação você deseja fazer, conforme mostrado na imagem abaixo.



Eu tentei fazer uma upgrade install de 11.10 para 11.10 em uma VM VirtualBox para ter uma idéia melhor do que ela faz. Parece funcionar como afirma. Eu tenho alguns avisos que listei abaixo.

Não posso oferecer nenhum conselho sobre a reinstalação ou não de algo que você deve fazer. Não conheço sua situação ou quais recursos você tem ou não tem à mão.

Algumas ressalvas:

  1. Você deve ter o cuidado de inserir seu atual quando a instalação solicitar. Se você digitar um ID de usuário diferente, o antigo será excluído. Você não conseguirá fazer login com ele. Isso é descrito em mais detalhes nesta questão: Como posso restaurar um nome de usuário excluído usando sua antiga pasta inicial?
  2. Se você escolher /mnt/ubusda3/bin , a instalação aparentemente executará o equivalente a Download updates while installing . Eu tinha 8 upgrades pendentes antes da instalação da atualização. Após a conclusão, houve 0 atualizações pendentes e um novo kernel, 3.0.0-19-generic, foi instalado.
  3. O Firefox parecia bem. Minhas senhas, histórico e favoritos parecem ter sido preservados. A parte do aplicativo do meu navegador Google Chrome foi excluída, mas os dados do usuário dela não foram. Então, depois de reinstalar o Chrome, minhas configurações, favoritos etc. também funcionaram corretamente no Chrome.
  4. Embora tudo pareça funcionar bem, o mais seguro é, como sempre, fazer backup de seus dados na partição do Ubuntu antes de iniciar a instalação. Você é a única pessoa que sabe o quanto seus dados são valiosos ou não para você. Então você é a única pessoa que sabe quais riscos você está disposto a aceitar ou não.
por irrational John 24.04.2012 / 07:19
1

Você precisa experimentar a distro "Ubuntu Rescue Remix" e inicializar como ao vivo a partir do cd / usb, pode usar um aplicativo para reparar o Grub ou detectar outro SO.

It is very easy to use, I working great for me.

Pode obter o iso do Rescue aqui:

por deenbee 30.04.2012 / 03:17
0

Tente inicializar a partir de um CD interativo e monte o dispositivo necessário. Copiar

  

~ / mozilla / firefox / xxxxxxx.default

para um pendrive, reinstale o Ubuntu e copie o diretório do mozilla para sua biblioteca inicial. Desculpe, meu inglês é horrível. ; -)

    
por andacsi 23.04.2012 / 15:34
0

Eu enfrentei esse problema quando mudei minha configuração de BIOS . Se você mudou sua configuração de BIOS ou mesmo se não apenas redefinir BIOS para padrão e reverter sobre o resultado.

    
por Ravi Ranjan 29.04.2012 / 07:09

Tags