Как восстановить загрузчик grub

Введение

Есть сильно нагруженная виртуальная машина, для которой нужно было добавить ядер и оперативной памяти. Аптайм у нее был примерно пол года. Ничего не предвещало беды. Я предупредил, что простой будет секунд 30 и ребутнул машину. Как только увидел консоль виртуалки, понял, что дальше начинается веселье с непредсказуемым результатом. Адреналина добавила информация от разработчиков, что бэкапов у них нет

Machine UUID…Booting from Hard Disk…error: disk ‘lvmid/….’ not found.Entering rescue mode…grub rescue>

Для тех, кто еще не знаком с подобным, поясню. Начальный загрузчик не смог найти /boot раздел для продолжения загрузки. Вместо этого он сообщил, что раздел с указанным lvmid, где располагается boot, он не видит и дальше загрузиться не может. Машина находится в режиме grub rescue. Причин появления этого режима может быть много. Мне всегда приходится с чем-то новым сталкиваться, но методика решения проблемы примерно одна, и я дальше о ней расскажу. А потом поясню, что было с этой конкретной виртуалкой.

Введение

Итак, на текущий момент у Вас при включении компьютера появляется меню загрузчика GRUB, в котором первым пунктом идет операционная система Linux Ubuntu (или другой дистрибутив Linux, в моем случае именно Ubuntu). Выглядит это меню следующим образом.

  • Ubuntu – это как раз операционная система Linux Ubuntu;
  • Windows Boot Manager (на /dev/sda2) – это Windows 10.

Если ничего не выбрать, то через несколько секунд, по умолчанию, будет загружаться Ubuntu.

У нас стоит задача изменить порядок загрузки операционных систем таким образом, чтобы первым пунктом стояла Windows 10 и, соответственно, загружалась также первой. Дополнительно, для удобства и ясности, мы хотим присвоить пункту Windows Boot Manager более удачное имя, например – Windows 10.

Все этом можно реализовать с помощью одной программы – Grub Customizer, которую можно использовать в Linux Ubuntu.

Таким образом, сейчас я покажу, как установить Grub Customizer в Linux Ubuntu, и изменить порядок загрузки операционных систем в загрузчике Grub, используя эту программу.

Как удалить загрузчик Grub в UEFI

Эта проблема тоже решается с помощью утилиты Bootice. Только на это раз вам нужна именно 64-битная версия программы.

Одно из преимуществ UEFI на MBR в том, что здесь можно устанавливать сразу несколько загрузчиков на специальный раздел. Для удаления загрузчика Grub и восстановления функциональности Windows достаточно переместить Grub чуть ниже в очереди загрузки UEFI.

Откройте программу, перейдите на вкладку UEFI и нажмите Edit Boot Enteries. Откроется такое окно:

Здесь у вас есть два варианта действий. Либо опустить Grub ниже загрузчика Widnows кнопкой Down, либо полностью удалить запись о загрузчике кнопкой Del. Но в обоих случаях файлы загрузчика останутся на диске. Полностью удалить загрузчик Grub со всеми его файлами нужно из командной строки. Это немного сложный процесс, но всё же мы его разберём.

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

Далее нам понадобится утилита diskpart, все действия мы выполним с помощью неё. Запустите её командой:

Затем смотрим доступные диски:

И выбираем наш единственный диск, на котором сейчас установлена Windows, а раньше была установлена Ubuntu:

После того, как был выбран диск, мы можем посмотреть список разделов на нём:

Среди этих разделов есть и раздел с файлами EFI, для обычной системы он скрыт, но не для этой утилиты. В нашем случае это Volume 2. Как правило, это небольшой раздел с файловой системой FAT32 и отмеченный как системный.

Мы выбрали этот раздел текущим с помощью команды:

Затем назначим ему букву, чтобы можно было с ним работать:

Утилиту можно закрывать. Дальше продолжаем выполнять действия в консоли. Сделать всё с помощью проводника вы не сможете, потому что нужны права администратора. Переходим на диск E:

Переходим в папку EFI:

Удаляем папку с файлами загрузчика Ubuntu:

Готово: удаление загрузчика Grub завершено, и теперь его файлов больше нет в системе.

Check Rescatux 0.73 release

If you already have Rescatux 0.73 there’s no need to download Rescatux 0.74.This is a quick release with almost no changes so this piece of news will be quite short. Please check Rescatux 0.73 released piece of news for the full detail of what Rescatux has in it.The original idea was to work on Super Grub2 Disk but I just realised that I had to update the official Super Grub2 Disk irc channel… and, guess what, Rescatux also uses IRC so it needed a quick update.I have almost not tested this Rescatux version. Was it not to work for you please try Rescatux 0.73 instead. Feedback on stuff that it previously worked ok on Rescatux 0.73 but it no longer works in Rescatux 0.74 on the github issues page is welcomed.

Rescatux 0.73 features Rescapp 0.56

Как восстановить загрузчик GRUB?

Если случалось так, что файлы в соответствующих разделах полностью затерты, то придется заниматься восстановлением загрузчика. Процесс этот можно осуществить двумя способами.

Первый из них предполагает взаимодействие с системой через терминал:

  1. Требуется загрузить Linux с того носителя, который использовался при инсталляции. Иногда необходимо войти в БИОС, чтобы включить загрузку с диска или флешки.
  2. Далее стоит открыть терминал, нажав комбинацию клавиш Ctrl + Alt + T, и вывести существующие разделы на экран посредством команды sudofdisk —i.
  3. После этого появится таблица с каталогами. Нужно найти корневой раздел и смонтировать его. Для этого следует ввести sudomount /dev/sda5/mnt. Вместо sda5 требуется прописать имя конкретного раздела. Он может отличаться.
  4. Восстановить загрузчик помогает команда sudo grub-install – root-directory=/mnt /dev/sda.
  5. В самом конце нужно ввести sudo reboot для перезагрузки.

При необходимости можно воспользоваться специальной утилитой, чтобы автоматизировать процесс. Для этого после загрузки с установочного носителя придется ввести всего три команды. Пример для дистрибутива Ubuntu.

  • первая – sudo add-apt-repository ppa^yannubuntu/boot-repair;
  • вторая – sudo apt-get update;
  • третья – sudo apt-get install boot-repair.

Удаление Grub при восстановлении ОС Windows

Рассмотрим ситуацию, когда пользователю компьютера необходимо удалить операционную систему Линукс вместе с её стандартным загрузчиком, оставив при этом ОС Windows с другой программой. Если в системе используется таблица MBR, то подобные манипуляции выполняются крайне легко.

В Интернете можно встретить распространенную рекомендацию: «Возьмите установочный диск Виндовс и загрузитесь с него в режиме восстановления». А далее предлагается выполнение специальных команд. Они будут указаны ниже.

Первое действие:

bootrec \fixboot

Второе действие:

Стоит отметить тот факт, что данный совет является эффективным и вполне применимым на практике. Однако это не самый быстрый способ восстановления стандартного загрузчика Windows, который понадобится для полноценной работы системы. Чтобы удалить Grub и вернуть «виндовскую» программу, пользователю необходимо воспользоваться специальной утилитой.

Искать программу на официальном сайте – занятие бессмысленное, поскольку китайский интерфейс окажется многим не по зубам. Перед скачиванием софта выберите подходящую разрядность для своей ОС.

После этого нужно действовать, следуя простой инструкции:

  1. Запустите программу Bootice на своём компьютере.
  2. Выделите диск, на котором наличествует загрузчик Grub.
  3. Далее нажмите на «Proccess MBR».
  4. В открывшемся окне выберите вариант «Windows NTx …». Скорее всего, он будет находиться в самом низу этого списка.
  5. Затем подтвердите своё решение путем нажатия на кнопку «Install / Config».
  6. Выберите нужную версию MBR на своё усмотрение.

При правильном выполнении указанных действий перед пользователем появится маленькое окошко с подтверждением об удачной замене загрузчика. Нажмите на кнопку «ОК» и выполните перезагрузку вашего устройства. Проверьте, вступили ли изменения в силу.

Ускорение загрузки Linux

Начнем мы с оптимизации ядра 5 секунд, это не так много, но можно же еще улучшить. Мы не будем пересобирать ядро, хотя и это дало бы больший эффект, мы просто настроим его работу с помощью параметров загрузки.

Настраивать Grub будем правильно. Параметры загрузки ядра находятся в файле /etc/default/grub, а именно в строчке GRUB_CMDLINE_LINUX_DEFAULT. Откройте этот файл:

Теперь приводим интересующую нас строчку к такому состоянию:

Разберем подробнее за что отвечает каждый параметр:

  • quiet — вывод, это долго, поэтому говорим ядру что на экран нужно выводить минимум информации
  • rootfstype=ext4 — указываем в какую файловую систему отформатирован корень. У меня ext4.
  • libahci.ignore_sss=1 — Ignore staggered spinup flag, ускоряет загрузку жестких дисков
  • raid=noautodetect — raid я не использую, думаю вы тоже поэтому отключаем.
  • selinux=0 — система полномочий selinux на домашней машине тоже ни к чему, без нее будет быстрее.
  • plymouth.enable=0 — заставка plymouth тоже занимает много времени, поэтому убираем заставку
  • lpj=12053560 — позволяет задать константу loops_per_jiffy, что позволит ядру не вычислять ее каждый раз и сэкономит до 250 миллисекунд. Это значение индивидуально для каждого компьютера.

Чтобы узнать значение последнего параметра выполните:

Нас будет интересовать значение lpj=, укажите его в своем конфигурационном файле.

Также для указания корневого раздела желательно не использовать всякие там UUID, быстрее будет если написать прямо. Для того чтобы конфигуратор grub не использовал grub добавьте в тот же файл строчку:

Сохраните файл и обновим конфигурацию grub:

Проверяем, действительно ли установлены нужные опции:

Да, все правильно, перезагружаем компьютер, и смотрим что вышло:

Почти на одну секунду быстрее, и то хорошо. Возможно, у вас эффект будет намного лучше. Теперь идем разбираться с сервисами.

Способ 3. Ремонт с помощью Boot Repair в Ubuntu

Ошибка Grub Rescue Unknown Filesystem также исправляется с помощью этой утилиты.

Boot Repair — простой инструмент для восстановления частых проблем с загрузкой для Linux, Windows и других ОС. Он бесплатный, с открытым исходным кодом и простой в использовании (ремонт одним щелчком мыши).

Так как загрузчик не работает, следует запустить Ubuntu с Live CD или USB-карты. И далее, через терминал скачать эту утилиту для починки загрузчика.

Важно! Чтобы каждый раз не проводить эту операцию заново, Вам нужно будет восстановить загрузчик Grub. Как это делается я уже рассказывал, в предыдущей статье

Как исправить Grub unknown error

У вас есть простейший терминал с самой простой командной оболочкой. Чтобы знать какие команды можно там вводить наберите:

Дальше нам нужно посмотреть список доступных разделов, для этого используется команда ls, как в bash:

Без модулей grub поддерживает только ту файловую систему, которая была на /boot. Вы можете попытаться просмотреть содержимое каждого раздела чтобы определить где находятся файлы модулей. Например:

Если вы увидели папку boot, значит это наш раздел. Дальше устанавливаем этот раздел значением переменной root с помощью команды set:

set root=(hd0,1) set prefix=(hd0,1)/boot/grub

Загружаем и запускаем модуль normal, который должен загрузить все, что нам необходимо:

insmod normal normal

Если раздел /boot не был поврежден, то загрузчик нормально определит все файлы, а потом запустит привычное для вас меню. Конечно, после того, как система загрузится, вам будет необходимо восстановить загрузчик Grub чтобы не вводить эти команды при каждой загрузке системы.

Загрузка в 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-носителя

Как восстановить загрузчик GRUB?

Если случалось так, что файлы в соответствующих разделах полностью затерты, то придется заниматься восстановлением загрузчика. Процесс этот можно осуществить двумя способами.

Первый из них предполагает взаимодействие с системой через терминал:

  1. Требуется загрузить Linux с того носителя, который использовался при инсталляции. Иногда необходимо войти в БИОС, чтобы включить загрузку с диска или флешки.
  2. Далее стоит открыть терминал, нажав комбинацию клавиш Ctrl + Alt + T, и вывести существующие разделы на экран посредством команды sudo fdisk —i.
  3. После этого появится таблица с каталогами. Нужно найти корневой раздел и смонтировать его. Для этого следует ввести sudo mount /dev/sda5/mnt. Вместо sda5 требуется прописать имя конкретного раздела. Он может отличаться.
  4. Восстановить загрузчик помогает команда sudo grub-install – root-directory=/mnt /dev/sda.
  5. В самом конце нужно ввести sudo reboot для перезагрузки.

При необходимости можно воспользоваться специальной утилитой, чтобы автоматизировать процесс. Для этого после загрузки с установочного носителя придется ввести всего три команды. Пример для дистрибутива Ubuntu.

  • первая – sudo add-apt-repository ppa^yannubuntu/boot-repair;
  • вторая – sudo apt-get update;
  • третья – sudo apt-get install boot-repair.

Grub не видит Windows 10

Существует несколько причин по которым возникает эта проблема. Чаще всего это неисправная работа os-prober или размещение системы на другом жестком диске.

В первую очередь нужно сделать так, чтобы программа увидела раздел. Затем переместите его в другую папку:

$ sudo mount -t ntfs-3g -o ro /dev/sda1

Запустите утилиту os-prober.

После обнаружения Windows обновите конфигурацию загрузчика. Одним из этих способов:

  • $ sudo update-grub;
  • $ sudo grub2-mkconfig -0 /boot/grub/grub.cfg;

Бывает, что это не помогает. Тогда нужно внести пункт меню Windows вручную. Это процедура займет немного больше времени, но будет эффективнее.

Необходимо узнать UUID  диска, на котором установлена Windows и выполнить такое действие:

$ blkid /dev/sda1

Потом нужно открыть окно  /etc/grub.d/40_custom и добавить туда нижеуказанный код:

$ enuentry “Windows 10” {
insmod ntfs
set root= ‘(hd0,1)’
search -- no-floppy -- fs-uuid set B4A6AEB7A6AE7A0E
chainloader +1
}

При помощи следующей команды произойдет обновление конфигурации:

$ sudo update-grub

How to Fix Error: No Such Partition Grub Rescue Windows 10

How to fix error no such partition grub rescue on Windows 10? Here are practical ways to try out.

Workable Solutions Step-by-step Troubleshooting
Fix 1. Rebuild the MBR and BCD Use EaseUS Partition Master and Windows 10 Automatica Repair tool to fix MBR and restore the BCD files to solve Windows 10 grub rescue issue…
Fix 2. Restore boot sector code Damaged boot sector code may cause the Windows 10 grub rescue error prompt. You should try to restore the boot sector code into consideration…
Fix 3. Configure the active partition Using the Diskpart to configure and set the system partition as active is another effective method to fix error no such partition on Windows 10…

Восстановление GRUB

В данной статье рассматривается процесс восстановления загрузчика GRUB 2.

Причины, по которым может понадобится восстановить GRUB, могут быть разными.

Очень часто требуется восстанавливать GRUB после установки Windows. Если у вас был установлен Linux и вы установили в соседний раздел или на соседний диск Windows, то после перезагрузки компьютера загрузится Windows, как будто Linux вообще пропал. Загрузчик GRUB даже не появился. Иногда подобное происходит при обновлении существующего Windows.

Иногда требуется восстановление GRUB после установки Linux, когда неверно был выбран раздел для установки загрузчика.

Во всех случаях нужно выполнить восстановление загрузчика GRUB. Существуют разные способы восстановления. В данном руководстве рассматривается процесс использованием загрузочного Live-образа Linux. Загрузившись в Live-систему вам нужно будет ввести несколько команд, чтобы выполнить восстановление. Рассматривается способ восстановления без использования сторонних программ.

Также иногда различают процесс восстановления для систем с BIOS и с UEFI. Описанный ниже способ рассматривает оба этих случая. Я тестировал его как на компьютерах с традиционным BIOS, так и с UEFI.

Загрузка в 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-носителя

FAQs About Error No Such Partition Grub Rescue

Do you have more questions about fixing error no such partition entering rescue mode on Windows 10? If so, check the following hot topics and their answers.

How do I fix error no such partition?

In conclusion, you have three ways to fix error no such partition:

  • Fix 1. Rebuild the MBR and BCD
  • Fix 2. Manually configuring the active partition
  • Fix 3. Restore boot sector code

How do I fix grub error no such partition unknown file system?

Corrupted or damaged MBR or BCD may cause grub error no such partition unknown file system, try to rebuild MBR and BCD files at first. If MBR fixing is not useful, continue trying to restore the boot sector code and make system partition as active to make sure your Windows can reboot properly.

How do I get rid of grub rescue error?

You can use the three solutions to solving Windows 10 grub rescue error. In order to prevent this issue from happening again, you should pay attention to the following points:

  • If you want to delete the Ubuntu operating system on both systems, you should do it the right way.
  • If you want to reinstall the Ubuntu operating system, make sure you install the new system to the original partition.
  • You’d better not restore your Ubuntu to the old version, or you will damage Grub.

How do you fix error attempt to read or write outside of hd0?

When you try to I install Ubuntu on an older computer after the installation finished, you may encounter the following problem while rebooting the computer:

error: attempt to read or write outside of disk’ hd0′. Entering rescue mode… grub rescue>

To fix this issue, you can make a boot repair USB disk and use the Windows automatic repair feature to troubleshoot. Or you can try some workarounds from the technical forum. 

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.

Grub Customizer

Grub Customizer — это программа, позволяющая настраивать различные параметры загрузчика Grub. В том числе и положение и очередность пунктов загрузки. Установить программу можно из официальных репозиториев. Например, в Ubuntu нужно использовать ppa:

Для запуска программы откройте терминал (Ctrl + Alt + T) и наберите grub-customizer:

Для работы программы необходимы права root, в некоторых системах возможно придется использовать такую команду:

Также программу можно запустить из главного меню. Главное окно выглядит вот так:

Несколько секунд после запуска программа будет сканировать установленные операционные системы, затем в этом же окне мы сможем перенести загрузку Windows на первое место. Для этого кликните на нужном пункте правой кнопкой чтобы открылось контекстное меню:

В меню выберите пункт Переместить вверх. Это действие нужно будет повторить несколько раз, пока Windows не будет первой в списке. Теперь будет выполняться загрузка windows по умолчанию grub.

Если потом вы захотите опустить Windows обратно вниз, есть обратное действие — Переместить вниз.

Для сохранения настроек просто нажмите кнопку Сохранить. Готово. Можете перезагружать компьютер и смотреть что получилось.

Но я хочу затронуть еще пару настроек, которые могут быть полезны. Вместо того чтобы делать загрузку Windows первой в Grub, можно изменить пункт запускаемый по умолчанию. Перейдите на вкладку Основные настройки:

Здесь для выбора пункта по умолчанию используемого по умолчанию есть список Задействовать:

Кроме того, можно загружать по умолчанию последнюю загруженную ОС, для этого есть галочка:

Не забудьте снова нажать кнопку сохранить.

Загрузка и восстановление с помощью LiveCD

При использовании любого из альтернативных вариантов загрузки «родной» системы очень полезно сначала узнать (или убедиться), с какого устройства происходит загрузка. Необходимо заранее это выяснить в настройках BIOS компьютера. Это необходимо, если придётся не просто обновить конфигурацию загрузчика, а полностью его переустановить. А для этого очень желательно устанавливать его на то устройство, которому из BIOS передаётся управление для дальнейшей загрузки ОС. Для BIOS материнских плат MSI это выглядит примерно следующим образом:


Рис. 1: BIOS MSI — просмотр и настройка приоритета устройств для загрузки системы.

Как можно видеть, для данной системы загрузочным устройством является SSD-накопитель «Samsung SSD 860 EVO 250 GB». А пока это наименование можно запомнить или где-нибудь записать.

Теперь можно загрузиться с любого Live-образа используя для этого оптический CD/DVD-диск или накопитель USB-Flash

Опуская технические подробности, важно заметить, что для этого должны быть сделаны соответствующие настройки в BIOS компьютера. В качестве Live-образа рекомендуется использовать ту же систему, что и установлена на компьютере

Итак, загрузившись в Live-режиме, первым делом следует запустить командную консоль. Далее, необходимо определить корневой раздел системы, для которой нужно восстановить загрузчик. Это нужно, чтобы войти в программную среду «родной» системы из непосредственно Live-режима и использовать весь доступный инструментарий, в том числе и команды по восстановлению GRUB.

Монтирование корневого и загрузочного раделов

С помощью команды fdisk определяем какой раздел и на каком устройстве используется родной системой как корневой:

Как можно видеть, в системе два диска — sda и sdb. Тут нужно сориентироваться и вспомнить, как размечался диск изначально при установке системы. И определить по данным вывода, какой раздел является корневым. В данном случае это раздел sda2. Его теперь нужно примонтировать командой mount:

Необходимо также примонтировать и раздел /boot

Но очень важно заметить, что если в качестве /boot используется отдельный раздел (а не подкаталог в корневом разделе, как в большинстве современных дистрибутивов, например Ubuntu), то его монтирование будет выглядеть следующим образом:. В данном случае последняя команда приведена условно, как пример

На самом деле файлы загрузчика для данного примера хранятся в подкаталоге /boot, который уже был примонтирован от sda2, и поэтому в последней команде в данном случае нет необходимости

В данном случае последняя команда приведена условно, как пример. На самом деле файлы загрузчика для данного примера хранятся в подкаталоге /boot, который уже был примонтирован от sda2, и поэтому в последней команде в данном случае нет необходимости.

Подготовка программной среды для работы

Далее необходимо определить программное окружение среды, указав каталог /mnt и интерпретатор команд:

Эта команда указывает, где должны выполняться команды и какое программное окружение для этого должно использоваться. В данном случае, теперь ядро Live-образа может полноценно работать с ФС родной системы. Используя все её пакеты, команды, файлы и прочие доступные ресурсы.

Восстановление загрузчика

Теперь нужно обновить MBR (главную загрузочную запись) диска, установив на него загрузчик GRUB. Здесь и нужно вспомнить, какой диск является загрузочным, исходя из конфигурации BIOS. Поскольку ранее это уже было определено, то теперь остаётся узнать, как это устройство обозначается в системе. Для этого полезно выполнить следующий скрипт:

Данный скрипт отработает, если в родной системе установлена утилита hdparm. Но поскольку в большинстве Linux-дистрибутивов она предустановлена и доступна «из коробки», то беспокоиться не о чем.

Как можно видеть, устройству «Samsung SSD 860 EVO 250GB», который ранее был определён как загрузочный, соответствует его определение в системе как /dev/sda . Именно на него и следует производить установку GRUB:

Создание файла конфигурации GRUB:

Ну и напоследок можно выполнить:

Если при выполнении команды grub-install возникают какие-либо ошибки, то можно выполнить её с ключом —recheck. Если же всё нормально, то можно выйти из режима chroot командой:

Далее необходимо отмонтировать все ранее примонтированные устройства и ФС:

Если /boot монтировался из отдельного раздела, то его также необходимо отмонтировать:

Ну и наконец, необходимо отмонтировать также и корневой раздел:

Далее можно перезагрузиться без Live-образа (сделав соответствующие настройки в BIOS и снова указав в качестве загрузочного «Samsung SSD 860 EVO 250GB»). И проверить, что GRUB загружает родную систему.

Восстановление grub после установки Windows

Чтобы восстановить загрузчик grub нужно загрузится с LiveDVD, открыть терминал и выполнить команду:

sudo fdisk -1

После этого система делится на шесть ячеек.

Для установки груб прикрепите корневой раздел Ubuntu:

sudo mount /dev/sda5 /mnt

Используйте в терминале нижеуказанное действие, чтобы записать grub в загрузки:

sudo grub-install --root-directory=/mnt  /dev/sda

Затем перезагрузите компьютер:

sudo reboot

Не смотря на то, что процесс восстановления grub кажется сложным, он очень простой и не требует особенных знаний. Достаточно просто хорошо изучить инструкцию и следовать всем пунктам.

Способ 3. Ремонт с помощью Boot Repair в Ubuntu

Ошибка Grub Rescue Unknown Filesystem также исправляется с помощью этой утилиты.

Boot Repair — простой инструмент для восстановления частых проблем с загрузкой для Linux, Windows и других ОС. Он бесплатный, с открытым исходным кодом и простой в использовании (ремонт одним щелчком мыши).

Так как загрузчик не работает, следует запустить Ubuntu с Live CD или USB-карты. И далее, через терминал скачать эту утилиту для починки загрузчика.

Важно! Чтобы каждый раз не проводить эту операцию заново, Вам нужно будет восстановить загрузчик Grub. Как это делается я уже рассказывал, в предыдущей статье

Восстановление Grub2 без LiveCD

В некоторых случаях повреждения Grub не вызывает полную невозможность загрузки. Например, когда загрузочный код в MBR цел, но программа не может получить доступ к файлам на диске. Тогда загрузчик открывает вместо меню некое подобие терминала с сообщением: Minimal BASH like line editing is supported. С помощью этого терминала мы можем попытаться загрузить систему. Восстановление grub2 без LiveCD не такая уж и сложная задача, хотя, это сложнее, чем первый способ.

Все что вам потребуется — это знать на каком устройстве расположена система и само ядро Linux. Синтаксис и команды очень похожи на обычные команды bash, но немного отличаются по назначению. В начальном режиме восстановления доступны только несколько команд это ls, insmod, set и unset.

Чтобы посмотреть список подключенных к компьютеру дисков просто выполните:

Важно отметить, что в grub диски и разделы именуются немного по другому. Здесь каждый жесткий диск имеет название hd и номер диска, например, hd0 или hd1. Разделы именуются начиная с единицы

Разделы именуются начиная с единицы.

Вы можете работать только с одним разделом в определенный момент. Чтобы установить раздел, с которым нужно работать, нужно указать его в переменной root. Для установки переменных окружения используется команда set. Например, у если у меня файлы загрузчика grub находятся на /dev/sdc2, то получится hd2,2:

Загрузим нормальную оболочку grub:

После этого можно найти и запустить ядро. Для этого используйте команду linux. Обычно ядро находится папке /boot:

И наконец загружаемся:

Теперь, когда система загрузится, вам останется только открыть терминал, и выполнить следующие команды,  чтобы завершить восстановление загрузчика linux mint:

Где sd* — имя вашего диска, на котором установлена система

Обратите внимание, что нужно именно имя диска, а не раздела, никакие цифры добавлять не надо. Вот и все

Определение разделов

Теперь нужно определить раздел диска, на котором был установлен 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.

Восстановление ubuntu с флешки

Если все проделанные выше действия не помогли, то придётся раздобыть загрузочную флешку.

Лучше подготовить USB или CD носитель с Ubuntu той же версии и разрядности что и восстанавливаемая система. Я покажу на примере системы Ubuntu 18.04 LTS x64. Загрузитесь в Live режиме и откройте терминал комбинацией Ctrl+Alt+T.

Для удобства сразу активируйте права суперпользователя root. Знак минус в конце команды означает перемещение в домашний каталог:

Теперь нужно посмотреть список дисков и разделов программой fdisk:

Обнаруживаем раздел с установленной системой Linux. В этом примере раздел /dev/sda1 единственный, он же корневой и загрузочный.

ВНИМАНИЕ: выбирайте раздел аккуратно, буква диска может отличаться от моих примеров. Не потеряйте свои данные!. Смонтируем его в каталог /mnt/:

Смонтируем его в каталог /mnt/:

Убедитесь, что каталог /boot/ находится на этом же разделе диска выполнив команду:

В случае отсутствия каталога монтируйте его отдельно. Для этого нужно найти раздел в результате вывода утилиты fdisk (на скриншоте выше) и смонтировать командой:

X = номер вашего раздела с файлами каталога /boot/.

Сейчас необходимо произвести логин в ту систему, которую будем чинить. Но перед этим смонтируем из Live системы несколько служебных разделов:

Переходим в окружение chroot, то есть заходим под пользователем root в систему, установленную на жёстком диске:

Всё, мы в системе. Можно устанавливать загрузчик и обновлять его конфигурацию. Будьте внимательны, используется именно корневой раздел диска /dev/sda без цифры:

Посмотрите, чтобы не было ошибок в результате выполнения команд. Далее набираем один раз exit, или комбинацию Ctrl+D и выходим в консоль Live системы.

На всякий случай размонтируем корректно разделы и перезагружаемся:

Процедура восстановления загрузчика grub2 на этом завершена.

Подводим итоги

Если при загрузке компьютера появляется ошибка GRUB Rescue, то стоит понимать, что неисправность касается именно загрузчика, а не конкретной операционной системы. После его восстановления все начнет работать в том же режиме, что и ранее. Никакие файлы на жестком диске не будут уничтожены или изменены.

Это моя ситуация:

  • установлен Ubuntu без компакт-диска (с помощью unetbootin)
  • установка двойной загрузки (Windows XP + Ubuntu)
  • не понравилась установка и решила загрузиться в Windows и удалить разделы Linux
  • забыл исправить mbr изнутри Windows

Теперь, когда я загружаюсь, я застрял в спасательной лимбе GRUB.

Простой вопрос: Как я могу загрузиться в Windows из GRUB rescue?

Я не могу загрузиться с компакт-диска, поэтому обычные решения (компакт-диск восстановления и т. д.) не работают. В более старом вопросе упоминается возможность загрузки Windows, но не указаны детали: подсказка для спасения Ubuntu

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: