Восстановление перемещенных файлов .mod с помощью grubrescue

Я совершил глупость... Я забыл, что Ubuntu 10.04 (Lucid Lynx) переключился на выкапывать 2, который помещает тонну файлов *.mod (модулей ядра) в /boot/grub>. Я подумал, что это файлы саундтреков, помещенные туда по ошибке, и переместил их. Излишне говорить, что следующая перезагрузка была травматичной. Мне было представлено нечто такое, чего я не помнил, чтобы когда-либо видел... подсказка "спасение личинки".

С помощью Исправление ошибки 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 на другой дисковод) :

  1. Загрузитесь с помощью LiveDVD (например, с настольного диска Ubuntu).

  2. Откройте терминал и перепишите конфигурацию 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 в "сломанную" систему.

  1. Загрузитесь на Live CD

  2. Открыть терминал (CTRL+ALT+T)

  3. Введите следующие команды:

sudo fdisk -l

И найдите свой раздел Ubuntu (должен быть /dev /sda1, если это первый раздел)

sudo mount /dev/sda1 /mntsudo mount --bind /sys /mnt/syssudo mount --bind /proc /mnt/procsudo mount --bind /dev /mnt/devsudo chroot /mnt

Теперь переустановите Grub2

sudo apt-get install --reinstall grub2

У меня была такая же проблема, когда я обновлял свою систему.

Я предлагаю следующие простые шаги:

  1. Загрузите свою систему с помощью ubuntu live CD или live USB.
  2. Откройте терминал и выполните команды sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
  3. Затем установите boot repair, выполнив команду sudo apt-get install -y boot-repair && boot-repair

  4. Запустите восстановление загрузки после установки.Например, в меню используйте System->Administration->Boot-Repair (Только Ubuntu 10.04) и следуйте инструкциям.

    Это может занять 15-20 минут, чтобы выяснить проблему и устранить ее.

Для получения дополнительной помощи перейдите по ссылке https://help.ubuntu.com/community/Boot-Repair

Вы можете загрузить live CD, подключить жесткий диск, открыть nautilus от имени root и скопировать эти файлы в /boot.

На мой взгляд, восстановление загрузки было бы намного проще. Ознакомьтесь с одним из моих множественных ответов на 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 - версия ядра. Затем моя система загрузилась нормально! Спасибо!

в дополнение к Исправлению ошибки GRUB: “ошибка: неизвестная файловая система” [дубликат] еще одна отличная ссылка, описывающая эти шаги, - [Как спасти не загружающийся GRUB 2 в Linux](http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux /), руководство по grub 2 также очень полезно

я не могу найти раздел с каталогом /boot.Все разделы по команде ls выдают неизвестный вывод файловой системы.

Я добавил некоторые детали к приведенному выше “вопросу”, которые могут помочь.

Спасибо, по команде ls я получаю (hd0) (hd0, msdos3) (hd0,msdos2) (hd0,msdos1), и я пробовал / boot с каждым из них, и всегда это говорит о неизвестной файловой системе.Пожалуйста, помогите.

Вы уверены, что первый раздел - это “(hd0)”, а не что-то вроде "(hd0,0)`? Я предполагаю, что остальные - это разделы в формате MSDOS. Жаль, что я не могу быть более полезен. Может ли кто-нибудь еще помочь? Я начинаю зарастать сорняками.

У меня была такая же проблема, застрявшая в grub_ + rescue при обновлении с Ubuntu 13.10 до 14.04, но ситуация еще хуже, потому что у меня нет клавиши alt gr, поэтому нет косой черты.