Grub rescue что делать windows 10?
Содержание:
- Как удалить загрузчик Grub
- grub rescue
- Что еще предпринять, чтобы починить загрузку
- Способ 3. Ремонт с помощью Boot Repair в Ubuntu
- Генерация файла конфигурации GRUB
- Появляется ошибка error no such partition | Как восстановить загрузчик
- Почему «ломается» загрузчик GRUB?
- Как восстановить загрузчик GRUB?
- Загрузка в Live-режиме
- Обновление загрузчика
- Устанавливаем GRUB
- Почему система не загрузилась
- Восстановление grub
- Почему система не загрузилась
- Определение разделов
- Видео
- Grub-rescue, как восстановить загрузку.
- Main changes
- Почему система не загрузилась
- Grub rescue Commands
Как удалить загрузчик Grub
В устройствах, функционирующих на операционной системе Linux, есть целый ряд программ, установленных по умолчанию. Одной из них является стандартный загрузчик Grub. Надо отметить, что популярная программа также поддерживает загрузку DOS и Windows.
По тем или иным причинам пользователю может понадобиться удалить Grub из текущей системы или с флешки. В этой статье новичок сможет найти понятное и чёткое руководство к действию, которое поможет ему решить поставленную задачу в кратчайшие сроки.
Удаление Grub при восстановлении ОС Windows
Рассмотрим ситуацию, когда пользователю компьютера необходимо удалить операционную систему Линукс вместе с её стандартным загрузчиком, оставив при этом ОС Windows с другой программой. Если в системе используется таблица MBR, то подобные манипуляции выполняются крайне легко.
В Интернете можно встретить распространенную рекомендацию: «Возьмите установочный диск Виндовс и загрузитесь с него в режиме восстановления». А далее предлагается выполнение специальных команд. Они будут указаны ниже.
Первое действие:
bootrec \fixboot
Второе действие:
bootrec \fixmbr
Стоит отметить тот факт, что данный совет является эффективным и вполне применимым на практике. Однако это не самый быстрый способ восстановления стандартного загрузчика Windows, который понадобится для полноценной работы системы. Чтобы удалить Grub и вернуть «виндовскую» программу, пользователю необходимо воспользоваться специальной утилитой.
Искать программу на официальном сайте – занятие бессмысленное, поскольку китайский интерфейс окажется многим не по зубам. Перед скачиванием софта выберите подходящую разрядность для своей ОС.
После этого нужно действовать, следуя простой инструкции:
- Запустите программу Bootice на своём компьютере.
- Выделите диск, на котором наличествует загрузчик Grub.
- Далее нажмите на «Proccess MBR».
- В открывшемся окне выберите вариант «Windows NTx …». Скорее всего, он будет находиться в самом низу этого списка.
- Затем подтвердите своё решение путем нажатия на кнопку «Install / Config».
- Выберите нужную версию MBR на своё усмотрение.
При правильном выполнении указанных действий перед пользователем появится маленькое окошко с подтверждением об удачной замене загрузчика. Нажмите на кнопку «ОК» и выполните перезагрузку вашего устройства. Проверьте, вступили ли изменения в силу.
Удаление Grub в UEFI
Чтобы реализовать задуманное, пользователю снова потребуется программа, которая была рассмотрена в предыдущем пункте. Единственная разница заключается в том, что теперь нужно будет скачать на сайте 64-битную версию утилиты.
В UEFI совсем необязательно удалять ненужный загрузчик. Вы можете оставить обе программы в системе, переместив ненужный вариант ниже основного. То есть, нужно сделать так, чтобы Grub оказался запасным инструментом.
Пошаговое руководство:
- Запустите программу Bootice на своём ПК.
- Далее вам понадобится вкладка UEFI.
- Перейдите туда и нажмите на кнопку «Edit Boot Enteries». Перед вами откроется новое окошко.
Теперь пользователь может пойти одним из двух доступных путей:
- Опустите загрузчик Grub, воспользовавшись для этих целей клавишей Down. Это позволит сделать загрузчик Windows основной программой в системе.
- Альтернативный вариант: удалите запись о загрузчике Grub, воспользовавшись клавишей Del.
Удаление загрузчика Grub с флешки
Чтобы удалить программу с флешки, пользователи часто прибегают к распространенной ошибке. Они интуитивно выполняют действие, первое пришедшее им на ум. Что это может быть? Конечно же, форматирование флешки. Однако подобный способ не приносит нужных результатов. Дело в том, что Grub записывается в таблицу MBR, а потому требуется создание новой таблицы.
Важно! Подобный совет актуален только в вопросе удаления загрузчика с флешки. Не рекомендуется выполнять подобные действия для очистки программы с жёсткого диска
Важные данные будут утеряны.
Дельнейшие процессы выполняются в Linux. Чтобы узнать имя устройства у вашей флешки, задайте в терминале специальную команду. Впишите в строке текст, указанный ниже:
$ fdisk -l
Далее выполните удаление существующей таблицы. Еще раз воспользуйтесь строкой терминала Линукс:
$ dd if=/dev/zero of=/dev/sdc count=512
Чтобы создать новую таблицу разделов, потребуется программа Gparted. Добавьте раздел на флешке и выполните форматирование в файловую систему FAT32. Готово! Еще раз напоминаем о том, что нельзя стирать загрузчик с жёсткого диска. Его восстановление – очень непростой и энергозатратный процесс.
Заключение
grub rescue
В grub rescue mode доступно всего четыре команды:
Для начала воспользуемся командой ls и посмотрим, какие разделы видит grub.
В моем случае несколько отдельных разделов диска и lvm том. К слову сказать, в моем случае раздел /boot расположен на lvm разделе, но по какой-то причине загрузчик не смог с него загрузиться. У вас может вообще не быть lvm, а проблема в чем-то другом. Например, если у вас в grub.cfg указан UUID раздела, с которого надо грузиться (это может быть массив mdadm), а раздел этот по какой-то причине исчез, или изменил свой uuid, вы как раз получите эту ошибку.
Сейчас нам нужно найти раздел, на котором расположен загрузчик. Первая часть загрузчика, которая записана в MBR диска очень примитивная и почти ничего не умеет. Она даже разделы диска толком не определила, решив почему-то, что там файловая система msdos, хотя это не она. Нам нужно проверить все разделы диска hd0 и найти реальный загрузчик. Проверяем это командами:
Я нашел на msdos1 искомый раздел /boot. Понял это по содержимому. В разделе есть директория /grub, где располагается вторая часть загрузчика. Искомая директория может называться /grub2 или /boot/grub. Указываем загрузчику использовать этот раздел при выполнении дальнейших команд.
Далее загружаем необходимые модули. Какие будут нужны, зависит от конкретной ситуации. На всякий случай показываю самые популярные:
Начать стоит вообще без модулей, а потом добавлять, в зависимости от вашей ситуации. В завершении загружаем модуль normal и вводим одноименную команду:
После этого вы должны увидеть стандартное меню загрузчика grub. Дальше вы загрузитесь в операционную систему.
Что еще предпринять, чтобы починить загрузку
Если ничего из описанного не помогает, то дальше могут быть такие варианты:
- У вас проблемы с самими данными на разделе. Раздел /boot или корневой, просто не читаются, уничтожены или развалилась файловая система. Попробуйте починить с помощью fsck.
- Если починить /boot не получилось, то его нужно создать заново. Загрузитесь с livecd. Найдите раздел с загрузчиком, либо создайте новый. Отформатируйте его, установите на него загрузчик и запишите его в MBR с указанием на вновь созданный раздел.
Если ничего не помогло и вы не понимаете, что нужно сделать, то посмотрите вот это руководство по grub. Здесь очень хорошо и подробно все описано.
Еще совет. Если у вас живы сами данные, то зачастую бывает проще настроить новую виртуалку, подключить к ней диск от старой и перенести все данные. Так вы точно сможете спрогнозировать время восстановления системы. Обычно за час на все про все можно уложиться. Когда вы начинаете чинить упавшую систему, никогда точно не знаете, сколько времени уйдет на восстановление. В моем случае я загрузку за 30 минут и запустил машину. Потом еще 2 часа разбирался на копии виртуальной машины, что случилось и пытался найти решение проблемы без переустановки виртулаки. Получил некоторый опыт, но если бы я сразу все перенес на новую виртуальную машину, то потратил бы меньше времени.
Способ 3. Ремонт с помощью Boot Repair в Ubuntu
Ошибка Grub Rescue Unknown Filesystem также исправляется с помощью этой утилиты.
Boot Repair — простой инструмент для восстановления частых проблем с загрузкой для Linux, Windows и других ОС. Он бесплатный, с открытым исходным кодом и простой в использовании (ремонт одним щелчком мыши).
Так как загрузчик не работает, следует запустить Ubuntu с Live CD или USB-карты. И далее, через терминал скачать эту утилиту для починки загрузчика.
Важно! Чтобы каждый раз не проводить эту операцию заново, Вам нужно будет восстановить загрузчик Grub. Как это делается я уже рассказывал, в предыдущей статье
Генерация файла конфигурации GRUB
Данный шаг нужно выполнять не всем. Если у вас был установлен GRUB и вы уверены, что его конфигурация верная, то можно перейти к следующему шагу.
Для генерации файла конфигурации GRUB используется команда update-grub. Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:
sudo update-grub
В выводе команды будет показано, какие операционные системы были найдены.
Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).
Появляется ошибка error no such partition | Как восстановить загрузчик
Хочу поделиться небольшой историей о том, как я благополучно снес Ubuntu, но ничем хорошим это не кончилось.
У меня на ноутбуке HP стоит Windows 10, но мне захотелось попрактиковаться в работе с Linux-системами, для чего я установил Ubuntu. Поработав в ней немного, я решил ее снести (стёр раздел с Ubuntu утилитой AOEMI Partition Assistant) и установить на виртуальную машину – Virtual Box. При этом, ноутбук я не выключал.
Я отошел на час и когда вернулся ноутбук выключен, когда я его включил, появляется сообщение на черном экране – no such partition grub rescue.
В нашем случае, GRUB – загрузчик для Linux, ведет запись информации на первый раздел диска MBR, файлы загрузчика помещаются на раздел с установленной системой в моем случае на раздел с Ubuntu.
Я удалил раздел с системой Ubuntu, в итоге загрузчика физически не существует, о нем остались только некоторые записи. Ноутбук не может ничего делать, а в Windows просто так вы не попадете.
К счастью, решение проблемы я нашел быстро, причем не одно, сейчас я расскажу, что нужно делать при появлении такой проблемы.
Почему «ломается» загрузчик GRUB?
Естественно, само по себе ничего не происходит. Если «сломалась» загрузка GRUB – значит что-то на это повлияло. Очень часто в подобных ситуациях пользователи говорят, что системную конфигурацию не изменяли, а GRUB вдруг перестал работать. И они отчасти правы.
На самом деле GRUB довольно чувствителен к любому изменению как своей, так и системной конфигурации, каким бы универсальным и удобным он ни был. Так, например, изменение идентификатора раздела, хранящего ядра (/boot), уже приведёт к невозможности загрузки системы. И GRUB здесь и ни причём. Нужно искать причину, по которой изменился идентификатор раздела. А они могут быть самыми разными. К примеру, даже если компьютер долгое время не использовался и на его платы не подавалось питание. То это также может быть причиной сброса некоторых настроек BIOS (по причине севшей батареи). Что может привести при последующем после длительного перерыва включении переопределению параметров оборудования. От которых зависит, в некоторых случаях, и идентификатор раздела. Это лишь одна из причин неработоспособности GRUB, самая неочевидная, которую не могут предусмотреть ни разработчики GRUB, ни создатели системных плат.
Наличие ошибок на разделах диска, человеческий фактор (особенно среди малоопытных пользователей) также очень часто являются причиной неработоспособности GRUB. Главное, что нужно понимать — это то, что в большинстве случаев причиной является внешний фактор. A GRUB – это довольно уязвимое место, чувствительное практически к любым внешним воздействиям, поскольку это программная среда, организующая передачу управления компьютером от BIOS (UEFI) к ОС.
Как восстановить загрузчик 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.
Загрузка в Live-режиме
Теперь нужно загрузиться с созданного диска или флешки.
Чтобы это сделать сначала нужно в BIOS выбрать приоритет загрузки с CD/DVD или с USB (если вы используете флешку).
На современных компьютерах, где используется BIOS/UEFI, для входа в BIOS нужно при включении компьютера удерживать специальную клавишу. У разных производителей клавиша может быть разной. Обычно это: F2, Del, F10, Esc, F11 или F3.
На старых компьютерах, где используется классический BIOS, чтобы войти в BIOS нужно при загрузке компьютера, в самом начале, когда появляется логотип материнской платы, нажать специальную клавишу. Для разных материнских плат клавиша может быть разной. Обычно это одна из клавиш: Del, F1, F2, F8, F10 или какая-нибудь другая, или даже сочетание клавиш. Подробности: Настройка BIOS для загрузки с CD/DVD-диска или с USB-носителя
Обновление загрузчика
Дальнейшее решение проблемы с загрузкой будет зависеть от того, что у вас сломалось. Возможно будет достаточно просто переустановить загрузчик:
Эта команда переустановит в MBR код загрузчика, который будет подхватывать тот раздел /boot, с которого вы в данный момент загрузились. Если это не поможет, то внесите необходимые изменения в в конфиг grub и пересоздайте его командой:
А после этого установите на диск:
Конфиг груба находится в разных дистрибутивах в разных местах. Какие туда вносить изменения, заранее тоже не могу сказать, будет зависеть от проблем. Скорее всего все это придется вам гуглить, если не получится сходу починиться по моим рекомендациям.
Устанавливаем GRUB
Осталось выполнить установку GRUB на диск. Мы определили раздел на котором у нас установлен GRUB на первом шаге данного руководства. В моем случае это раздел /dev/sda2, который расположен на диске /dev/sda.
Для установки GRUB используется команда grub-install, которой нужно передать в качестве параметра диск, на который будет выполняться установка (в моем случае это диск /dev/sda):
https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windowsIf Ubuntu is installed in EFI mode, and EFI partition UUID has changed, you may need to update it in /etc/fstab. Compare it:blkid | grep -i efigrep -i efi /etc/fstab
Почему система не загрузилась
Теперь рассказываю, что было в моем случае. Корень системы / располагался на lvm разделе вместе с /boot разделом. В какой-то момент корневой раздел был увеличен в размере за счет расширения тома lvm еще одним диском. Все это было сделано на лету, без перезагрузки системы. Причем сделано было мной давно, и с тех пор сервер ни разу не перезагружался до настоящего времени. Я не знаю почему, но данная операция привела к тому, что grub перестал загружаться с этого lvm раздела.
UUID физического тома и логического раздела не поменялись. То есть там информация, в начале загрузки, с ошибкой загрузки диска с lvmid, верная. Уиды правильные. Я понял, что причина в изменении размера диска только по аналогичным сообщениям в интернете. Наткнулся на несколько человек, которые обращались с похожей проблемой, где перед этим они тоже изменяли корневой раздел. Похоже это какой-то системный баг, возможно даже конкретной системы.
В моем случае на диске почему-то оказался отдельный раздел на 500 мб с файловой системой ext2. На нем как раз и был загрузчик, с которого я загрузился в rescue boot. Откуда взялся этот раздел, я не знаю. По идее, если он был создан автоматически во время установки системы, на нем бы и должен быть актуальный раздел /boot. Но нет, его не было в fstab и он не использовался. Я не стал долго разбираться, почему так получилось, а просто подмонтировал этот раздел в систему, обновил на нем grub и записал обновленный grub в MBR. После этого система благополучно загрузилась с этого раздела.
Если кто-то знает, почему мой загрузчик не смог загрузиться с lvm раздела, при том, что uuid указан правильно, прошу подсказки. Самому очень интересно, так как ситуация получилась неприятная и совершенно мне не понятная. Я часто расширяю корневой lvm раздел на ходу, но первый раз сталкиваюсь с тем, что это приводит к поломке загрузчика. Grub уже давно умеет грузиться с lvm раздела и каких-то дополнительных действий для этого делать не надо.
Восстановление grub
Продолжаем восстановление загрузки ubuntu. Сам /boot раздел мы вернули, но загрузчик grub почему-то не работает и система не грузится. Загружаемся опять с установочного диска и переходим в консоль. Напомню, что у меня такая картина по разделам:
Device Boot Start End Sectors Size Id Type /dev/sda1 * 4096 2101247 2097152 1G 83 Linux /dev/sda2 2101248 20969471 18868224 9G 83 Linux
Первый раздел это /boot, второй корень / . Смонтируем их в /mnt, а так же добавим несколько системных директорий.
sudo mount /dev/sda2 /mnt sudo mount /dev/sda1 /mnt/boot sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
Теперь чрутимся в /mnt, чтобы оказаться в нашей системе:
sudo chroot /mnt
И уже отсюда восстанавливаю загрузчик grub:
grub-install /dev/sda sudo update-grub --output=/mnt/boot/grub/grub.cfg
По идее, ошибок получить не должны. Если получили, то гуглите их. Надо обязательно их решить, иначе система так и не начнет загружаться корректно.
Теперь выходим отсюда и перезагружаем сервер. Вынимаем установочный диск и загружаемся с основного диска. У меня пошла загрузка.
Давайте еще раз повторим все, что мы сделали:
- Мы увидели, что система не грузится и валится в grub rescue. Загрузчик не может найти раздел, с которого продолжить загрузку. Мы попробовали в rescue console посмотреть все имеющиеся разделы и не нашли там boot. Если же нашли, то сразу же загрузились с него.
- После этого загрузились с загрузочного диска ubuntu, перешли в консоль. Установили утилиту testdisk и просканировали наш диск. Нашли пропавший раздел, восстановили /boot. Если раздел не нашли, то создали вручную.
- После этого смонтировали к livecd системе локальные диски, зачрутились в эту систему и штатно восстановили grub загрузчик.
- После этого система нормально загрузилась.
Почему система не загрузилась
Теперь рассказываю, что было в моем случае. Корень системы / располагался на lvm разделе вместе с /boot разделом. В какой-то момент корневой раздел был увеличен в размере за счет расширения тома lvm еще одним диском. Все это было сделано на лету, без перезагрузки системы. Причем сделано было мной давно, и с тех пор сервер ни разу не перезагружался до настоящего времени. Я не знаю почему, но данная операция привела к тому, что grub перестал загружаться с этого lvm раздела.
UUID физического тома и логического раздела не поменялись. То есть там информация, в начале загрузки, с ошибкой загрузки диска с lvmid, верная. Уиды правильные. Я понял, что причина в изменении размера диска только по аналогичным сообщениям в интернете. Наткнулся на несколько человек, которые обращались с похожей проблемой, где перед этим они тоже изменяли корневой раздел. Похоже это какой-то системный баг, возможно даже конкретной системы.
В моем случае на диске почему-то оказался отдельный раздел на 500 мб с файловой системой ext2. На нем как раз и был загрузчик, с которого я загрузился в rescue boot. Откуда взялся этот раздел, я не знаю. По идее, если он был создан автоматически во время установки системы, на нем бы и должен быть актуальный раздел /boot. Но нет, его не было в fstab и он не использовался. Я не стал долго разбираться, почему так получилось, а просто подмонтировал этот раздел в систему, обновил на нем grub и записал обновленный grub в MBR. После этого система благополучно загрузилась с этого раздела.
Если кто-то знает, почему мой загрузчик не смог загрузиться с lvm раздела, при том, что uuid указан правильно, прошу подсказки. Самому очень интересно, так как ситуация получилась неприятная и совершенно мне не понятная. Я часто расширяю корневой lvm раздел на ходу, но первый раз сталкиваюсь с тем, что это приводит к поломке загрузчика. Grub уже давно умеет грузиться с lvm раздела и каких-то дополнительных действий для этого делать не надо.
Определение разделов
Теперь нужно определить раздел диска, на котором был установлен 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.
Видео
Grub-rescue, как восстановить загрузку.
Предыстория. Попал в руки ноутбук Samsung NP355V4C с установленной на оном Windows 7. Задача: поставить параллельно Debian. Странности начались с самого начала — в биосе почему то ну никак не смог выставить загрузку сначала с флешки, затем с жесткого диска. Т.е. или одно или другое. Ну и ладно, бог с ним, запустил сетевую установку Debian. После установки дистрибутив по умолчанию поставил GRUB на флешку. Необходимо было переместить GRUB на жесткий диск. Что и сделал по следующему руководству
Перезагрузился без флешки, получил Grub-rescue. В rescue mode доступно всего четыре команды:
- ls — вывод содержимого
- set — установить переменную
- unset — очистить переменную
- insmod — загрузка модуля
Т.е. текущая задача найти где хранятся модули и загрузить их. Вначале следует дать команду:
В ответ она выведет, например, следующее:
По непонятным причинам, в данном примере Grub даже не понимает, какие файловые системы находятся на разделах дисков, и почему-то их считает как msdos.
Нам нужно постараться угадать, какие диски мы видим. В данном случае видно два диска. Диск с индексом 0 содержит три раздела, диск с индексом 1 содержит два раздела. Я знаю, что мой линукс, который мне нужно загрузить, находится на диске с тремя разделами. Поэтому делаю вывод, что мне нужен hd0.
По непонятным причинам Grub называет разделы в обратном порядке. И становится непонятно, что имеется в виду под (hd0,msdos3) — первый раздел или третий? Тут можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что в Grub счет дисков начинается с 0, а счет разделов — с 1.
Так как я знаю, что Linux в моем случае установлен на первый раздел, то нужный мне раздел будет обозначаться (hd0,1). Выяснив обозначение радела, нужно дать команды:
Этими командами мы указываем использовать диск (hd0,1) для дальнейших команд. После чего нужно проверить, действительно ли на этом разделе есть то что нам нужно. Даем команду:
должно вывестись на экран куча файлов с расширением md
После чего Grub перейдёт в полнофункциональный режим. Он автоматически найдет все разделы с которых можно грузить ОС и покажет своё Grub-меню.
Дальнейшее восстановление обычно сводится к тому, чтобы загрузить нужный нам Linux, и в нем от root дать команду:
Эта команда переустановит в MBR код Grub-а таким образом, что он автоматически будет подхватывать свою вторую часть с раздела, с которого вы и загрузились.
Main changes
The last Rescatux stable version was released on October 2012. That’s about eight years ago.
Many changes have happened to Rescatux since then. UEFI options which became mainstream at 2015 have been added. Secure Boot support has been added. Rescapp is now its own program.
Rescapp 0.56 main menu featured at Rescatux 0.73
Rescapp had some serious usability flaws that have been fixed. When you run an option you never knew if it was working ok. Now you have an status for the option.
Rescapp 0.56 – Status label shows that the Easy GNU/Linux boot option is being run
Finally the complete nightmare of pop-ups that were shown when an option is run have been replaced by nice coloured scrolling messages.
Rescapp 0.56 – Nice scrolling coloured messages show what the option does
One of the best improvement has been done recently. Rescapp has been improved so that every option is properly documented (as well as a non native English speaker can write).
Not only every question explains all the steps that it performs and the questions they are going to make but some scenarios are explained so that you can understand what’s the most suitable scenario when to use the option.
Rescapp 0.56 – Now every option has its own documentation with examples of use
Почему система не загрузилась
Теперь рассказываю, что было в моем случае. Корень системы / располагался на lvm разделе вместе с /boot разделом. В какой-то момент корневой раздел был увеличен в размере за счет расширения тома lvm еще одним диском. Все это было сделано на лету, без перезагрузки системы. Причем сделано было мной давно, и с тех пор сервер ни разу не перезагружался до настоящего времени. Я не знаю почему, но данная операция привела к тому, что grub перестал загружаться с этого lvm раздела.
UUID физического тома и логического раздела не поменялись. То есть там информация, в начале загрузки, с ошибкой загрузки диска с lvmid, верная. Уиды правильные. Я понял, что причина в изменении размера диска только по аналогичным сообщениям в интернете. Наткнулся на несколько человек, которые обращались с похожей проблемой, где перед этим они тоже изменяли корневой раздел. Похоже это какой-то системный баг, возможно даже конкретной системы.
В моем случае на диске почему-то оказался отдельный раздел на 500 мб с файловой системой ext2. На нем как раз и был загрузчик, с которого я загрузился в rescue boot. Откуда взялся этот раздел, я не знаю. По идее, если он был создан автоматически во время установки системы, на нем бы и должен быть актуальный раздел /boot. Но нет, его не было в fstab и он не использовался. Я не стал долго разбираться, почему так получилось, а просто подмонтировал этот раздел в систему, обновил на нем grub и записал обновленный grub в MBR. После этого система благополучно загрузилась с этого раздела.
Если кто-то знает, почему мой загрузчик не смог загрузиться с lvm раздела, при том, что uuid указан правильно, прошу подсказки. Самому очень интересно, так как ситуация получилась неприятная и совершенно мне не понятная. Я часто расширяю корневой lvm раздел на ходу, но первый раз сталкиваюсь с тем, что это приводит к поломке загрузчика. Grub уже давно умеет грузиться с lvm раздела и каких-то дополнительных действий для этого делать не надо.
Grub rescue Commands
Each of GRUB failed modes can be fixed by the grub terminal or live CD installer.
At the grub command prompt, enter ‘ls’ to see the disk drives and available partitions:
Where:
hd0: the hard disk
msdos: the partition type
Normally, the OS is booted from the first partition of the hard disk. In this case, to verify that the bootable partition is ‘msdos1’, let’s run the following command:
Next, let’s explore the grub2 directory by running:
Output:
As you can see, the grub in Linux has its own configuration file: ‘grub.cfg’.
If you don’t see this file, you can create it by running the command:
In order to boot your system, let’s type:
Output:
Running the ‘set root’ will define the bootable partition. The default kernel is linux v3.10.
Now, we have to define the path to grub2 directory:
Then:
Here also, you will need to change the partition to your boot partition.
If you are unable to boot your system (which might be due to bad filesystem, or due to missing GRUB configuration file), you will need to boot from some other medium. You can use some bootable rescue CD or the Live CD of your distribution if available.
Once you have booted into your system, you might need to create the GRUB configuration files, if missing or if misconfigured. To create these configuration files, run:
This command needs superuser privileges. So run this command (and the following commands in this article) as root.
The next step is to install GRUB on the MBR. This will fix the problem caused by Windows, in which Windows installs its bootloader on MBR, after installation of Windows over Linux. Here I assume that you have booted from the Live or rescue CD.
Now, before we go to the details of installing GRUB on MBR, we need to mount the root partition of Linux.
Here, the root partition is assumed to be ‘/dev/sda1’. This partition is mounted on /mnt directory. You can choose your own mount point, and your root filesystem partition may be different.
Now, we are ready to install GRUB. Run the following command:
This will install the GRUB on Master Boot Record. If you wish to install it on some partition, replace the last argument of the above command with the proper partition.