Система не загружается без вставленного USB-накопителя [дубликат]

У меня уже была эта проблема, когда я пробовал Linux Mint, но мне не удалось получить помощь. Тогда меня заставили поверить, что это проблема, связанная с Mint, а не с grub.

Сегодня вечером я установил Ubuntu 12.04 на второй раздел рядом с Windows 7. Я установил с USB-накопителя, и все шло как нельзя лучше, пока я не перезагрузился без флешки в моей башне.Теперь он говорит:

error: no such device: 20cec6ca-4024-4237-84c3-2dba3c851497
grub rescue >

Я проверил с помощью ls -l / dev / disk / by-uuid , что мой диск, на котором установлена ​​Ubuntu, соответствует UUID, который предположительно не существует. UUID моего флеш-накопителя при вставке оказался 06B3-9C68.

UUID моего USB-накопителя нигде в /boot/grub/grub.cfg

не упоминается. Я также пытался переустановить GRUB после загрузки в мою систему, удаления флешки и запуска grub-install / dev / sda . Это все еще происходит, и я не могу загрузиться без USB-накопителя, вставленного в компьютер. И что меня действительно беспокоит, так это то, что моя система загружается в следующем порядке: CDROM> Hard Drive> USB. Он даже не достигает USB, чтобы попытаться загрузиться с него, так почему это имеет значение, что его там нет?

Edit: Кроме того, я запустил grub-config без флешки, а затем еще одну grub-install. По-прежнему никуда.

FWIW, вот мой файл grub.cfg:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by 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
  set have_grubenv=true
  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
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd1,msdos5)'
  search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
  set locale_dir=($root)/boot/grub/locale
  set lang=en_CA
  insmod gettext
fi
terminal_output gfxterm
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
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="$1"
    if [ "$1" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
    set linux_gfx_mode=keep
      else
    set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.2.0-25-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    linux   /boot/vmlinuz-3.2.0-25-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-25-generic-pae
}
menuentry 'Ubuntu, with Linux 3.2.0-25-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    echo    'Loading Linux 3.2.0-25-generic-pae ...'
    linux   /boot/vmlinuz-3.2.0-25-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-25-generic-pae
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    linux   /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-23-generic-pae
}
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    echo    'Loading Linux 3.2.0-23-generic-pae ...'
    linux   /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-23-generic-pae
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos5)'
    search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 9014706714705268
    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 ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
1
задан 23 June 2012 в 06:35

2 ответа

Ваш загрузчик, похоже, указывает на адрес, на котором находился ваш накопитель в USD во время установки.

Мне приходилось сталкиваться с этим в прошлом, и я смог решить проблему с помощью:

Boot-Repair

Boot -Repair - это простой инструмент для устранения частых проблем с загрузкой, с которыми вы можете столкнуться в Ubuntu, например, когда вы не можете загрузить Ubuntu после установки Windows или другого дистрибутива Linux, или когда вы не можете загрузить Windows после установки Ubuntu, или когда GRUB не отображается больше, некоторые обновления ломают GRUB и т. д.


Другой метод, который я использовал для исправления ситуаций такого типа, заключался в использовании диска Super Grub2, позволяющего загружаться внутри раздела Linux, а затем с помощью административных инструментов для исправления моей загрузки. загрузчик:

Super Grub2 Disk

Основная цель Super GRUB2 Disk - помочь вам загрузиться в ОС, чей загрузчик не работает.

0
ответ дан 23 June 2012 в 06:35

Похоже, вашей проблемой является hd1, который появляется в вашем grub.cfg. Для системы с одним диском я бы ожидал, что это будет hd0. Предполагая, что ваши UUID верны, загрузитесь с флешки, измените разрешения на /boot/grub/grub.cfg, чтобы включить w (sudo chmod + w grub.cfg), отредактируйте файл (sudo vi grub.cfg) и изменяйте каждый от hd1 до hd0. сохраните его, выключите, удалите флешку и перезагрузите компьютер. В меню grub вы можете проверить доступные диски - введите c для командной строки grub, затем введите «set root =» и вкладку для автозаполнения. Будет предложено несколько вариантов, если они доступны, но если доступен только hd0, он будет заполнен как «set root = hd0», другая вкладка предложит варианты разделов, которые должны включать те, которые вы хотите. Возможно, исправление редактирования hd1 в hd0 будет работать непосредственно из меню grub, введите e для редактирования и измените hd1 s, затем F10 (или ctrl X) для перезагрузки. Если это работает, исправьте ситуацию с помощью sudo update-grub.

0
ответ дан 23 June 2012 в 06:35

Другие вопросы по тегам:

Похожие вопросы: