direto para o grub prompt no boot [closed]

1

Estou muito perdida. Eu fiz uma nova instalação do Ubuntu 10.04 em um laptop. Primeira reinicialização foi bem. Eu corri todos os upgrades recomendados, e agora toda vez que eu começo eu recebo apenas um

grub>_

prompt. Nenhuma mensagem de erro, apenas o prompt, e um pequeno banner no topo dizendo a versão do grub e me dizendo que tenho uma edição mínima do estilo bash. Eu tentei:

1) Reinstalando o grub via

sudo grub-install sda

(Existe apenas um disco com apenas duas partições, uma primária e outra para swap)

2) Alterado

GRUB_HIDDEN_TIMEOUT=10
GRUB_TIMEOUT=30
GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=90"
GRUB_CMDLINE_LINUX="rootdelay=90"

em / etc / default / grub. Sem sorte. Eu posso inicializar com o seguinte:

grub> set root=(hd0,1)
grub> probe (hd0,1) -u
c00fadde-f7e8-45e7-a4da-0235605f756
grub> linux /boot/vmlinuz-2.6.32-21-generic root=UUID=c00fadde-f7e8-45e7-a4da-0235605f756 rootdelay=90
grub> initrd /boot/initrd.img-2.6.32-21-generic
grub> boot

E então tudo parece estar bem a partir daí. No prompt do grub, se eu tentar

configfile /boot/grub/grub.cfg 

A tela é limpa e recebo outro grub > prompt.

Então, sério, qual poderia ser o problema?

editar:

Texto completo do /boot/grub/grub.cfg

#
# 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,1)'
search --no-floppy --fs-uuid --set c00fadde-f7e8-45e7-a4da-0235c605f756
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,1)'
search --no-floppy --fs-uuid --set c00fadde-f7e8-45e7-a4da-0235c605f756
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=30
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, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set c00fadde-f7e8-45e7-a4da-0235c605f756
    linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=c00fadde-f7e8-45e7-a4da-0235c605f756 ro rootdelay=90  rootdelay=90
    initrd  /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set c00fadde-f7e8-45e7-a4da-0235c605f756
    echo    'Loading Linux 2.6.32-21-generic ...'
    linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=c00fadde-f7e8-45e7-a4da-0235c605f756 ro single rootdelay=90
    echo    'Loading initial ramdisk ...'
    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,1)'
    search --no-floppy --fs-uuid --set c00fadde-f7e8-45e7-a4da-0235c605f756
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set c00fadde-f7e8-45e7-a4da-0235c605f756
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ ${timeout} != -1 ]; then
  if sleep --verbose --interruptible 10 ; then
    set timeout=0
  fi
fi
### 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 ###

saída do update-grub

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-21-generic
Found initrd image: /boot/initrd.img-2.6.32-21-generic
Found memtest86+ image: /boot/memtest86+.bin
done

conteúdo de / boot

total 14280
-rw-r--r-- 1 root root  640617 2010-04-16 09:01 abi-2.6.32-21-generic
-rw-r--r-- 1 root root  115847 2010-04-16 09:01 config-2.6.32-21-generic
drwxr-xr-x 3 root root    4096 2010-09-08 02:42 grub
-rw-r--r-- 1 root root 7968754 2010-09-02 01:49 initrd.img-2.6.32-21-generic
-rw-r--r-- 1 root root  160280 2010-03-23 05:37 memtest86+.bin
-rw-r--r-- 1 root root 1687378 2010-04-16 09:01 System.map-2.6.32-21-generic
-rw-r--r-- 1 root root    1196 2010-04-16 09:03 vmcoreinfo-2.6.32-21-generic
-rw-r--r-- 1 root root 4029792 2010-04-16 09:01 vmlinuz-2.6.32-21-generic
    
por cheshirekow 07.09.2010 / 05:48

2 respostas

2

Então eu tenho o Ubuntu 9.04, talvez isso esteja perto o suficiente para comparar.

As linhas em /boot/grub/menu.lst são

title           Ubuntu 9.04, kernel 2.6.28-16-server

uuid            a0ebaed5-072b-4591-9967-bcf4b5f9a507

kernel          /boot/vmlinuz-2.6.28-16-server root=UUID=a0ebaed5-072b-4591-9967-bcf4b5f9a507 ro quiet splash

initrd          /boot/initrd.img-2.6.28-16-server

Você tem linhas neste arquivo para apontar para a imagem? Eles apontam para a imagem correta?

    
por 07.09.2010 / 06:43
1

Resposta mais plausível considerando os dados iniciais:

Seu /boot/grub/grub.cfg está danificado. Ele é gerado pelo comando update-grub , portanto, primeiro tente executar este comando. Observe que você deve executar novamente update-grub toda vez que modificar /etc/default/grub , conforme indicado por um comentário na parte superior do arquivo. Você deve reexecutar update-grub toda vez que instalar, atualizar ou remover um kernel também, mas os pacotes do Ubuntu cuidarão disso para você.

Se a execução de update-grub não resolver o problema, edite sua pergunta para adicionar: o conteúdo de /boot/grub/grub.cfg ; a saída completa de update-grub no terminal; a saída de ls -l /boot .

EDITAR : tentei o postado grub.cfg em uma configuração semelhante e funcionou. Então esse não é o problema.

Disparo muito selvagem: pode haver um caractere não-imprimível em grub.cfg (copiado de /etc/default/grub pelos scripts)? O seguinte comando deve produzir nada:

<cheshirekow.grub.cfg tr '\t' ' ' | LC_ALL=C grep '[^ -~]' | cat -A
    
por 07.09.2010 / 08:37