- Восстановление GRUB
- Содержание
- Восстановление с помощью LiveCD/USB
- Первый способ
- Восстановление используя chroot
- Восстановление в rescue mode
- Восстановление загрузчика GRUB через Boot-Repair в Ubuntu
- Восстанавливаем загрузчик GRUB через Boot-Repair в Ubuntu
- Шаг 1: Установка Boot-Repair
- Шаг 2: Запуск Boot-Repair
- Шаг 3: Исправление найденных ошибок
- How to restore Windows bootloader from GRUB?
- Восстановление GRUB
- Подготовка
- Загрузка в Live-режиме
- Открываем терминал
- Определение разделов
- Вывод fdisk для BIOS
- Вывод fdisk для UEFI
- Монтирование разделов
- Монтирование EFI-раздела
- Выполняем chroot на /mnt
- Генерация файла конфигурации GRUB
- Устанавливаем GRUB
- Перезагрузка компьютера
- Шпаргалка
Восстановление GRUB
Содержание
GRUB — это основной загрузчик Ubuntu начиная с версии 9.10. Ранее он был известен как GRUB2 и пришёл он на смену старой версии GRUB, известной теперь как GRUB Legacy. Если вам необходимо восстановить GRUB Legacy, например поскольку у Вас стоит версия Ubuntu старше 9.10, то вам необходимо прочитать соответствующую статью.
На любом загрузочном винчестере есть так называемая Главная загрузочная запись (англ. master boot record, MBR), к которой обращается BIOS при загрузке компьютера. В эту область загрузчик системы и должен записать информацию об основных файлах, которые хранятся уже на разделах винчестера.
Восстановление с помощью LiveCD/USB
Первый способ
Запустите систему с LiveCD/USB и откройте терминал. Для этого можно нажать Alt + F2 и ввести команду:
Далее необходимо узнать Вашу таблицу разделов. Используйте команду:
На экран должна быть выведена примерно такая таблица:
Из таблицы видим, что Linux (загрузочный /-корень отмечен звёздочкой) стоит, в нашем случае, на разделе /dev/sdc1.
Теперь подключим этот раздел в /mnt следующей командой (следим за пропусками между кодами и порядковыми номерами разделов):
Затем, для записи grub в MBR, вводите следующую команду:
В случае, если нужно только восстановить MBR диска (например, после переустановки Windows), то этого достаточно, закрываем терминал и перезагружаем.
Если нужно обновить и меню grub (например, после установки Windows), то нужно сделать:
Восстановление используя chroot
Запустите систему с LiveCD/USB и откройте терминал. Для этого можно нажать Alt + F2 и ввести команду:
Далее необходимо узнать Вашу таблицу разделов. Используйте команду:
На экран должна быть выведена примерно такая таблица:
Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и еще несколько важных директорий:
Теперь перейдем в окружающую среду chroot:
Теперь необходимо установить GRUB, используя команду:
Также в некоторых случаях может помочь вариант:
Если все прошло успешно, выходим из chroot командой:
Теперь необходимо отмонтировать разделы:
Если Вы монтировали раздел /boot воспользуйтесь командой:
Затем перезагрузим Ваш компьютер командой:
При необходимости Вы можете обновить меню загрузчика командой:
Восстановление в rescue mode
При отсутствии загрузочного диска, можно восстановить Grub из его консоли. Восстановление происходит следующим образом: сначала нужно подгрузить все модули, чтобы стала доступна вся функциональность Grub, а затем уже запуститься с нужного раздела. Как известно, Grub состоит из двух частей. Первая часть записана в MBR диска. Она содержит базовую функциональность, то есть в ней есть консоль в rescue mode и ничего больше. Вначале нужно определить, на каком разделе находится вторая часть груба (она лежит в каталоге /boot/grub), подгрузить недостающие модули. И только потом можно будет дать команду запуска с нужного раздела. В rescue mode доступно всего четыре команды:
Вначале следует дать команду:
В ответ она выведет, например, следующее:
Иногда Grub может неправильно опеределить, какие файловые системы находятся на разделах дисков. В данном случае определяет их как msdos. Нам нужно постараться угадать, какие диски мы видим. В данном случае видно два диска. Диск с индексом 0 содержит три раздела, диск с индексом 1 содержит два раздела. Зная структуру своих дисков несложно определить нужный диск.
Grub называет разделы в обратном порядке. И становится непонятно, что имеется в виду под (hd0,msdos3) — первый раздел или третий? Тут можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что в Grub счет дисков начинается с 0, а счет разделов — с 1. Предположим, что Линукс установлен на первый диск в первый раздел, то есть (hd0,1). Даем команду:
Этими командами мы указываем использовать диск (hd0,1) для дальнейших команд. После чего нужно проверить, действительно ли на этом разделе есть то, что нам нужно. Даем команду:
если в ответ получаем список всех файлов в этой директории, то диск и раздел выбраны правильно. Подгружаем модули:
После чего Grub перейдёт в полнофункциональный режим. Он автоматически найдет все операционки, которые можно подгружать, и покажет своё Grub-меню.
Дальнейшее восстановление сводится к тому, чтобы загрузить нужный нам Linux, и в нем от рута дать команду:
Где sdX, диск, на который нужно установить Grub.
Восстановление загрузчика GRUB через Boot-Repair в Ubuntu
Достаточно частой практикой у пользователей является установка двух операционных систем рядом. Чаще всего это Windows и один из дистрибутивов, основанных на ядре Linux. Иногда при такой инсталляции возникают проблемы с работой загрузчика, то есть загрузка второй ОС не производится. Тогда его нужно восстановить собственными силами, изменив системные параметры на правильные. В рамках данной статьи мы бы хотели обсудить восстановление GRUB через утилиту Boot-Repair в Ubuntu.
Восстанавливаем загрузчик GRUB через Boot-Repair в Ubuntu
Сразу хочется отметить, что дальнейшие инструкции будут приведены на примере загрузки из LiveCD с Ubuntu. Процедура создания такого образа имеет свои нюансы и сложности. Однако разработчики операционной системы максимально детально описали эту процедуру в своей официальной документации. Поэтому мы настоятельно рекомендуем ознакомиться с ней, создать LiveCD и загрузиться с него, а уже потом переходить к выполнению руководств.
Шаг 1: Установка Boot-Repair
Рассматриваемая утилита не входит в стандартный набор инструментов ОС, поэтому ее придется установить самостоятельно, воспользовавшись пользовательским репозиторием. Все действия осуществляются через стандартный «Терминал».
- Запустите консоль любым удобным способом, например, через меню или зажатие горячей клавиши Ctrl + Alt + T.
Загрузите необходимые файлы в систему, прописав команду sudo add-apt-repository ppa:yannubuntu/boot-repair .
Ожидайте завершения загрузки всех необходимых пакетов. Для этого должно иметься активное подключение к интернету.
Обновите системные библиотеки через sudo apt-get update .
Запустите процесс инсталляции новых файлов, вписав строку sudo apt-get install -y boot-repair .
Когда вся процедура прошла успешно, можно смело переходить к запуску Boot-Repair и сканированию загрузчика на наличие ошибок.
Шаг 2: Запуск Boot-Repair
Для запуска установленной утилиты вы можете использовать иконку, которая была добавлена в меню. Однако не всегда получается работать в графической оболочке, поэтому достаточно просто ввести в терминале boot-repair .
Будет произведен процесс сканирования системы и восстановления загрузки. Во время этого не делайте ничего на компьютере, а также не завершайте принудительно функционирование инструмента.
Шаг 3: Исправление найденных ошибок
После окончания анализа системы программа сама предложит вам рекомендованный вариант восстановления загрузки. Обычно он исправляет самые часто встречающиеся проблемы. Для его запуска просто потребуется нажать на соответствующую кнопку в графическом окне.
Если вы уже сталкивались с работой Boot-Repair или прочитали официальную документацию, в разделе «Расширенные настройки» можете применить собственные параметры восстановления, чтобы обеспечить стопроцентный результат.
По окончании восстановления перед вами откроется новое меню, где будет видно адрес с сохраненными логами, а также отобразится дополнительная информация касаемо результатов исправления ошибок GRUB.
В случае когда у вас нет возможности использовать LiveCD, потребуется загрузить образ программы из официального сайта и записать его на загрузочную флешку. При ее запуске на экране сразу отобразятся инструкции, и потребуется выполнить их все, чтобы решить возникшую проблему.
Обычно с возникновением неполадок GRUB сталкиваются юзеры, которые поставили Ubuntu рядом с Windows, поэтому следующие материалы по теме создания загрузочного накопителя будут максимально полезны, советуем детально ознакомиться с ними.
В большинстве случаев применение простой утилиты Boot-Repair помогает быстро справиться с наладкой работоспособности загрузчика Ubuntu. Однако если вы и дальше сталкиваетесь с различными ошибками, рекомендуем запомнить их код и описание, а после обратиться к документации Убунту для поиска доступных решений.
How to restore Windows bootloader from GRUB?
I dual booted Windows 10 and Kali Linux (same HDD) (switched between Secure Boot (for Windows) and Secure Boot off Legacy mode (for Linux). I ended up deleting the Kali Linux Partition (because It wouldn’t boot due to missing iwi files) and re-merging it with my main C:/. I went to boot from Legacy Mode secure boot off, and I was met with an error after trying to boot from a Windows 7 bootable usb iso (don’t have a disc drive on laptop). Black screen that said
«Error: no such partition
Entering rescue mode. . .
I can boot into windows 10 just fine, just when I try to boot from a usb drive iso with legacy, secure boot off, is when I get the error. I think this is because grub from Linux messed with the windows boot loader. Last night I tried reinstalling windows with «reset this PC» hoping this would solve the issue. It did not. When I enter Disk management on windows 10, I have 4 partitions «Disk 0 Partition 1 EFI System Partition 500 MB» «Disk 0 Partition 4 Recovery Partition 450 MB» «Disk 0 Partition 5 Recovery Partition 11.47 GB» and my main drive » OS (C:) 918.99 GB» I tried booting with advanced startup and typing the commands into command prompt that say «bootrec /Fixmbr» «bootrec /fixboot» when I typed in «fix boot» it said «access Denied» How do I restore the master boot record or bootloader to windows bootloader and not have the error if I boot from an windows iso?
The boot sector can experience the same types of issues as any other part of your hard drive, such as missing files, corrupted files, and even physical damage. Now, for you to reinstall the Windows Boot Loader, you need to use the Windows disk or ISO file and change your boot settings in the BIOS. Save the changes and reboot your computer from the Windows DVD. After a few moments, you should see the install setup screen. Select your preferred language, then click Next. On the bottom left of the Install window, click on the Repair your computer to get started repairing your current install of Windows. If the only issue is with the boot loader, it will automatically detect the issue and offer to fix it. If so, simply click Repair and restart, and your computer should be booted back into Windows as normal within minutes. If if it doesn’t automatically detect anything to fix, you’ll have to choose your own recovery options. Click the bullet option on the top then click Next to use recovery tools to fix Windows. Now, select Command Prompt from the available recovery tools, then type the command line bootrec /rebuildbcd.
After that, you should see your standard Windows login screen as normal, and all of your files and programs should be fine and ready to use.
Let us know how this turns out for you.
5 people found this reply helpful
Was this reply helpful?
Sorry this didn’t help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
Восстановление GRUB
В данной статье рассматривается процесс восстановления загрузчика GRUB 2.
Причины, по которым может понадобится восстановить GRUB, могут быть разными.
Очень часто требуется восстанавливать GRUB после установки Windows. Если у вас был установлен Linux и вы установили в соседний раздел или на соседний диск Windows, то после перезагрузки компьютера загрузится Windows, как будто Linux вообще пропал. Загрузчик GRUB даже не появился. Иногда подобное происходит при обновлении существующего Windows.
Иногда требуется восстановление GRUB после установки Linux, когда неверно был выбран раздел для установки загрузчика.
Во всех случаях нужно выполнить восстановление загрузчика GRUB. Существуют разные способы восстановления. В данном руководстве рассматривается процесс использованием загрузочного Live-образа Linux. Загрузившись в Live-систему вам нужно будет ввести несколько команд, чтобы выполнить восстановление. Рассматривается способ восстановления без использования сторонних программ.
Также иногда различают процесс восстановления для систем с BIOS и с UEFI. Описанный ниже способ рассматривает оба этих случая. Я тестировал его как на компьютерах с традиционным BIOS, так и с UEFI.
Подготовка
Для восстановления GRUB потребуется загрузочный диск или флешка с дистрибутивом Linux. Если у вас его нет, то нужно скачать образ с дистрибутивом. Например, можно скачать ISO образ Ubuntu.
Для создания загрузочной флешки можно воспользоваться программой Etcher. Она работает в Linux, Windows и MacOS. Подробная инструкция: Как создать загрузочную флешку.
Загрузка в 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-носителя
Открываем терминал
Итак, вы загрузились в Live-режиме. Теперь нужно открыть терминал.
В Ubuntu и некоторых других дистрибутивах это можно сделать нажатием сочетания клавиш Ctrl+Alt+T . Или запустить терминал через меню программ.
Определение разделов
Теперь нужно определить раздел диска, на котором был установлен 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 .
Монтирование разделов
Примонтируем корневой раздел. Выполняем команду (вместо /dev/sda2 вы должны указать свой раздел):
Мы примонтировали раздел /dev/sda2 в директорию /mnt .
Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):
Теперь можно посмотреть содержимое директории /mnt , чтобы убедиться, что мы примонтировали верный раздел:
Вывод команды должен быть примерно следующим. Обратите внимание есть ли в этом списке каталог /boot , так как именно в нем установлен GRUB.
Также можно проверить, что директория boot не пустая:
У меня вывод команды выглядит следующим образом. Обратите внимание на присутствие каталога с именем grub .
Далее нужно создать ссылки на несколько директорий, к которым GRUB должен иметь доступ для обнаружения всех операционных систем. Для этого выполните команды:
Монтирование EFI-раздела
Если у вас используется UEFI, то еще нужно примонтировать EFI-раздел в директорию /mnt/boot/efi (выше я указал пример вывода команды fdisk -l в котором показан EFI-раздел):
Выполняем chroot на /mnt
На предыдущем шаге мы смонтировали все необходимые директории в директорию /mnt . Теперь переключимся (выполним chroot ) на данную директорию. Выполняем команду:
Генерация файла конфигурации GRUB
Данный шаг нужно выполнять не всем. Если у вас был установлен GRUB и вы уверены, что его конфигурация верная, то можно перейти к следующему шагу.
Для генерации файла конфигурации GRUB используется команда update-grub . Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:
В выводе команды будет показано, какие операционные системы были найдены.
Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).
Устанавливаем 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-windows
If 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 efi
grep -i efi /etc/fstab
Перезагрузка компьютера
Выходим из окружения chroot, для этого выполняем команду:
Отмонтируем все разделы, которые мы примонтировали:
Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:
Если вы монтировали EFI-раздел, отмонтируем:
Отмонтируем корневой раздел:
Перезагружаем компьютер. Для этого выполняем команду:
Если во время перезагрузки компьютера меню GRUB не появилось, то это еще не значит, что он не восстановился. Возможно, просто установлена нулевая задержка и меню не показывается. Чтобы показать меню GRUB нужно во время загрузки, после того, как появился логотип материнской платы:
- удерживать клавишу Shift , если у вас классический BIOS;
- нажать Esc , если у вас UEFI.
Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:
Мне это помололо на компьютере, который использует UEFI.
Шпаргалка
Мы рассмотрели процесс восстановления загрузчика GRUB 2. Для удобства привожу краткую шпаргалку по командам, которые мы выполняли. Учитывайте, что названия и имена разделов ( /dev/sd. ) у вас могут отличаться.