Система не загрузится без USB-накопителя
У меня была эта проблема раньше, когда я пробовал Linux Mint, но я не смог получить какую-либо помощь. Тогда меня заставили поверить, что это была проблема, связанная с мятой, а не личинкой.
Сегодня вечером я установил 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> Жесткий диск>USB. Он даже не доходит до USB, чтобы попытаться загрузиться с него, так почему же важно, что его там нет?
Редактировать: Кроме того, я запустил 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 ###
2 ответа
Ваша проблема, кажется, 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.
Ваш загрузчик, похоже, указывает на адрес, где находился ваш накопитель в USD во время установки.
Я имел дело с этим в прошлом, и смог решить проблему с помощью:
Boot-Repair - это простой инструмент для устранения частых проблем с загрузкой, с которыми вы можете столкнуться в Ubuntu, например, когда вы не можете загрузить Ubuntu после установки Windows или другого дистрибутива Linux, или когда вы не можете загрузить Windows после установки Ubuntu, или когда GRUB не загружен. отображается больше, некоторые обновления ломаются GRUB и т. д.
Другой метод, который я использовал для исправления ситуаций такого типа, был с помощью Super Grub2 Disk, чтобы я мог загрузиться внутри раздела Linux, а затем использовал административные инструменты для исправления моего загрузчика:
Основная цель Super GRUB2 Disk - помочь вам загрузиться в ОС, чей загрузчик не работает.