O Grub não inicializa mais após a atualização do kernel (segunda vez agora)

2

Algumas semanas atrás, configurei um laptop de inicialização dupla para executar o Xubuntu 10.4 na terceira partição do meu disco (ou seja, tive que definir o local de instalação manualmente). Tudo estava bem até eu ter instalado o monte de atualizações automáticas (incluindo um novo kernel), que foram descobertas depois que o Wifi finalmente estava funcionando. Após a reinicialização, o Grub não inicializou mais no Xubuntu (o que ele fez várias vezes antes), mas apenas mostrou um prompt. Consegui consertar o sistema usando um live CD e uma boa hora de leitura na Internet.

Durante algumas semanas tudo correu bem, incluindo atualizações automáticas. Ontem recebi um novo kernel através de atualizações automáticas. E adivinha? O laptop se recusou a inicializar depois.

Para mim, parece que toda atualização do kernel torna meu sistema não inicializável. Como posso evitar isso além do óbvio "Não instalar atualizações"? Há mais alguma coisa que eu deva inspecionar ou monitorar nesse sistema? Ou minhas conclusões sobre a atualização do kernel estão completamente erradas e eu deveria procurar algo mais que cause esses sintomas?

EDIT: Alguns detalhes mais como solicitado nos comentários: Eu não iniciei o Windows entre a atualização e o travamento, então, para mim, parece estar relacionado apenas ao Xubuntu. O Grub é Grub2 (versão 1.98algo). /boot/grub/grub.cfg tem esta aparência:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
set locale_dir=($root)/boot/grub/locale
set lang=de
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, mit Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,5)'
    search --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    linux   /boot/vmlinuz-2.6.32-24-generic root=UUID=c1550ae8-66af-414c-874d-15cb43176ba5 ro   quiet splash
    initrd  /boot/initrd.img-2.6.32-24-generic
}
menuentry 'Ubuntu, mit Linux 2.6.32-24-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,5)'
    search --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    echo    'Linux 2.6.32-24-generic wird geladen …'
    linux   /boot/vmlinuz-2.6.32-24-generic root=UUID=c1550ae8-66af-414c-874d-15cb43176ba5 ro single 
    echo    'Initiale Ramdisk wird geladen …'
    initrd  /boot/initrd.img-2.6.32-24-generic
}
menuentry 'Ubuntu, mit Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,5)'
    search --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=c1550ae8-66af-414c-874d-15cb43176ba5 ro   quiet splash
    initrd  /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, mit Linux 2.6.32-21-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,5)'
    search --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    echo    'Linux 2.6.32-21-generic wird geladen …'
    linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=c1550ae8-66af-414c-874d-15cb43176ba5 ro single 
    echo    'Initiale Ramdisk wird geladen …'
    initrd  /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd0,5)'
    search --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd0,5)'
    search --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set 883cb1b73cb1a09c
    drivemap -s (hd0) ${root}
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
    
por Bananeweizen 02.09.2010 / 18:30

3 respostas

0

Sempre que um novo kernel é adicionado como parte da atualização de software, a configuração do grub é atualizada. Portanto, a informação que Javier Rivera solicitou é muito importante. O arquivo de configuração relevante é /boot/grub/grub.cfg - caso você não o encontre, procure por /boot/grub/menu.lst

Além disso, você pode executar update-grub e verificar se você recebe algum erro - pls postar o resultado disso também. Se, no entanto, update-grub for bem-sucedido, uma solução alternativa seria executar manualmente toda vez que suas atualizações incluírem um novo kernel.

    
por koushik 03.09.2010 / 16:14
2

Isso aconteceu em uma nova instalação do Ubuntu 12.10 (desktop) em um laptop. O sistema inicializou bem após a instalação inicial, e depois de obter uma atualização do kernel (do conjunto inicial de atualizações), ele passaria pelo menu GRUB, inicializaria o kernel e depois uma tela preta, sem nenhum prompt de frase secreta.

Parece que o problema está relacionado ao vídeo. O que eu encontrei consistentemente corrige, mas é menos bonito, é editar / etc / default / grub, e remover as opções quiet e splash de GRUB_CMDLINE_LINUX_DEFAULT , e executar update-grub . Se você já não puder inicializar, quando o menu GRUB aparecer, pressione E para editar sua linha de comando do GRUB e remover essas opções, então ctrl-X para inicializar.

Esse bug sugere a tentativa de plymouth:force-drm como uma opção de inicialização do GRUB, o que torna ele não usa o driver framebuffer do kernel. Isso também pareceu funcionar, exceto que ele ainda não usava a tela inicial e inicializava no modo de texto.

Por que vale a pena, meu laptop tem dois chipsets gráficos: Intel (usando o driver de kernel i915) e Nvidia GTX680M (ainda trabalhando para acelerar esse trabalho). Pode ser que a presença de dois dispositivos gráficos diferentes esteja tornando a inicialização não determinística.

    
por farcepest 26.03.2013 / 20:33
1

O grub não inicializa, significa que a configuração está corrompida ou que seu código foi sobrescrito.

Existem razões possíveis para isso:

  • O software do Windows substitui o espaço oculto (aleatório) no disco rígido. Eles fazem isso por razões de DRM. No entanto, presumo que o problema surja imediatamente após a atualização do kernel e, em seguida, reinicie, por isso, provavelmente, não é isso.

  • você não tem nenhum espaço livre na sua partição do ubuntu (ou pelo menos o que está segurando o grub). Certifique-se de fazer. Eu estou colocando meu dinheiro neste, por enquanto.

  • O auto do grub se reconfigura toda vez que você instala um novo kernel. Tente reconfigurá-lo manualmente e ver se há alguma saída de erro. Execute 'sudo update-grub' em um terminal para fazer isso. Você terá que digitar sua senha e deve produzir algumas coisas.

  • você diz que é a terceira partição do seu disco; é um disco removível? Como um disco rígido externo ou um disco rígido interno? Porque nesse caso a numeração do dispositivo pode ser diferente do tempo de instalação.

por Ralf 04.09.2010 / 14:17