Grub rescue commands to fix boot issues
Содержание:
- Введение
- Что делать при ошибке GRUB Rescue?
- What Is GRUB Loading Error?
- Перезагрузка компьютера
- Определение разделов
- Способ 2
- Удаление Grub в UEFI
- Почему система не загрузилась
- 7 ответов
- Решение
- Настройка Grub через конфигурационные файлы
- Rescue mode
- Что еще предпринять, чтобы починить загрузку
- Онлайн курсы по Mikrotik
- Использование терминала
- grub rescue
- Такая ошибка есть на всех дистрибутивах?
- Обновление загрузчика
- Обновление загрузчика
- Selected Problems and Bugs
- Как восстановить загрузчик GRUB?
- Что такое Grub
- Решение ошибок программы-загрузчика GRUB
- Удаление Grub при восстановлении ОС Windows
Введение
Есть сильно нагруженная виртуальная машина, для которой нужно было добавить ядер и оперативной памяти. Аптайм у нее был примерно пол года. Ничего не предвещало беды. Я предупредил, что простой будет секунд 30 и ребутнул машину. Как только увидел консоль виртуалки, понял, что дальше начинается веселье с непредсказуемым результатом. Адреналина добавила информация от разработчиков, что бэкапов у них нет
Для тех, кто еще не знаком с подобным, поясню. Начальный загрузчик не смог найти /boot раздел для продолжения загрузки. Вместо этого он сообщил, что раздел с указанным lvmid, где располагается boot, он не видит и дальше загрузиться не может. Машина находится в режиме grub rescue. Причин появления этого режима может быть много. Мне всегда приходится с чем-то новым сталкиваться, но методика решения проблемы примерно одна, и я дальше о ней расскажу. А потом поясню, что было с этой конкретной виртуалкой.
Что делать при ошибке GRUB Rescue?
Загрузчик GRUB имеет модульную структуру. Все конфигурационные файлы и базовые модули находятся в обычном разделе на жестком диске. Однако первичные данные хранятся непосредственно в главной загрузочной записи. Если информация там будет изменена, то меню с выбором операционных систем не появится. Компьютер просто выдаст ошибку о загрузке. Перезапись данных часто является следствием установки Windows после Linux, а не наоборот.
Вариант решения проблемы:
- В терминале всегда можно ввести определенные команды. Чтобы ознакомиться с ними, нужно набрать $ help.
- Можно заметить, что в арсенале имеется команда ls, которая позволяет посмотреть список имеющихся каталогов. Ее и нужно ввести.
- С ее помощью также следует проверить появившиеся каталоги, чтобы понять, в каком месте располагаются файлы модулей. Пример: ls (hd0,1)/.
- В каком-то из разделов должна находиться папка boot. Дальше вводятся следующие команды: первая – $ set root=(hd0,1), вторая – $ set prefix=(hd0,1/boot/grub).
- В самом конце необходимо запустить модуль normal, позволяющий осуществить загрузку. Сначала требуется ввести: $ insmod normal, а после — $ normal.
What Is GRUB Loading Error?
GRUB, which is also known as GNU GRUB, stands for GNU GRand Unified Bootloader. It is a boot loader package from the GNU Project. It provides you a choice to boot one of multiple operating systems installed on a computer or choose a specific kernel configuration available on a particular operating system’s partitions.
It is similar to NTLDR or BOOTMGR on Windows. But, it supports both Windows and Linux kernels and has more features. You need to configure GRUB properly when using your computer. If not, you might encounter different kinds of GRUB errors like Grub Loading Error 15, 17, 21, 22….
Tip: If you encounter the BOOTMGR is missing issue, you can refer to this article to solve it: 11 Solutions to «BOOTMGR Is Missing» Error in Windows 10/8/7; If you are facing NTLDR is missing issue, you can read this post to get the solutions: 10 Solutions to Fix NTLDR Is Missing in Windows 10/8/7.
Now, we will introduce these common GRUB Loading Errors in the following content.
Common Grub Loading Errors
Usually, there are no error codes in Grub Stage 1. You might just receive the error message saying Hard Disk Error, Floppy Error, Read Error, or Geom Error. The GRUB loading error code always appears in Grub Stage 1.5 or Stage 2.0.
There are 4 common GRUB Loading Errors:
- Grub Loading Error 15: File not found. This GRUB Loading Error always appears when a specified file name cannot be found by the system.
- Grub Loading Error 17: Cannot mount selected partition. This GRUB Loading Error always appears when the required partition exists, but the type of file system is not recognized by GRUB.
- Grub Loading Error 21: Selected disk does not exist. This GRUB Loading Error always appears when the disk is not recognized by the BIOS in the system.
- Grub Loading Error 22: No such partition. This GRUB Loading Error always appears when a required partition is not on the selected disk.
How to Recover Data When PC Won’t Boot 2020 (Works 100%)
SEE! Here’s how to effectively recover data when PC won’t boot and what to do when PC won’t boot.
Read More
Top Reasons for GRUB Loading Errors
Why do the GRUB Loading Errors occur when you boot your computer? Here, we collect some reasons and show them as follows:
- The configuration of GRUB is improper.
- GRUB is installed in a wrong location.
- GRUB is deleted by mistake.
- MBR is corrupted.
Now, you know what GRUB is, the common GRUB Loading Error codes, and the top main causes of these errors. Then, if you are bothered by the GRUB Loading Error, you must want to get rid of it immediately because you still need to use your computer to deal with your work. Keep reading to get the solutions.
Перезагрузка компьютера
Выходим из окружения chroot, для этого выполняем команду:
Отмонтируем все разделы, которые мы примонтировали:
Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:
Если вы монтировали EFI-раздел, отмонтируем:
Отмонтируем корневой раздел:
Перезагружаем компьютер. Для этого выполняем команду:
Если во время перезагрузки компьютера меню GRUB не появилось, то это еще не значит, что он не восстановился. Возможно, просто установлена нулевая задержка и меню не показывается. Чтобы показать меню GRUB нужно во время загрузки, после того, как появился логотип материнской платы:
- удерживать клавишу Shift , если у вас классический BIOS;
- нажать Esc , если у вас UEFI.
Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:
Мне это помололо на компьютере, который использует UEFI.
Определение разделов
Теперь нужно определить раздел диска, на котором был установлен GRUB.
Выведем список разделов, для этого выполняем команду (в конце команды стоит строчная буква L):
Вывод fdisk для BIOS
Пример вывода команды:
В моем случае мы видим 2 диска: /dev/sda (SSD диск) и /dev/sdb (флешка, с которой сейчас загружена Live-система).
Нас интересует диск /dev/sda . На диске /dev/sda создано несколько разделов. В моем случае /dev/sda4 , на котором установлен Windows, а также 4 раздела с пометкой Linux (см. последний столбец таблицы). У вас скорее всего может быть один раздел Linux (корневой раздел) или два раздела (корневой и home). На одном из этих разделов установлен GRUB.
То есть из таблицы вы должны определить какой раздел является корневым, на нем скорее всего у вас установлен GRUB. В моем случае GRUB установлен в раздел /dev/sda2 . Далее по тексту я буду его использовать (вы должны будете указывать свой раздел).
Иногда бывает, что для загрузчика GRUB выделен отдельный раздел (он называется boot-раздел). Если это так, то на следующем шаге вам нужно будет примонтировать корневой раздел и раздел с загрузчиком.
Вывод fdisk для UEFI
Для новых компьютеров с UEFI вывод команды fdisk -l может быть примерно следующим:
Нам нужно определить, на каком разделе установлен Linux (корневой раздел), а также определить EFI-раздел. В моем случае это разделы: /dev/nvme0n1p5 и /dev/nvme0n1p1 , которые расположены на диске /dev/nvme0n1 .
Способ 2
Всё сильно упрощается, если использовать Live CD – загрузочный диск с системой Linux
Он может быть записан на флешке, на внешнем винчестере или на обычном диске – это неважно, главное, чтобы с него можно было загрузить компьютер
После загрузки Linux стандартным способом устанавливается бесплатная утилита Boot Repair. Она предназначена именно для устранения ошибок загрузки с помощью загрузчика Grub и очень проста в использовании – достаточно кликнуть по кнопке.
Заметим, что иметь Live CD для линуксоида всегда полезно и даже необходимо. Это зачастую избавляет от множества проблем, так как позволяет загрузить полноценную систему с внешнего носителя и использовать весь её инструментарий. Скачать такой диск с любой версией Linux не представляет сложностей, в комплекте обычно идёт инструкция по записи его на флешку.
Удаление Grub в UEFI
Чтобы реализовать задуманное, пользователю снова потребуется программа, которая была рассмотрена в предыдущем пункте. Единственная разница заключается в том, что теперь нужно будет скачать на сайте 64-битную версию утилиты.
В UEFI совсем необязательно удалять ненужный загрузчик. Вы можете оставить обе программы в системе, переместив ненужный вариант ниже основного. То есть, нужно сделать так, чтобы Grub оказался запасным инструментом.
Пошаговое руководство:
- Запустите программу Bootice на своём ПК.
- Далее вам понадобится вкладка UEFI.
- Перейдите туда и нажмите на кнопку «Edit Boot Enteries». Перед вами откроется новое окошко.
Теперь пользователь может пойти одним из двух доступных путей:
- Опустите загрузчик Grub, воспользовавшись для этих целей клавишей Down. Это позволит сделать загрузчик Windows основной программой в системе.
- Альтернативный вариант: удалите запись о загрузчике Grub, воспользовавшись клавишей Del.
Удаление загрузчика Grub с флешки
Чтобы удалить программу с флешки, пользователи часто прибегают к распространенной ошибке. Они интуитивно выполняют действие, первое пришедшее им на ум. Что это может быть? Конечно же, форматирование флешки. Однако подобный способ не приносит нужных результатов. Дело в том, что Grub записывается в таблицу MBR, а потому требуется создание новой таблицы.
Дельнейшие процессы выполняются в Linux. Чтобы узнать имя устройства у вашей флешки, задайте в терминале специальную команду. Впишите в строке текст, указанный ниже:
Далее выполните удаление существующей таблицы. Еще раз воспользуйтесь строкой терминала Линукс:
Чтобы создать новую таблицу разделов, потребуется программа Gparted. Добавьте раздел на флешке и выполните форматирование в файловую систему FAT32. Готово! Еще раз напоминаем о том, что нельзя стирать загрузчик с жёсткого диска. Его восстановление – очень непростой и энергозатратный процесс.
Заключение
Для успешного удаления стандартного загрузчика Grub в Линукс достаточно следовать инструкциям, предоставленным в данной статье.
Почему система не загрузилась
Теперь рассказываю, что было в моем случае. Корень системы / располагался на lvm разделе вместе с /boot разделом. В какой-то момент корневой раздел был увеличен в размере за счет расширения тома lvm еще одним диском. Все это было сделано на лету, без перезагрузки системы. Причем сделано было мной давно, и с тех пор сервер ни разу не перезагружался до настоящего времени. Я не знаю почему, но данная операция привела к тому, что grub перестал загружаться с этого lvm раздела.
UUID физического тома и логического раздела не поменялись. То есть там информация, в начале загрузки, с ошибкой загрузки диска с lvmid, верная. Уиды правильные. Я понял, что причина в изменении размера диска только по аналогичным сообщениям в интернете. Наткнулся на несколько человек, которые обращались с похожей проблемой, где перед этим они тоже изменяли корневой раздел. Похоже это какой-то системный баг, возможно даже конкретной системы.
В моем случае на диске почему-то оказался отдельный раздел на 500 мб с файловой системой ext2. На нем как раз и был загрузчик, с которого я загрузился в rescue boot. Откуда взялся этот раздел, я не знаю. По идее, если он был создан автоматически во время установки системы, на нем бы и должен быть актуальный раздел /boot. Но нет, его не было в fstab и он не использовался. Я не стал долго разбираться, почему так получилось, а просто подмонтировал этот раздел в систему, обновил на нем grub и записал обновленный grub в MBR. После этого система благополучно загрузилась с этого раздела.
Если кто-то знает, почему мой загрузчик не смог загрузиться с lvm раздела, при том, что uuid указан правильно, прошу подсказки. Самому очень интересно, так как ситуация получилась неприятная и совершенно мне не понятная. Я часто расширяю корневой lvm раздел на ходу, но первый раз сталкиваюсь с тем, что это приводит к поломке загрузчика. Grub уже давно умеет грузиться с lvm раздела и каких-то дополнительных действий для этого делать не надо.
7 ответов
Как уже указывал Гилл, в grub rescue есть несколько команд, которые позволяют загружать модули (например, с диска спасения grub).
В моем случае загрузка из другого источника была невозможна — единственным вариантом было удаление hdd с компьютера и использование дешевого внешнего hd-футляра для подключения диска к другому компьютеру через USB. На этом компьютере я использовал MbrFix , чтобы исправить mbr.
Когда GRUB ушел, так же как и возможность загрузки в Windows. Теперь вам нужно будет загрузиться с компакт-диска Windows, чтобы восстановить главную загрузочную запись (MBR). Вы также можете использовать другие загрузочные компакт-диски, такие как Конечный загрузочный компакт-диск для Windows , Bart PE или Загрузочный компакт-диск Hiren , если у вас нет средств установки Windows. Вот шаги:
Загрузите с компакт-диска Windows и выберите «Восстановить». Кроме того, загрузитесь с одного из других вышеупомянутых загрузочных компакт-дисков и запустите командную строку.
Для компьютеров под управлением Windows 8:
Добавьте дополнительные учебники для операционных систем.
Запустите следующие две команды в командной строке:
Еще один инструмент для добавления к тому, что должен сказать Ricky и preufsumme: boot-repair-disk .
Вы можете использовать grub rescue , чтобы снова запустить Windows.
Список команд будет похож на
NB: для этого требуется наличие модулей, которые реализуют все эти команды!
Отчитавшись над комментариями о спасении grub, похоже, что это сработает, тогда вы можете попасть в окна и переустановить загрузчик Windows в MBR. Это работает, однако, если ваш раздел Windows является первым разделом на диске, и он находится на первом диске, который видит компьютер. Если у вас несколько дисков или дисков SATA вместо дисков PATA, вам может потребоваться использовать другую команду для rootnoverify (попробуйте sd0 вместо hd0)
Решение
седьмой, Вам нужно выполнить рекомендацию из поста №3 этой темы. Загрузиться с установочного диска/флешки Windows, на клавиатуре Shift+F10, в комстроке ввести
He11scream, Андрей1224, BIOS увидел флешку после того, как я поменял в AHCI Mode Control режим Auto на Manual. Создал загрузочную флешку с Acronis Disk Editor, с его помощью отформатировал все разделы жёсткого диска, кроме раздела с данными. Grub rescue более не появлялся. Далее создал загрузочную флешку с Windows 7, установил винду, но загружается система только с флешки. Без флешки компьютер включается и выключается самопроизвольно. Заходил в терминал, вводил команду bootrec, не срабатывает, пишет следующее: «bootrec» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Пока не знаю, как дальше действовать.
Андрей1224, ноутбук Samsung NP530U4C, жёсткий диск HDD 500 Гб. В BIOS виден только весь диск SATA HDD без разделения на hd0 и hd1. К сожалению, не помню, какая картина с дисками была при установке линукса. Но могу точно сказать, что установщику линукса я указывал три раздела на том диске 1: под систему, под документы и под swap. Кроме того, когда я запускал Acronis Disk Director 12 с флешки (в посте выше я ошибочно назвал его Acronis Disk Editor), то непосредственно перед запуском на чёрном экране было написано следующее: Booting Acronis Disk Director Home 12.0.3270
Добавлено через 1 минуту gecata, попробую, спасибо!
Добавлено через 42 минуты С помощью Acronis Disk Director перенёс раздел «Зарезервировано системой» с диска 0 на диск 1, выставил в биосе приоритет загрузки для HDD, и вновь вылез grub rescue: error: unknown filesystem. Entering rescue mode. grub rescue>
и нажать Enter. Должно будет появиться сообщение, что файлы загрузки созданы. Перед ru-ru буква «эль», а не цифра 1.
Перезагрузиться и посмотреть загрузиться ли система.
Настройка Grub через конфигурационные файлы
Сразу нужно сказать, что существует два способа настройки Grub Ubuntu, через конфигурационные файлы. Первый — через конфигурационный файл утилиты grub-mkconfig, который позволяет задать общие параметры для загрузчика и ручное редактирование /boot/grub/grub.cfg.
Первый — рекомендованный, и с помощью него можно настроить большинство параметров, в этом случае настройки не собьются, когда вы обновите ядро или загрузчик. Второй вариант еще более гибкий, но после любого обновления вы потеряете свои настройки. Так что то что можно настроить через /etc/default/grub настраиваем через него, все остальное — через /boot/grub/grub.cfg. Сначала рассмотрим первый вариант.
Настройка Grub через /etc/default/grub
Как я уже сказал, настройка загрузчика через файл /etc/default/grub, на основе которого будет автоматически создан /boot/grub/grub.cfg более желательна. Давайте рассмотрим параметры, которые вы можете здесь настроить.
- GRUB_DEFAULT — указывает какой пункт нужно загружать по умолчанию. Может быть указан номер, или полное название или же строка saved, которая значит, что нужно загрузить пункт, указанный с помощью grub-reboot;
- GRUB_SAVEDEFAULT — загружать последнюю использованную запись по умолчанию;
- GRUB_HIDDEN_TIMEOUT — сколько секунд ждать перед тем, как вывести меню;
- GRUB_HIDDEN_TIMEOUT_QUIET — если установлено true, то меню не будет показано;
- GRUB_TIMEOUT — сколько секунд будет показано меню;
- GRUB_CMDLINE_LINUX — добавить опции ядра для всех ядер, как обычных, так и режима восстановления;
- GRUB_CMDLINE_LINUX_DEFAULT — добавить опции ядра только для обычных ядер;
- GRUB_CMDLINE_LINUX_RECOVERY — опции ядра, только для режима восстановления;
- GRUB_BADRAM — указать адреса оперативной памяти, которые не нужно использовать;
- GRUB_TERMINAL — модуль терминала для Grub. Можно использовать console, только для текстового режима или gfxterm с поддержкой графики;
- GRUB_GFXMODE — разрешение экрана в Grub, лучшие использовать auto, чтобы система выбрала сама то что ей нужно.
- GRUB_DISABLE_RECOVERY — не включать в меню пункты восстановления;
- GRUB_DISABLE_OS_PROBER — не искать другие операционные системы;
- GRUB_BACKGROUND — адрес картинки для фона, должна находиться в той же папке что и файлы grub;
- GRUB_THEME — устанавливает тему Grub.
Например, можно использовать такую конфигурацию:
Но как вы могли понять, этим способом вы не можете настроить порядок пунктов загрузки, а также некоторые другие параметры, поэтому давайте рассмотрим настройку непосредственно конфигурационного файла Grub.
Rescue mode
Процесс восстановления в режиме grub rescue происходит в несколько этапов.
Загрузите все модули, чтобы доступ к функциям системы открылся.
Rrescue mode имеет четыре команды
Сначала включаем первую:
После этого на экране появится подобное:
Иногда система Grub неверно определяет файловые системы на дисках. Попытайтесь угадать диски, которые видите. Это не составит труда зная их структуру.
В примере видно, что загрузчик показывает их как msdos, где два доступных диска. На первом три раздела, а на втором два.
Обычно загрузчик нумерует разделы в обратном порядке. Чтобы было понятнее используйте вид hd0,1. Если в Grub отсчет разделов идет с 1, а дисков с 0, то сразу будет понятно в какой раздел установлена операционная система. Применяем следующую команду:
Так система будет использовать конкретный диск для выполнения всех предыдущих операций. Для проверки наличия загрузчика на данном диске выполняем следующие действия:
О том, что все сделано правильно подскажет появление списков и папок.
Для загрузки всех необходимых модулей выполните команды:
После этого система будет работать в полноценном режиме.
Для закрепления результата зайдите в терминал Linux и с root-правами выполните следующую команду:
sdX — диск, на который должен быть установлен Grub.
При расположении ОС в разделе btrfs выполните другое действие:
Затем подгрузите модули
И запустите Grub:
Данная утилита позволяет запускать систему быстро и без проблем.
Что еще предпринять, чтобы починить загрузку
Если ничего из описанного не помогает, то дальше могут быть такие варианты:
- У вас проблемы с самими данными на разделе. Раздел /boot или корневой, просто не читаются, уничтожены или развалилась файловая система. Попробуйте починить с помощью fsck.
- Если починить /boot не получилось, то его нужно создать заново. Загрузитесь с livecd. Найдите раздел с загрузчиком, либо создайте новый. Отформатируйте его, установите на него загрузчик и запишите его в MBR с указанием на вновь созданный раздел.
Если ничего не помогло и вы не понимаете, что нужно сделать, то посмотрите вот это руководство по grub. Здесь очень хорошо и подробно все описано.
Еще совет. Если у вас живы сами данные, то зачастую бывает проще настроить новую виртуалку, подключить к ней диск от старой и перенести все данные. Так вы точно сможете спрогнозировать время восстановления системы. Обычно за час на все про все можно уложиться. Когда вы начинаете чинить упавшую систему, никогда точно не знаете, сколько времени уйдет на восстановление. В моем случае я загрузку за 30 минут и запустил машину. Потом еще 2 часа разбирался на копии виртуальной машины, что случилось и пытался найти решение проблемы без переустановки виртулаки. Получил некоторый опыт, но если бы я сразу все перенес на новую виртуальную машину, то потратил бы меньше времени.
Онлайн курсы по Mikrotik
Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте .
Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:
- Знания, ориентированные на практику;
- Реальные ситуации и задачи;
- Лучшее из международных программ.
Использование терминала
Итак, столкнувшись с проблемой, незамедлительно следует заняться восстановлением загрузчика grub. Предлагаем для начала разобраться с двумя самыми известными способами.
Используем терминал
Для начала следует подготовить флешку, на которую необходимо заранее установить Etcher. После этого подключаем носитель в неисправный компьютер и перезагружаем его. Открывается Live-система, запускаем терминал и запускаем таблицу разделов при помощи команды:
Вот что должно появиться на экране:
Теперь можно понять где расположена система. Следующим этапом приступаем к монтированию раздела на mnt:
Самое время записать grub в MBR посредством команды:
Следующая команда предназначена для обновления меню груб-загрузчика:
Придерживаясь всех инструкций операция пройдет достаточно быстро.
Применение chroot
Кроме LiveCD помочь может утилита chroot и таблица разделов. Начинаем с команды:
Появится такая таблица:
Теперь монтируем разделы:
Если разделы /boot или /var размещены по отдельности, то их надо примонтировать в /mnt/boot и /mnt/var.
После этого перейдите в окружение chroot:
После выполнения всех вышеуказанных пунктов занимаемся переустановкой Grub:
При ошибке системы применяется команда:
Или
Когда все получиться выходим из утилиты используя следующую команду:
Затем вводим в терминале следующие команды для монтирования всех разделов:
При монтаже /boot применяйте такую команду:
Перезагрузите систему при помощи:
Примените указанную ниже опцию, чтобы обновить загрузчик:
grub rescue
В grub rescue mode доступно всего четыре команды:
- ls
- set
- unset
- insmod
Для начала воспользуемся командой ls и посмотрим, какие разделы видит grub.
В моем случае несколько отдельных разделов диска и lvm том. К слову сказать, в моем случае раздел /boot расположен на lvm разделе, но по какой-то причине загрузчик не смог с него загрузиться. У вас может вообще не быть lvm, а проблема в чем-то другом. Например, если у вас в grub.cfg указан UUID раздела, с которого надо грузиться (это может быть массив mdadm), а раздел этот по какой-то причине исчез, или изменил свой uuid, вы как раз получите эту ошибку.
Сейчас нам нужно найти раздел, на котором расположен загрузчик. Первая часть загрузчика, которая записана в MBR диска очень примитивная и почти ничего не умеет. Она даже разделы диска толком не определила, решив почему-то, что там файловая система msdos, хотя это не она. Нам нужно проверить все разделы диска hd0 и найти реальный загрузчик. Проверяем это командами:
> ls (hd0,msdos5)/ > ls (hd0,msdos1)/
Я нашел на msdos1 искомый раздел /boot. Понял это по содержимому. В разделе есть директория /grub, где располагается вторая часть загрузчика. Искомая директория может называться /grub2 или /boot/grub. Указываем загрузчику использовать этот раздел при выполнении дальнейших команд.
> set prefix=(hd0,msdos1)/grub > set root=(hd0,msdos1)
Далее загружаем необходимые модули. Какие будут нужны, зависит от конкретной ситуации. На всякий случай показываю самые популярные:
> insmod ext2 > insmod lvm > insmod part_msdos
Начать стоит вообще без модулей, а потом добавлять, в зависимости от вашей ситуации. В завершении загружаем модуль normal и вводим одноименную команду:
> insmod normal > normal
После этого вы должны увидеть стандартное меню загрузчика grub. Дальше вы загрузитесь в операционную систему.
Такая ошибка есть на всех дистрибутивах?
Из этих многочисленных дистрибутивов Linux Ubuntu, Mint, Fedora, openSUSE и Debian являются одними из самых популярных операционных систем.
Если мы посмотрим на статистику, Ubuntu, произносится как «oo-boon-too», является самой популярной операционной системой с открытым исходным кодом. Для большинства из нас Ubuntu была фаворитом, если говорить про операционную систему на базе Linux.
Поиск программного обеспечения с вашим интересом намного проще в Ubuntu Linux. Вам просто нужно открыть Ubuntu Software Center и найти все полезное программное обеспечение. Просто нажмите кнопку установки и пакет будет установлен. Кроме того, вы можете установить множество программ с несколькими простыми командами. Для базового использования Ubuntu поставляется с предустановленным множеством программ, таких как Gimp, Chromium, VLC и Firefox. Но самое удобное это то, что здесь все можно починить за несколько минут. О чем мы и поговорим в следующем способе.
Новые версии Ubuntu с последним ядром Linux. Это позволяет запускать большее количество старых аппаратных средств, а также новые системы с последними чипами. Ubuntu также поставляется со многими предустановленными драйверами, которые экономят время.
Обновление загрузчика
Дальнейшее решение проблемы с загрузкой будет зависеть от того, что у вас сломалось. Возможно будет достаточно просто переустановить загрузчик:
# grub-install /dev/sda
Эта команда переустановит в MBR код загрузчика, который будет подхватывать тот раздел /boot, с которого вы в данный момент загрузились. Если это не поможет, то внесите необходимые изменения в в конфиг grub и пересоздайте его командой:
# grub-mkconfig -o /boot/grub/grub.cfg
А после этого установите на диск:
# grub-install /dev/sda
Конфиг груба находится в разных дистрибутивах в разных местах. Какие туда вносить изменения, заранее тоже не могу сказать, будет зависеть от проблем. Скорее всего все это придется вам гуглить, если не получится сходу починиться по моим рекомендациям.
Обновление загрузчика
Дальнейшее решение проблемы с загрузкой будет зависеть от того, что у вас сломалось. Возможно будет достаточно просто переустановить загрузчик:
Эта команда переустановит в MBR код загрузчика, который будет подхватывать тот раздел /boot, с которого вы в данный момент загрузились. Если это не поможет, то внесите необходимые изменения в в конфиг grub и пересоздайте его командой:
А после этого установите на диск:
Конфиг груба находится в разных дистрибутивах в разных местах. Какие туда вносить изменения, заранее тоже не могу сказать, будет зависеть от проблем. Скорее всего все это придется вам гуглить, если не получится сходу починиться по моим рекомендациям.
Selected Problems and Bugs
External Drive Installs and »grub-pc» Updates
Launchpad Bug 496435 Installs of Ubuntu on external drives can cause problems as grub-install uses device names (e.g. sda, sdb) rather than UUIDs in certain circumstances. If connected to another machine when an update of grub-pc is made, the upgrade may be written to the incorrect device and make the computer unbootable.
A workaround is posted on the bug link above.
External Drive Installs and MBR Selection
When installing Ubuntu to a USB drive, the potential exists for GRUB 2 to write to the hard drive’s MBR or split the installation between the hard drive and the USB drive (rather than completely on the USB device). This can render the main drive unbootable.
Workaround: During the final stages of the install there is an «Advanced» button which allows the user to select the install location. See the bug report for more details.
Boot Partition is in Logical Volume whose Volume Group contains a snapshot
When your boot partition (the one providing /boot) is a LV, make sure not to have any LVM snapshots inside the containing VG. At reboot this will render your system unbootable, dropping you in a «grub rescue>»-shell with the following message: «error: no such disk.»
The grub-rescue-shell provided does not help you, because all modules (esp. lvm) are unreachable. You’ll have to boot from a install medium and remove all snapshots that are in the same VG as your boot partition by hand.
This issue is extremely annoying if your server is in a remote datacenter since the origin of the problem cannot be spotted easily and repairing the system may be hard.
While this will be fixed in the upcoming Maverick Meerkat 10.10 release, the current Lucid Lynx LTS 10.04 is affected.
A workaround would be to install ubuntu using a separated non-LVM partition for /boot if you are using LVM snapshots regularly.
There’s some kind of irony that if you’re careful and take a LVM snapshot before upgrading (and possibly rebooting) your system, this will trigger the bug.
insmod fails with «error: no such disk»
Several grub2 modules, such as the linux-module depends on other modules, which is attempted to be auto-loaded. For this to work, the variable $prefix, must be set to where the grub2 modules can be found. Usually, this is accomplished with the command «set prefix=/boot/grub».
Как восстановить загрузчик GRUB?
Если случалось так, что файлы в соответствующих разделах полностью затерты, то придется заниматься восстановлением загрузчика. Процесс этот можно осуществить двумя способами.
Первый из них предполагает взаимодействие с системой через терминал:
- Требуется загрузить Linux с того носителя, который использовался при инсталляции. Иногда необходимо войти в БИОС, чтобы включить загрузку с диска или флешки.
- Далее стоит открыть терминал, нажав комбинацию клавиш Ctrl + Alt + T, и вывести существующие разделы на экран посредством команды sudofdisk —i.
- После этого появится таблица с каталогами. Нужно найти корневой раздел и смонтировать его. Для этого следует ввести sudomount /dev/sda5/mnt. Вместо sda5 требуется прописать имя конкретного раздела. Он может отличаться.
- Восстановить загрузчик помогает команда sudo grub-install – root-directory=/mnt /dev/sda.
- В самом конце нужно ввести sudo reboot для перезагрузки.
При необходимости можно воспользоваться специальной утилитой, чтобы автоматизировать процесс. Для этого после загрузки с установочного носителя придется ввести всего три команды. Пример для дистрибутива Ubuntu.
- первая – sudo add-apt-repository ppa^yannubuntu/boot-repair;
- вторая – sudo apt-get update;
- третья – sudo apt-get install boot-repair.
Что такое Grub
Grub – это аббревиатура названия определенной программы – Grand Unified Bootloader. Приложение является загрузочным для определенных видов операционных систем. Софт достаточно сильный, способен активировать работу различных ОС (например, Linux, FreeBSD, иных).
Утилиту необходимо дополнительно настраивать. После выполнения определенных операций появится перечень операционок, которые могут загружаться подобным образом. По выбранной ОС кликают левой клавишей мышкой и затем подтверждают загрузку кнопкой «Enter».
Внимание! Главная особенность приложения – возможность задавать отдельные параметры для загружаемой операционки. Это значит, что пользователь может выбрать характеристики, которые потом будут отправлены в ядро загрузчика для последующей обработки информации ОС
Данная программа часто совмещается с ОС Linux, а также устанавливается в режиме «По умолчанию» для общего числа дистрибутивов.
Решение ошибок программы-загрузчика GRUB
Нередко возникает необходимость в установке двух принципиально разных операционных систем на один компьютер: Windows и Linux. Разумеется, подобное «соседство» будет связано с некоторыми неудобствами. Для установки, как правило, используют специальную программу GRUB. Но к сожалению, при её использовании можно столкнуться с рядом ошибок. В этой статье разберёмся с тем, как исправить ошибки загрузчика GRUB. Давайте же начнём. Поехали!
Для начала давайте определимся с тем, что из себя представляет эта программа. GRUB — представляет собой системный загрузчик, устанавливающийся непосредственно с Линукса и записывающий все данные на первый раздел диска (MBR).
Сам rescue mode является отличительной чертой GRUB 2 от его предыдущей версии. Этот режим запускается, если программе-загрузчику не удалось найти файл «grub.cfg» либо не удалось передать управление в kernel (ядро). В итоге не удаётся найти загрузочные файлы и запустить операционную систему. Именно тогда и возникает ошибка.
Следуйте инструкциям ниже, чтобы узнать, как решить проблему с GRUB
Удаление Grub при восстановлении ОС Windows
Рассмотрим ситуацию, когда пользователю компьютера необходимо удалить операционную систему Линукс вместе с её стандартным загрузчиком, оставив при этом ОС Windows с другой программой. Если в системе используется таблица MBR, то подобные манипуляции выполняются крайне легко.
В Интернете можно встретить распространенную рекомендацию: «Возьмите установочный диск Виндовс и загрузитесь с него в режиме восстановления». А далее предлагается выполнение специальных команд. Они будут указаны ниже.
Первое действие:
bootrec \fixboot
Второе действие:
Стоит отметить тот факт, что данный совет является эффективным и вполне применимым на практике. Однако это не самый быстрый способ восстановления стандартного загрузчика Windows, который понадобится для полноценной работы системы. Чтобы удалить Grub и вернуть «виндовскую» программу, пользователю необходимо воспользоваться специальной утилитой.
Искать программу на официальном сайте – занятие бессмысленное, поскольку китайский интерфейс окажется многим не по зубам. Перед скачиванием софта выберите подходящую разрядность для своей ОС.
После этого нужно действовать, следуя простой инструкции:
- Запустите программу Bootice на своём компьютере.
- Выделите диск, на котором наличествует загрузчик Grub.
- Далее нажмите на «Proccess MBR».
- В открывшемся окне выберите вариант «Windows NTx …». Скорее всего, он будет находиться в самом низу этого списка.
- Затем подтвердите своё решение путем нажатия на кнопку «Install / Config».
- Выберите нужную версию MBR на своё усмотрение.
При правильном выполнении указанных действий перед пользователем появится маленькое окошко с подтверждением об удачной замене загрузчика. Нажмите на кнопку «ОК» и выполните перезагрузку вашего устройства. Проверьте, вступили ли изменения в силу.