web-dev-qa-db-ja.com

起動時にプロンプ​​トを直接取得

私はとても迷っています。ラップトップにUbuntu10.04を新規インストールしました。最初の再起動は問題ありませんでした。推奨されるすべてのアップグレードを実行しましたが、開始するたびに、

grub>_

促す。エラーメッセージは表示されず、プロンプトのみが表示され、上部にgrubのバージョンを示し、bashスタイルの編集が最小限であることを示す小さなバナーが表示されます。私はもう試した:

1)経由でgrubを再インストールする

Sudo grub-install sda

(ディスクは1つだけで、パーティションは2つだけで、1つはプライマリ、もう1つはスワップ用です)

2)変更

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

/ etc/default/grubにあります。運がない。 I can次のように起動します。

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

そして、そこからすべてがうまくいくようです。 grubプロンプトから試してみると

configfile /boot/grub/grub.cfg 

画面がクリアされ、別のgrub> Promptが表示されます。

それで、真剣に、問題は何である可能性がありますか?

編集:

/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 ###

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

/ 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
1
cheshirekow

だから私はUbuntu9.04を持っています、おそらくそれは比較するのに十分近いでしょう。

/boot/grub/menu.lstの行は

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

このファイルに画像を指す行がありますか?彼らは正しい画像を指していますか?

2
Beel

初期データを考慮した最も妥当な答え:

/boot/grub/grub.cfgが破損しています。 update-grubコマンドによって生成されるため、最初にこのコマンドを実行してみてください。ファイルの先頭にあるコメントで示されているように、update-grubを変更するたびに/etc/default/grubを再実行する必要があることに注意してください。カーネルをインストール、アップグレード、または削除するたびにupdate-grubを再実行する必要がありますが、Ubuntuパッケージがそれを処理します。

update-grubを実行しても問題が解決しない場合は、質問を編集して次を追加します。/boot/grub/grub.cfgの内容;端末でのupdate-grubの完全な出力。 ls -l /bootの出力。

[〜#〜] edit [〜#〜]:投稿されたgrub.cfgを同様の構成で試しましたが、機能しました。だからそれは問題ではありません。


非常にワイルドなショット:grub.cfg(スクリプトによって/etc/default/grubからコピーされた)に印刷できない文字が含まれている可能性がありますか?次のコマンドは何も出力しません。

<cheshirekow.grub.cfg tr '\t' ' ' | LC_ALL=C grep '[^ -~]' | cat -A