Я совершил глупость... Я забыл, что Ubuntu 10.04 (Lucid Lynx) переключился на выкапывать 2, который помещает тонну файлов *.mod (модулей ядра) в /boot/grub>. Я подумал, что это файлы саундтреков, помещенные туда по ошибке, и переместил их. Излишне говорить, что следующая перезагрузка была травматичной. Мне было представлено нечто такое, чего я не помнил, чтобы когда-либо видел... подсказка "спасение личинки".
Я обнаружил, что GRUB rescue не имеет 'cd', 'cp' или каких-либо других команд файловой системы, кроме своей собственной вариации 'ls'.
Итак, сначала я должен был найти раздел с /boot каталог, содержащий vmlinuz файл и другие файлы загрузочного образа... (аппроксимация из памяти неудачных попыток, а также пустые строки для ясности, добавленные 2014-07-10 docsalvage)
grub rescue> ls (hd0,4) (hd0,3) (hd0,2) (hd0,1) grub rescue> ls (hd0,4)/boot... some kind of 'not found' messagegrub rescue> ls (hd0,3)/boot... some kind of 'not found' messagegrub rescue> ls (hd0,2)/boot... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic
Я нашел /boot каталог, содержащий vmlinuz файл vmlinuz-2.6.32-33-generic на перегородке (hd0,2).
>Затем я вручную загрузился из командной строки "grub rescue". Следующие команды будут...
Установите root чтобы использовать /boot каталог на разделе (hd0,2).
Загрузить модуль ядра linux.
Настройте этот модуль на использование образа ядра vmlinuz-2.6.32-33-generic.
Установите initrd(инициализировать RAM-диск) для использования образа initrd.img-2.6.32-33-generic.
Загрузите Linux.
grub rescue> set root=(hd0,2)/boot grub rescue> insmod linux grub rescue> linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic root=/dev/sda2grub rescue> initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic grub rescue> boot
Это загружается и приводит к сбою в командной строке BusyBox, в которой есть некоторые элементарные команды файловой системы.
Затем я переместил файлы *.mod обратно в /boot/grub каталог...
busybox> cd /boot busybox> mv mod/* grubbusybox> reboot
Перезагрузка прошла успешно, но это была большая работа.
Вот несколько общих и основных инструкций, которые помогут при ошибках загрузки, таких как GRUB loading stage 1.5 error 15 (например, после установки Windows на другой дисковод) :
Загрузитесь с помощью LiveDVD (например, с настольного диска Ubuntu).
Откройте терминал и перепишите конфигурацию grub, используя следующие команды:
sudo mount /dev/sdXY /mnt
sudo grub-install --root-directory=/mnt /dev/sdX
Где /dev/sdX это диск, на котором установлена Ubuntu, и /dev/sdXY это раздел на диске, на котором установлена Ubuntu. Другими словами, /dev/sdXY содержит /boot и так далее.
Воспользуйся fdisk -l чтобы проверить местоположение установки Ubuntu.
Нет. Я думаю, что вы в значительной степени нашли самый простой способ восстановления состояния вашей системы с помощью спасение личинок; это очень минималистичная система, предоставляющая достаточно возможностей для загрузки системы.
Кстати, я полагаю, что вы, должно быть, нашли .mod файлы и выполненные insmod linux или в linux команда потерпела бы неудачу.
Единственным другим способом, как уже упоминалось, было бы загрузить Live CD и переустановить grub2 после установки chroot'ing в "сломанную" систему.
У меня была такая же проблема, когда я обновлял свою систему.
Я предлагаю следующие простые шаги:
Загрузите свою систему с помощью ubuntu live CD или live USB.
Откройте терминал и выполните команды sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
Затем установите boot repair, выполнив команду sudo apt-get install -y boot-repair && boot-repair
Запустите восстановление загрузки после установки.Например, в меню используйте System->Administration->Boot-Repair (Только Ubuntu 10.04) и следуйте инструкциям.
Это может занять 15-20 минут, чтобы выяснить проблему и устранить ее.
На мой взгляд, восстановление загрузки было бы намного проще. Ознакомьтесь с одним из моих множественных ответов на Boot-Repair для получения подробной информации о его использовании.
“Самый простой” способ не всегда является лучшим. Я категорически не согласен со всеми комментариями, предлагающими использовать Live CD; на самом деле очень сложно загрузиться с Live CD в системах, в которых нет устройства чтения CD/ DVD.
Ваш пост был очень полезен для ручной загрузки ядра и initrd, но моя система не смогла найти dev, sys или proc, etc /fstab или sbin/init. Это привело меня к другому сообщению, в котором предлагалось загрузить ядро и установить root, как описано в инструкциях по ручной загрузке в документации grub, eg:grub> linux (hd0,X)/boot/vmlinuz-a.b.c-d-generic root=/dev/sdaX, где X - раздел с /boot, a.b.c-d - версия ядра. Затем моя система загрузилась нормально! Спасибо!
Спасибо, по команде ls я получаю (hd0) (hd0, msdos3) (hd0,msdos2) (hd0,msdos1), и я пробовал / boot с каждым из них, и всегда это говорит о неизвестной файловой системе.Пожалуйста, помогите.
Вы уверены, что первый раздел - это “(hd0)”, а не что-то вроде "(hd0,0)`? Я предполагаю, что остальные - это разделы в формате MSDOS. Жаль, что я не могу быть более полезен. Может ли кто-нибудь еще помочь? Я начинаю зарастать сорняками.
У меня была такая же проблема, застрявшая в grub_ + rescue при обновлении с Ubuntu 13.10 до 14.04, но ситуация еще хуже, потому что у меня нет клавиши alt gr, поэтому нет косой черты.