Если вы используете на своем компьютере две операционные системы, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. Во время обновления Windows 10 просто затрет загрузчик Grub и запишет туда свой.
Вы, как обычно, перезагружаете систему и ожидаете увидеть меню выбора операционной системы Grub, но вместо этого загружается новая Windows 10. Вам может показаться, что нет никакого способа получить доступ к Ubuntu или что не может работать Ubuntu рядом с Windows 10. Но это не так.
Многие советуют установить Ubuntu на другой диск, но есть более простое и прекрасно работающие решение, чтобы восстановить grub после установки windows 10. Кончено, всегда можно восстановить grub2 стандартным способом, с помощью LiveCD диска, но если вы используете UEFI, есть более легкое решение, мы сделаем все с помощью Windows 10.
Хотя за основу в этой статье берется Ubuntu, но это также будет работать и для других дистрибутивов. Просто папка, в которой находятся файлы загрузчика будет немного отличатся.
Шаг 1. Запуск cmd
Кликните по иконке поиск в Windows, наберите там cmd и найдите Командную строку Windows. Кликните по ней правой кнопкой и выберите Запустить от имени администратора:
Шаг 2. Подключение раздела EFI
Далее вы можете попытаться угадать как называется файл загрузчика Grub на разделе EFI, но можно поступить по другому и просто посмотреть. Чтобы подключить раздел EFI запустите diskpart. Для этого выполните:
diskpart
Затем выведите список доступных дисков:
list disk
Выберите в качестве активного диск, на который установлена Windows 10 и на котором сейчас находится раздел EFI:
sel disk 0
Далее выведите список разделов на диске:
list vol
Найдите раздел EFI, он обычно отформатирован в файловую систему FAT и занимает около 100 мегабайт места. В данном случае это том 2:
Этому разделу надо присвоить букву. Для этого выполните:
sel vol 2
assign letter=I:
Шаг 3. Поиск загрузчика
Далее надо найти файл загрузчика на разделе EFI. Но открыть этот раздел в проводнике вы не сможете, надо использовать только командную строку. Закройте DiskPart и выполните:
cd /d I:
Затем с помощью команды dir найдите загрузчик Grub. Например:
dir EFIUbuntu
Здесь есть файл grubx64.efi. Это он. Загрузчик может называться по другому в других дистрибутивах, именно поэтому я рассказал как всё посмотреть.
Шаг 4. Восстановление Grub
Скопируйте и выполните эту команду:
bcdedit /set {bootmgr} path EFIubuntugrubx64.efi
Вам не нужно будет вводить пароль, у вас уже есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 загрузчик Grub.
Если команда вернула ошибку, вы можете откатить изменения такой командой:
bcdedit /deletevalue {bootmgr} path EFIubuntugrubx64.efi
Затем можно включить загрузчку загузчика Windows 10:
bcdedit /set {bootmgr} path EFIMicrosoftBootbootmgfw.efi
Выводы
Восстановление Grub после Windows 10 завершено. Перезапустите компьютер и вы увидите на экране знакомый Grub. Надеюсь, эта краткая инструкция помогла вам выполнить восстановление Grub после установки Windows 10.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
В данной статье рассматривается процесс восстановления загрузчика 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):
sudo fdisk -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 вы должны указать свой раздел):
sudo mount /dev/sda2 /mnt
Мы примонтировали раздел /dev/sda2 в директорию /mnt.
Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):
sudo mount /dev/sdX /mnt/boot
Теперь можно посмотреть содержимое директории /mnt, чтобы убедиться, что мы примонтировали верный раздел:
ls /mnt
Вывод команды должен быть примерно следующим. Обратите внимание есть ли в этом списке каталог /boot, так как именно в нем установлен GRUB.
Также можно проверить, что директория boot не пустая:
ls /mnt/boot
У меня вывод команды выглядит следующим образом. Обратите внимание на присутствие каталога с именем grub.
Далее нужно создать ссылки на несколько директорий, к которым GRUB должен иметь доступ для обнаружения всех операционных систем. Для этого выполните команды:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
Монтирование EFI-раздела
Если у вас используется UEFI, то еще нужно примонтировать EFI-раздел в директорию /mnt/boot/efi (выше я указал пример вывода команды fdisk -l в котором показан EFI-раздел):
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
Выполняем chroot на /mnt
На предыдущем шаге мы смонтировали все необходимые директории в директорию /mnt. Теперь переключимся (выполним chroot) на данную директорию. Выполняем команду:
sudo chroot /mnt
Генерация файла конфигурации GRUB
Данный шаг нужно выполнять не всем. Если у вас был установлен GRUB и вы уверены, что его конфигурация верная, то можно перейти к следующему шагу.
Для генерации файла конфигурации GRUB используется команда update-grub. Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:
sudo update-grub
В выводе команды будет показано, какие операционные системы были найдены.
Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).
Устанавливаем GRUB
Осталось выполнить установку GRUB на диск. Мы определили раздел на котором у нас установлен GRUB на первом шаге данного руководства. В моем случае это раздел /dev/sda2, который расположен на диске /dev/sda.
Для установки GRUB используется команда grub-install, которой нужно передать в качестве параметра диск, на который будет выполняться установка (в моем случае это диск /dev/sda):
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, для этого выполняем команду:
exit
Отмонтируем все разделы, которые мы примонтировали:
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:
sudo umount /mnt/boot
Если вы монтировали EFI-раздел, отмонтируем:
sudo umount /mnt/boot/efi
Отмонтируем корневой раздел:
sudo umount /mnt
Перезагружаем компьютер. Для этого выполняем команду:
reboot
Если во время перезагрузки компьютера меню GRUB не появилось, то это еще не значит, что он не восстановился. Возможно, просто установлена нулевая задержка и меню не показывается. Чтобы показать меню GRUB нужно во время загрузки, после того, как появился логотип материнской платы:
- удерживать клавишу Shift, если у вас классический BIOS;
- нажать Esc, если у вас UEFI.
Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:
sudo grub-update
Мне это помололо на компьютере, который использует UEFI.
Шпаргалка
Мы рассмотрели процесс восстановления загрузчика GRUB 2. Для удобства привожу краткую шпаргалку по командам, которые мы выполняли. Учитывайте, что названия и имена разделов (/dev/sd…) у вас могут отличаться.
sudo fdisk -l
sudo mount /dev/sda2 /mnt
# sudo mount /dev/sdaX /mnt/boot
# sudo mount /dev/sdaY /mnt/boot/efi
sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
sudo update-grub
grub-install /dev/sda
Всем доброго времени!
Эта заметка будет довольно специфична и пригодится только тем, у кого на компьютере установлено несколько версий ОС: Windows, Linux…
Так вот, при переустановке (обновлении) одной из ОС (обычно, так делает Windows) — может затереться загрузчик Grub, и при включении ПК более не будет появляться «черного» меню с предложением выбрать какую систему загружать… 👀
Разумеется, чтобы не переустанавливать ОС (и не настраивать всё заново) — лучше просто восстановить сам этот загрузчик. Как правило, для этого достаточно загрузиться с LiveCD (👉 Linux Mint, Elementary OS, Ubuntu и пр.), смонтировать корневой раздел Linux и ввести спец. команды для восстановления…
Однако, «ручная» работа через терминал имеет «тонкости» (и не всегда выполняется просто). Поэтому здесь хочу предложить гораздо более легкий вариант! 👌
*
Содержание статьи
- 1 Восстановление Grub
- 1.1 ШАГ 1
- 1.2 ШАГ 2
- 1.3 ШАГ 3
→ Задать вопрос | дополнить
Восстановление Grub
ШАГ 1
Для начала нам нужно подготовить загрузочную флешку (LiveCD) c одним из дистрибутивов Linux. Скорее всего она у вас должна быть!
(Если у вас одна из «разновидностей» Ubuntu — я бы порекомендовал использовать образ 👉 с Linux Mint — т.к. в нем уже предустановлена нужная утилита // Boot Repair).
На всякий случай здесь приведу несколько ссылок в помощь:
1) Как создать загрузочную флешку с Linux;
2) Как загрузиться с USB-флешки или внешнего HDD.
Будем считать, что загрузиться с подготовленной флешки у вас получилось… 👌
*
ШАГ 2
Далее (после загрузки с LiveCD с Linux) нам понадобиться установить утилиту Boot Repair (если у вас последняя версия Linux Mint — то она встроена, и чтобы ее запустить — откройте меню «Пуск / Administration / Boot Repair»).
После можно переходить к ШАГУ 3 (для тех, у кого нет встроенной Boot Repair — чуть ниже я покажу как ее установить).
Linux Mint — Boot Repair
Для инсталляции Boot Repair сначала проверьте, что у вас есть подключение к Интернет.
Далее необходимо открыть терминал (обычно, для этого используют сочетания Ctrl+Alt+T или Win+T) и ввести поочередно следующие три команды (после каждой нажимать Enter!).
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
Xubuntu (для примера) — устанавливаем Boot Repair
После в меню «Пуск» должна появиться ссылка на нашу утилиту (обратите внимание, что на русском она называется как «Восстановление загрузки»… 👇). Кстати, запустить Boot Repair можно и из консоли. Команда:
boot-repair
ПУСК — восстановление загрузки (Boot Repair)
*
ШАГ 3
1) В большинстве случаев утилита Boot Repair справляется с восстановлением Grub в автоматическом режиме. Поэтому порекомендую вам сразу же нажать на первый пункт «Recommended Repair». Пару скринов ниже. 👇
Boot Repair (на английском)
Рекомендуемый способ восстановления (русская версия)
2) Как правило, на весь процесс требуется 1-2 мин. 👇
Процесс пошел!
3) Если всё прошло успешно — увидите окно об успешном восстановлении Grub. Теперь можно выключить ПК (ноутбук), вынуть из USB-порта флешку с LiveCD и проверить как загружается устройство: появляется ли меню Grub?.. 👌
Загрузка успешно восстановлена
GNU Grub version 2.04 — все заработало!
4) Кстати, иногда утилита Boot Repair может попросить вас выполнить ряд команд в терминале (сочетание клавиш для его запуска: Ctrl+Alt+T или Win+T).
Сами команды, разумеется, утилита приводит в своем окне. После их выполнения — нажмите на кнопку «Forward» (если вы не выполнили команды — утилита снова покажет текущее окно). Ничего «опасного» и удаляющего данные с домашних разделов диска —в них быть не должно!
Эти команды нужно будет ввести вручную в терминал (и нажать Enter)
PS
Кстати, у Boot Repair есть расширенные настройки, в которых можно вручную задать ряд параметров. Если вы слабо представляете «что, где и как…» — то лучше это меню не трогать (во избежание лишних проблем…).
*
Другие простые решения, — само собой, приветствуются!
На сим пока всё, удачи!
👋
Полезный софт:
-
- Видео-Монтаж
Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
Видео сделает даже новичок!
-
- Ускоритель компьютера
Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).
Содержание
- Как восстановить загрузчик GRUB — пропало меню с выбором ОС после переустановки Windows (актуально для Linux Mint / Elementary OS / Ubuntu и др.)
- Восстановление Grub
- ШАГ 1
- ШАГ 2
- ШАГ 3
- Восстановление GRUB 2 после установки Windows
- Восстановление GRUB 2
- Восстановление GRUB
- Подготовка
- Загрузка в Live-режиме
- Открываем терминал
- Определение разделов
- Вывод fdisk для BIOS
- Вывод fdisk для UEFI
- Монтирование разделов
- Монтирование EFI-раздела
- Выполняем chroot на /mnt
- Генерация файла конфигурации GRUB
- Устанавливаем GRUB
- Перезагрузка компьютера
- Шпаргалка
- Не загружается Linux, чиним загрузчик GRUB
- Что такое Grub
- От чего могут возникнуть проблемы
- Восстановление Grub с помощью LiveCD/USB
- Как создать LiveCD/USB
- С помощью Rufus:
- С помощью Etcher:
- Восстановление с помощью chroot
- Восстановление Grub в rescue mode
- Восстановление Grub с помощью утилиты Boot repair
- Выводы
- Восстановление Grub2
- Восстановление Grub2 с помощью LiveCD
- Шаг 1. Загрузка LiveCD
- Шаг 2. Определение разделов
- Шаг 3. Монтирование файловой системы
- Шаг 4. Подготовка к входу в систему
- Шаг 5. Вход в окружение системы
- Шаг 6. Восстановление Grub2
- Шаг 7. Готово
- Восстановление Grub2 без LiveCD
- Восстановление в Boot Repair
- Выводы
Как восстановить загрузчик GRUB — пропало меню с выбором ОС после переустановки Windows (актуально для Linux Mint / Elementary OS / Ubuntu и др.)
Всем доброго времени!
Эта заметка будет довольно специфична и пригодится только тем, у кого на компьютере установлено несколько версий ОС: Windows, Linux.
Разумеется, чтобы не переустанавливать ОС (и не настраивать всё заново) — лучше просто восстановить сам этот загрузчик. Как правило, для этого достаточно загрузиться с LiveCD (👉 Linux Mint, Elementary OS, Ubuntu и пр.), смонтировать корневой раздел Linux и ввести спец. команды для восстановления.
Однако, «ручная» работа через терминал имеет «тонкости» (и не всегда выполняется просто). Поэтому здесь хочу предложить гораздо более легкий вариант! 👌
Восстановление Grub
ШАГ 1
Для начала нам нужно подготовить загрузочную флешку (LiveCD) c одним из дистрибутивов Linux. Скорее всего она у вас должна быть!
(Если у вас одна из «разновидностей» Ubuntu — я бы порекомендовал использовать образ 👉 с Linux Mint — т.к. в нем уже предустановлена нужная утилита // Boot Repair).
На всякий случай здесь приведу несколько ссылок в помощь:
Будем считать, что загрузиться с подготовленной флешки у вас получилось. 👌
ШАГ 2
Далее (после загрузки с LiveCD с Linux) нам понадобиться установить утилиту Boot Repair (если у вас последняя версия Linux Mint — то она встроена, и чтобы ее запустить — откройте меню «Пуск / Administration / Boot Repair» ).
Linux Mint — Boot Repair
Для инсталляции Boot Repair сначала проверьте, что у вас есть подключение к Интернет.
Далее необходимо открыть терминал (обычно, для этого используют сочетания Ctrl+Alt+T или Win+T) и ввести поочередно следующие три команды (после каждой нажимать Enter!).
Xubuntu (для примера) — устанавливаем Boot Repair
ПУСК — восстановление загрузки (Boot Repair)
ШАГ 3
Boot Repair (на английском)
Рекомендуемый способ восстановления (русская версия)
2) Как правило, на весь процесс требуется 1-2 мин. 👇
3) Если всё прошло успешно — увидите окно об успешном восстановлении Grub. Теперь можно выключить ПК (ноутбук), вынуть из USB-порта флешку с LiveCD и проверить как загружается устройство: появляется ли меню Grub. 👌
Загрузка успешно восстановлена
GNU Grub version 2.04 — все заработало!
Эти команды нужно будет ввести вручную в терминал (и нажать Enter)
Другие простые решения, — само собой, приветствуются!
Источник
Восстановление GRUB 2 после установки Windows
Если вы на своем компьютере используете дуалбут из Windows и Linux, то вероятно уже знаете, что во время установки ОС для того, чтобы было меньше возни, лучше устанавливать сначала ОС от Microsoft а потом только Ububtu, Debian или что вы там желаете установить. Связано это с тем, что Windows не видит других операционных систем кроме своих и поверх загрузчика GRUB записывает в MBR свой загрузчик. Соответственно, если вы установите сначала Linux а потом Windows, то в итоге не сможете загрузить Linux, так как его просто не будет в списке загрузки. Но что же делать если вам все же необходимо переустановить Windows или просто установить ее на компьютер с Linux? Не переустанавливать же ради этого и Linux? Нет. Просто после всего, что вы сделаете нужно будет восстановить загрузчик GRUB.
Для демонстрации я приведу свой случай с виртуальными машинами, но данный способ ничем не отличается от восстановления GRUB на реальном железе.
У меня на один виртуальный жесткий диск были установлены Ubuntu 14.04 и Windows 7. И вот мне захотелось попробовать developer версию Windows 10. Я решил установить ее поверх семерки. Как и положено, после всех манипуляций Windows 10 заработала, а Ubuntu не запускалась. Так как Ubuntu мне нужна была для работы я решил восстановить затертый GRUB.
Восстановление GRUB 2
Сначала необходимо загрузится с LiveDVD. Когда система загрузится, открываем терминал (Ctr+Alt+T) и смотрим структуру разделов с помощью команды:
У меня, как видно по выводу команды, диск разделен на 6 разделов: два NTFS для Windows, Extended (расширенный) и три отмечены как Linux для Ubuntu. Чтобы установить GRUB необходимо примонтировать корневой раздел Ubuntu — мой sda5:
И чтобы записать GRUB в загрузочную запись, нужно выполнить в терминале команду:
После этого можно перезагрузить компьютер:
GRUB восстановлен. Но остался один момент. Сейчас на виртуальной машине была установлена Windows 10, но в меню загрузчика по прежнему она отображалась как семерка, из-за чего при попытке ее запуска выскакивала ошибка. Чтобы исправить это достаточно было просто загрузится в Ubuntu (не LiveDVD) и через терминал обновить загрузчик:
Вот так просто можно восстановить GRUB после установки Windows
Источник
Восстановление 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 (если вы используете флешку).
Открываем терминал
Итак, вы загрузились в Live-режиме. Теперь нужно открыть терминал.
Определение разделов
Теперь нужно определить раздел диска, на котором был установлен GRUB.
Выведем список разделов, для этого выполняем команду (в конце команды стоит строчная буква L):
Вывод fdisk для BIOS
Пример вывода команды:
В моем случае мы видим 2 диска: /dev/sda (SSD диск) и /dev/sdb (флешка, с которой сейчас загружена Live-система).
Иногда бывает, что для загрузчика GRUB выделен отдельный раздел (он называется boot-раздел). Если это так, то на следующем шаге вам нужно будет примонтировать корневой раздел и раздел с загрузчиком.
Вывод fdisk для UEFI
Монтирование разделов
Примонтируем корневой раздел. Выполняем команду (вместо /dev/sda2 вы должны указать свой раздел):
Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):
Также можно проверить, что директория boot не пустая:
Далее нужно создать ссылки на несколько директорий, к которым GRUB должен иметь доступ для обнаружения всех операционных систем. Для этого выполните команды:
Монтирование EFI-раздела
Выполняем chroot на /mnt
Генерация файла конфигурации GRUB
Данный шаг нужно выполнять не всем. Если у вас был установлен GRUB и вы уверены, что его конфигурация верная, то можно перейти к следующему шагу.
В выводе команды будет показано, какие операционные системы были найдены.
Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).
Устанавливаем GRUB
Перезагрузка компьютера
Выходим из окружения chroot, для этого выполняем команду:
Отмонтируем все разделы, которые мы примонтировали:
Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:
Если вы монтировали EFI-раздел, отмонтируем:
Отмонтируем корневой раздел:
Перезагружаем компьютер. Для этого выполняем команду:
Если во время перезагрузки компьютера меню GRUB не появилось, то это еще не значит, что он не восстановился. Возможно, просто установлена нулевая задержка и меню не показывается. Чтобы показать меню GRUB нужно во время загрузки, после того, как появился логотип материнской платы:
Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:
Мне это помололо на компьютере, который использует UEFI.
Шпаргалка
Мы рассмотрели процесс восстановления загрузчика GRUB 2. Для удобства привожу краткую шпаргалку по командам, которые мы выполняли. Учитывайте, что названия и имена разделов ( /dev/sd. ) у вас могут отличаться.
Источник
Не загружается Linux, чиним загрузчик GRUB
Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.
Что такое Grub
От чего могут возникнуть проблемы
Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.
Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.
Восстановление Grub с помощью LiveCD/USB
Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.
Как создать LiveCD/USB
Само собой, нам понадобится носитель, на который мы временно (а может и нет) запишем систему. Сохраните все важные файлы, которые были на этом носителе, после чего (имеется ввиду на другом ПК, желательно под управлением Windows) запишите загруженный образ дистрибутива на носитель. В качестве примера мы будем использовать дистрибутив Ubuntu.
Идем на официальную страницу загрузки. Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.
С помощью Rufus:
Последняя версия приложения доступна на официальном сайте. Сразу после загрузки и запуска/установки мы увидим такое окно:
Вставляем носитель, выбираем его в соответствующем меню. Далее выбираем нужную схему раздела и тип системного интерфейса, и после уже открываем файловый менеджер с помощью этой кнопки:
Находим загруженный образ через менеджер, после чего жмем «Старт».
С помощью Etcher:
Опять же, идем на официальный сайт, где скачиваем последнюю версию утилиты. Далее делаем все так, как показано на этой гифке:
Ну а теперь, собственно, можно переходить к восстановлению Grub. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:
Открываем таблицу разделов с помощью команды:
Примерно такая таблица будет выведена на экран:
По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.
С помощью следующей команды мы смонтируем этот раздел в /mnt:
Теперь, для записи grub в MBR, нужно ввести следующую команду:
Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.
Если же необходимо обновить и меню grub (после установки Windows), то нужно выполнить еще и эту команду:
Вот и все, восстановление закончено!
Восстановление с помощью chroot
Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.
Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:
В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.
В этом способе нам необходимо примонтировать системный, а также нескольких других важных разделов. Для этого вводим эти команды:
Обратите внимание, что если если разделы /boot или /var находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot и /mnt/var.
Далее мы переходим в окружающую среду chroot с помощью команды:
И теперь, наконец-таки переустанавливаем Grub с помощью следующей команды:
Если вы на этом этапе получаете какие-то сообщения об ошибках, то попробуйте использовать эти команды:
Если все прошло успешно, выходим из chroot, используя команду:
Далее нужно отмонтировать все разделы. Для этого вводим в терминал:
В случае, если вы монтировали раздел /boot введите команду:
Теперь перезагружаем систему с помощью:
Можно также обновить меню Grub, используя команду:
Восстановление Grub в rescue mode
Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.
Само восстановление проходит таким образом: сначала мы подгружаем все модули, чтобы открыть доступ ко всей функциональной части Grub, после чего запуститься с нужного раздела. Надо понимать, что Grub состоит из двух частей:
Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).
Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:
Для начала вводим следующую команду:
В выводе будет что-то подобное:
В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.
С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:
Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:
После выполнения команд Grub загрузится в полнофункциональном режиме. Будут найдены все операционные системы, которые установлены на компьютере, после чего будет показано стандартное меню загрузки.
Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:
Если операционная система расположена на разделе с файловой системой btrfs, то нам необходимо выполнить следующие команды:
И подгрузить модули:
Ну и теперь запустить GRUB:
Восстановление Grub с помощью утилиты Boot repair
С помощью этой замечательной утилиты вы сможете восстановить загрузчик всего в пару кликов. Как видно из скриншота, утилита имеет собственный GUI, ее использование не вызовет трудностей.
Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:
Если с первым способом все понятно: нужно просто скачать и записать образ с помощью соответствующих инструментов. То во втором уже нужно знать конкретные команды, которые выглядят следующим образом:
В утилите будет доступно два варианта на выбор:
Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.
Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.
Здесь же есть и Advanced options. Он включает в себя варианты для восстановления и настройки загрузчика Grub2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.
Вам обязательно стоит заглянуть на официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и особенностях программы. Там же будет доступна информация о выходе новых версий: фиксах и улучшениях самой утилиты, а также многом и многом другом.
Выводы
Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить GRUB2 если Ubuntu не хочет загружаться. Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.
Источник
Восстановление Grub2
Восстановление Grub2 с помощью LiveCD
Начнем с того, что вам нужна LiveCD система, той же разрядности, что и ваша система Linux Mint, на которую был установлен Grub. Причем, неважно будет там графический интерфейс или нет. Обычно все необходимые инструменты поддерживаются всеми дистрибутивами. А нужны нам только утилиты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2 просто следуйте описанным ниже шагам.
Шаг 1. Загрузка LiveCD
Сначала вставьте носитель с LiveCD системой в дисковод или порт USB, если это флешка. Для загрузки с носителя, возможно, вам сначала понадобится зайти в меню BIOS и выставить приоритет загрузки с внешнего устройства.
Для запуска BIOS нажмите Del, F2, F8 или Shift +F2. В открывшимся меню найдите раздел Boot, и в пункте Boot Device Priority или 1st Boot Device или Boot Option #1 выберите нужное устройство:
Дальше перейдите на вкладку Exit и выберите Exit & Save settings. Дальше начнется загрузка образа.
Шаг 2. Определение разделов
Шаг 3. Монтирование файловой системы
Теперь вам предстоит смонтировать вашу корневую файловую систему в каталог /mnt:
mount /dev/nvme0n1p5 /mnt
Кроме того нужно смонтировать раздел boot. Например, если бы он у меня находился по адресу /dev/nvme0n1p1:
mount /dev/nvme0n1p1 /mnt/boot
Шаг 4. Подготовка к входу в систему
Шаг 5. Вход в окружение системы
Для входа в окружение вашей системы используйте команду:
chroot /mnt /bin/bash
Затем выполните эти команды для загрузки и обновления переменных профиля:
Теперь вы находитесь в Linux Mint, и можете выполнять почти все его программы, разумеется, недоступны сервисы, поскольку во время загрузки не использовалась система инициализации, а также как следствие, недоступно графическое окружение.
Шаг 6. Восстановление Grub2
Теперь восстановление Grub в Linux Mint. Просто выполните следующие команды. Первая, для переустановки загрузчика на жесткий диск:
sudo grub2-install /dev/sd*
Теперь создадим новый конфигурационный файл:
Путь к конфигурационному файлу может немного отличаться, так что будьте внимательны.
Еще можно использовать команду:
Но она работает только в Ubuntu и основанных на ней дистрибутивах.
Шаг 7. Готово
Выйдите из окружения chroot командой:
И перезагрузите компьютер:
Теперь все работает.
Восстановление Grub2 без LiveCD
В некоторых случаях повреждения Grub не вызывает полную невозможность загрузки. Например, когда загрузочный код в MBR цел, но программа не может получить доступ к файлам на диске. Тогда загрузчик открывает вместо меню некое подобие терминала с сообщением: Minimal BASH like line editing is supported. С помощью этого терминала мы можем попытаться загрузить систему. Восстановление grub2 без LiveCD не такая уж и сложная задача, хотя, это сложнее, чем первый способ.
Чтобы посмотреть список подключенных к компьютеру дисков просто выполните:
(hd2,msdos1, hd2,msdos2, hd2,msdos3, hd2,msdos4)
Важно отметить, что в grub диски и разделы именуются немного по другому. Здесь каждый жесткий диск имеет название hd и номер диска, например, hd0 или hd1. Разделы именуются начиная с единицы.
Вы можете работать только с одним разделом в определенный момент. Чтобы установить раздел, с которым нужно работать, нужно указать его в переменной root. Для установки переменных окружения используется команда set. Например, у если у меня файлы загрузчика grub находятся на /dev/sdc2, то получится hd2,2:
Загрузим нормальную оболочку grub:
insmod ext2
insmod normal
normal
После этого можно найти и запустить ядро. Для этого используйте команду linux. Обычно ядро находится папке /boot:
И наконец загружаемся:
Теперь, когда система загрузится, вам останется только открыть терминал, и выполнить следующие команды, чтобы завершить восстановление загрузчика linux mint:
sudo grub2-install /dev/sd*
Восстановление в Boot Repair
После этого установите утилиту:
sudo apt install boot-repair
Для запуска выполните:
Далее для восстановления загрузчика достаточно нажать кнопку Рекомендуемый способ восстановления:
Затем просто дождитесь завершения процесса восстановления:
После этого компьютер можно перезагружать и всё будет работать.
Выводы
Теперь восстановление загрузчика linux mint не вызовет у вас проблем в любых обстоятельствах, независимо от того, есть ли у вас диск с другим дистрибутивом или нет. Если остались вопросы, напишите в комментариях!
Источник
Часа в 2 ночи мне написала подруга с просьбой одолжить ей нетбук на пару дней. Я,
конечно
, согласился, после чего она попросила меня поставить на него Windows с определенным софтом. Недолго думая, я накатил винду, совершенно забыв, что на нетбуке стояла Ubuntu 13.04. И все бы ничего, да вдруг вспомнил, что забыл на разделе убунты пару нужных мне файлов. Тут все и началось.
Предыстория
Ни для кого не секрет, что Windows при установке ставит свой загрузчик, не видя рядом стоящих систем. Когда я об этом вспомнил, на меня уже смотрел чистый рабочий стол Windows. Здесь был логичный выход из положения-скачать образ любого Linux-дистрибутива и запустить его в liveUSB, после чего обновить GRUB, но мне было слишком лень качать образ и записывать его на флешку. Поэтому я пошел более трудным путем. При установке Ubuntu диск был абсолютно чистым. Предвидя, что Windows рано или поздно вернется на нетбук я оставил часть диска неразмеченной. Обычно, я всегда создавал один раздел для » / » (hd0,0 в будущем) и swap (hd0,2), но в этот раз я решил поэкспериментировать и создал еще один раздел для » /home » (hd0,1).Спустя некоторое время была установлена Windows (hd0,3)
Запуск ядра
Я вспомнил, что есть программа EasyBCD, позволяющая создать свое меню загрузки. Получив некоммерческую копию программы я сделал свое меню и перезагрузился в надежде, что тут же вернусь в Ubuntu, но, как говорится, «не тут-то было». Какие бы параметры для раздела (hd0,0) я не ставил, он либо зависал, либо «падал» в grub4dos. Он-то мне и помог. Тщетно я пытался набирать
root (hd0,0)
воспринимать он команду отказался, а вот по команде
hd(0,0)
перепрыгнул в раздел как в папку. Так как я еще новичок в общении с Linux, мне пришлось поискать, что нужно для запуска ядра, после чего набрал
kernel /vmlinuz
initrd /initrd
boot
и
как по волшебству
ядро запустилось. Но и тут не все так просто.
Initramfs
При запуске меня встретил не GDM Login Manager, а (initramfs) и предложение что-нибудь ввести.
Попытка ввести exit закончилась kernel panic’ом.
Первым делом я попытался примонтировать разделы, после чего сразу выполнил chroot
mkdir /mnt
busybox mount /dev/sda1 /mnt
busybox mount /dev/sda2 /mnt/home
chroot /mnt
«Ура! Осталось просто запустить update-grub!»,-подумал я, но обновление GRUB’а выдало ошибку, он попросту не увидел дисков. Выйдя из chroot, и еще немного поискав решения, я нашел такой флаг команды mount
, как bind
, который позволяет привязать физические устройства в систему, запущенную из-под chroot.
mkdir /mnt/dev
mount —bind /dev /mnt/dev
chroot /mnt
# update-grub
# exit
reboot
После перезагрузки меня уже ждал GRUB. Загрузившись в убунту еще раз прописал
sudo update-grub
и получил возможность загружаться в Windows.
P.S. Предположу, что местные обитатели смогут и сами выкрутиться из подобной ситуации, поэтому статья ориентирована на тех, кто не особо дружит с Linux, но хочет подружиться, либо на тех, у кого нет второй машины или свободных флешек под рукой.
Сегодня я хотел бы показать вам способ, как можно восстановить GRUB 2 после установки или переустановки Windows на компьютер с Linux. И еще один способ, как это можно сделать это из-под Debian описан в этой заметке.
Если вы на своем компьютере используете дуалбут из Windows и Linux, то вероятно уже знаете, что во время установки ОС для того, чтобы было меньше возни, лучше устанавливать сначала ОС от Microsoft а потом только Ububtu, Debian или что вы там желаете установить. Связано это с тем, что Windows не видит других операционных систем кроме своих и поверх загрузчика GRUB записывает в MBR свой загрузчик. Соответственно, если вы установите сначала Linux а потом Windows, то в итоге не сможете загрузить Linux, так как его просто не будет в списке загрузки. Но что же делать если вам все же необходимо переустановить Windows или просто установить ее на компьютер с Linux? Не переустанавливать же ради этого и Linux? Нет. Просто после всего, что вы сделаете нужно будет восстановить загрузчик GRUB.
Для демонстрации я приведу свой случай с виртуальными машинами, но данный способ ничем не отличается от восстановления GRUB на реальном железе.
У меня на один виртуальный жесткий диск были установлены Ubuntu 14.04 и Windows 7. И вот мне захотелось попробовать developer версию Windows 10. Я решил установить ее поверх семерки. Как и положено, после всех манипуляций Windows 10 заработала, а Ubuntu не запускалась. Так как Ubuntu мне нужна была для работы я решил восстановить затертый GRUB.
Восстановление GRUB 2
Сначала необходимо загрузится с LiveDVD. Когда система загрузится, открываем терминал (Ctr+Alt+T) и смотрим структуру разделов с помощью команды:
sudo fdisk -l
У меня, как видно по выводу команды, диск разделен на 6 разделов: два NTFS для Windows, Extended (расширенный) и три отмечены как Linux для Ubuntu. Чтобы установить GRUB необходимо примонтировать корневой раздел Ubuntu – мой sda5:
sudo mount /dev/sda5 /mnt
И чтобы записать GRUB в загрузочную запись, нужно выполнить в терминале команду:
sudo grub-install --root-directory=/mnt /dev/sda
После этого можно перезагрузить компьютер:
sudo reboot
GRUB восстановлен. Но остался один момент. Сейчас на виртуальной машине была установлена Windows 10, но в меню загрузчика по прежнему она отображалась как семерка, из-за чего при попытке ее запуска выскакивала ошибка. Чтобы исправить это достаточно было просто загрузится в Ubuntu (не LiveDVD) и через терминал обновить загрузчик:
sudo update-grub
Вот так просто можно восстановить GRUB после установки Windows
Если вы пользуетесь на компьютере двумя операционными системами, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. В ходе обновления системы Windows 10 просто затрет загрузчик Grub и запишет туда свой.
Дальше после перезагрузки системы пользователь ожидает увидеть меню выбора операционной системы Grub, но вместо этого загружается новая Windows 10. Может показаться, что нет никакого способа получить доступ к Ubuntu или что не может работать Ubuntu рядом с Windows 10. Но это не так.
Восстанавливаем Grub
Часто специалисты советуют установить Ubuntu на другой диск, но есть простое решение. Всегда можно воспользоваться стандартным способом, например, с помощью LiveCD диска. Но если вы используете UEFI, есть решение с помощью Windows 10.
ЗАПУСК CMD
Для начала кликните по иконке поиск в Windows, наберите там cmd и найдите Командную строку Windows. Кликните по ней правой кнопкой и выберите Запустить от имени администратора:
ПОДКЛЮЧЕНИЕ РАЗДЕЛА EFI
Далее вы можете попытаться угадать как называется файл загрузчика Grub на разделе EFI, но можно поступить по другому и просто посмотреть. Чтобы подключить раздел EFI запустите diskpart. Для этого выполните:
$ diskpart
Затем выведите список доступных дисков:
$ list disk
Выберите в качестве активного диск, на который установлена Windows 10 и на котором сейчас находится раздел EFI:
$ sel disk 0
Выведите список разделов на диске:
$ list vol
Найдите раздел EFI, он обычно отформатирован в файловую систему FAT и занимает около 100 мегабайт места. В данном случае это том 2:
Этому разделу надо присвоить букву. Для этого выполните:
$ sel vol 2
$ assign letter=I:
ПОИСК ЗАГРУЗЧИКА
Теперь необходимо найти файл загрузчика на разделе EFI. Но открыть этот раздел в проводникель нельзя, надо использовать только командную строку. Закройте DiskPart и выполните:
$ cd /d I:
Затем с помощью команды dir найдите загрузчик Grub. Например:
$ dir EFIUbuntu
Здесь есть файл grubx64.efi. Это он. Загрузчик может называться по другому в других дистрибутивах, именно поэтому я рассказал как всё посмотреть.
ВОССТАНОВЛЕНИЕ GRUB
Теперь скопируйте и выполните эту команду:
bcdedit /set {bootmgr} path EFIubuntugrubx64.efi
Не придется вводить пароль, если есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 загрузчик Grub.
Если команда вернула ошибку, вы можете откатить изменения такой командой:
$ bcdedit /deletevalue {bootmgr} path EFIubuntugrubx64.efi
Затем можно включить загрузчку загузчика Windows 10:
$ bcdedit /set {bootmgr} path EFIMicrosoftBootootmgfw.efi
Перезапустите компьютер и вы увидите на экране знакомый Grub. На этом процесс восстановиления Grub завершен.
Содержание
- 1 Восстановление Grub после Windows 10
- 2 Зачем нужно, чтобы GRUB запускался по умолчанию?
- 3 Почему не загружается GRUB?
- 4 Делаем загрузчик GRUB загрузчиком по умолчанию
За что я ненавижу Windows, это за то что после очередного обновления, почему то затирается загрузчик grub2. Это при том, что у меня уже были отключены быстрая загрузка Secure Boot, но после обновления она почему то снова включилась. В общем если бы не несколько приложений которые увы не портируются на Linux, а использование которых в VirtualBox не так удобно, то я бы с превеликим удовольствием снес бы Windows со своего ноутбука.
Теперь собственно о проблеме. Итак после обновления WIndows, у нас слетел grub2. Как правило в таком случае я первым делом делаю загрузочную live-cd флешку с каким нибудь linux-дистрибутивом. Загрузившись с флешки в режим live-cd, то есть без установки воспользуемся прекрасной утилитой boot-repair.
Утилита предельно проста, послу установки
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update && sudo apt-get install -y boot-repair
запускаем утилиту и нажимаем на кнопку Recommended repair, после чего система сама даст указания. Что да как делать. Каждый случай индивидуален, в моем случае boot-repair сформировал отчет и выдал ссылку на него. Открыв ссылку я увидел подробный отчет о состоянии моего загрузчика и в конце рекомендации по восстановлению, если система сама не загрузилась после перезапуска. Рекомендации были примерно такими
Boot successfully repaired. You can now reboot your computer. Please do not forget to make your BIOS boot on sda2/EFI/ubuntu/shimx64.efi file! If your computer reboots directly into Windows, try to change the boot order in your BIOS. If your BIOS does not allow to change the boot order, change the default boot entry of the Windows bootloader. For example you can boot into Windows, then type the following command in an admin command prompt: bcdedit /set {bootmgr} path EFIubuntushimx64.efi
То есть загружаемся в Windows, открываем консоль от имени Администратора системы и выполняем команду:
bcdedit /set {bootmgr} path
EFIubuntushimx64.efi
к сожалению эта команда мне не помогла. Порыскав немного по ссылке которую мне сформировал boot-repair я нашел такой раздел в ней.
sda2: __________________________________________________________________________ File system: vfat Boot sector type: Windows 8/2012: FAT32 Boot sector info: No errors found in the Boot Parameter Block. Operating System: Boot files: /EFI/ubuntu/grub.cfg /EFI/Boot/bkpbootx64.efi /EFI/Boot/bootx64.efi /EFI/ubuntu/fbx64.efi /EFI/ubuntu/fwupx64.efi /EFI/ubuntu/grubx64.efi /EFI/ubuntu/mmx64.efi /EFI/ubuntu/shimx64.efi /EFI/Microsoft/Boot/bootmgfw.efi /EFI/Microsoft/Boot/bootmgr.efi /EFI/Microsoft/Boot/memtest.efi /boot-repair/log/20171022_104743/sda2/bootx64.efi /boot-repair/log/20171022_114814/sda2/bootx64.efi /boot-repair/log/20171022_120800/sda2/bootx64.efi /boot-repair/log/20171022_120927/sda2/bootx64.efi
Видим от того что у меня Linux Mint команда для восттавновления данная boot-repair мне не помогла, но я немного изменил ее следующим образом:
bcdedit /set {bootmgr} path
EFIubuntugrubx64.efi после чего к счастью при загрузке снова стал отображаться Grub2, из которого я могу на свой выбор загрузить либо Windiws, либо Linux.
Если вы используете на своем компьютере две операционные системы, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. Во время обновления Windows 10 просто затрет загрузчик Grub и запишет туда свой.
Вы, как обычно, перезагружаете систему и ожидаете увидеть меню выбора операционной системы Grub, но вместо этого загружается новая Windows 10. Вам может показаться, что нет никакого способа получить доступ к Ubuntu или что не может работать Ubuntu рядом с Windows 10. Но это не так. Многие советуют установить Ubuntu на другой диск, но есть более простое и прекрасно работающие решение, чтобы восстановить grub после установки windows 10. Кончено, всегда можно восстановить grub2 стандартным способом, с помощью LiveCD диска, но если вы используете UEFI, есть более легкое решение, мы сделаем все с помощью Windows 10.
Восстановление Grub после Windows 10
Хотя за основу в этой статье берется Ubuntu, но это также будет работать и для других дистрибутивов. Просто папка, в которой находятся файлы загрузчика будет немного отличатся.
Шаг 1.
Откройте меню пуск в операционной системе Windows:
Шаг 2.
Найдите командную строку и щелкните по ней правой кнопкой. В открывшимся окне выберите Запуск от имени администратора:
Шаг 3.
Скопируйте и выполните эту команду:
bcdedit /set {bootmgr} path EFIubuntugrubx64.efi
Вам не нужно будет вводить пароль, у вас уже есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 grub.
Шаг 4.
Восстановление grub после windows 10 завершено. Перезапустите компьютер и вы увидите на экране знакомый Grub. Надеюсь, эта краткая инструкция помогла вам выполнить восстановление Grub после установки Windows 10.
Всем привет! В этой заметке я покажу, как можно исправить ситуацию, когда после успешной установки дистрибутива Linux Debian 10 рядом с Windows 10 на компьютер с UEFI, загрузчик GRUB не загружается, а вместо него по-прежнему, как и до установки Debian, запускается Windows 10, т.е. в обход GRUB.
Содержание
Зачем нужно, чтобы GRUB запускался по умолчанию?
Если Вы захотели установить на один компьютер Linux и Windows, например, дистрибутив Debian 10 и Windows 10, то Вам необходимо сначала установить Windows, а потом Debian, так как загрузчик Windows не работает с Linux, а загрузчик Debian, т.е. GRUB, умеет запускать все загрузочные системы, включая Windows.
Таким образом, если установить сначала Debian, а потом Windows, то Windows просто перепишет загрузчик GRUB, и Debian запускаться не будет.
Поэтому, для того чтобы иметь возможность по выбору запускать операционные системы на компьютере, необходимо, чтобы загрузкой управлял GRUB, т.е. запускался по умолчанию.
Почему не загружается GRUB?
Все дело в том, что по умолчанию установщик Debian устанавливает загрузчик в область UEFI согласно всем спецификациям, а Windows нет, именно это и не позволяет Debian загружаться даже после успешной установки.
В данном случае UEFI запускает загрузчик по умолчанию, т.е. Windows, а загрузчик Debian просто не запускается. В результате Вы успешно установили Debian, но по умолчанию загружается все равно Windows 10.
Поэтому, для того чтобы изначально избежать такой ситуации, установку Debian 10 необходимо производить в экспертном режиме, чтобы принудительно установить загрузчик в нужную область (removable media path), так же как это делает Windows.
Заметка!Установка Debian 10 рядом с Windows 10 на компьютер с UEFI (экспертный режим) – в материале подробно рассмотрен процесс установки дистрибутива Debian 10 на один компьютер с UEFI рядом с Windows 10 в экспертном режиме.
Некоторые другие дистрибутивы Linux, например, Ubuntu, по умолчанию устанавливают загрузчик в область removable media path, и таких проблем у них не возникает, но такой подход создает предпосылки конфликта с любыми другими установщиками, что плохо и неправильно. Вот почему в Debian не делают этого по умолчанию.
Заметка!Установка Ubuntu рядом с Windows 10 на компьютер с UEFI – в материале подробно рассмотрен процесс установки дистрибутива Linux Ubuntu на один компьютер рядом с Windows 10.
Однако если Вы все-таки установили Debian 10 в обычном режиме, и у Вас возникла такая ситуация, что вместо загрузчика GRUB загружается Windows 10, Вам необязательно переустанавливать Debian, достаточно зайти в загрузочное меню, запустить UEFI Shell и настроить загрузку UEFI. А как все это сделать, я сейчас и покажу.
Делаем загрузчик GRUB загрузчиком по умолчанию
Сейчас мы рассмотрим все действия, которые необходимо выполнить, чтобы сделать загрузчик GRUB загрузчиком по умолчанию.
Примечание! Все действия ниже предполагают наличие у Вас определенного опыта администрирования операционных систем и навыков работы с компьютером. При определенных обстоятельствах некорректные действия могут повлечь нарушение работы загрузчика компьютера.
Шаг 1 – Запускаем менеджер загрузки
Для того чтобы управлять загрузчиком компьютера, необходимо зайти в загрузочное меню, т.е. запустить менеджер загрузки.
Обычно это можно сделать клавишей F9, но иногда используются и другие клавиши (F12 и т.д.).
Итак, во время включения компьютера нажимаем клавишу F9.
Шаг 2 – Запускаем UEFI Shell
В итоге запустится загрузочное меню. Нам нужно открыть UEFI Shell. Для этого входим в «Boot Manager» (интерфейс у Вас может отличаться).
Затем выбираем пункт «EFI Internal Shell».
После чего запустится командная оболочка для работы с UEFI. В командной строке отобразится приглашение ввода команд «Shell>».
Шаг 3 – Входим в файловую систему загрузочного раздела
Вносить изменения мы будем путем определенных действий с файлами, поэтому нам необходимо открыть файловую систему загрузочного раздела UEFI.
Это делается достаточно просто, вводим команду FS0: (обычно именно такая метка у загрузочного раздела).
Шаг 4 – Переименовываем текущий загрузочный файл
Весь смысл наших действий заключается в том, чтобы заменить текущий загрузочный файл на тот, который нам нужен, т.е. на загрузчик GRUB.
Но для начала нам нужно переименовать текущий загрузочный файл, так как файл загрузчика, который мы будет потом копировать, должен быть с таким же названием (можно, конечно, его и удалить, но лучше этого не делать).
Переименовываем файл следующей командой.
mv EFIBootbootx64.efi EFIBootbootx64.efi_
Если у Вас отобразилось сообщение [ок], значит, все прошло успешно.
Таким образом, файл bootx64.efi мы переименовали в bootx64.efi_, этот файл расположен в каталоге EFIBoot.
Шаг 5 – Копирование файла загрузчика GRUB
Теперь нам нужно в каталог EFIBoot скопировать файл загрузчика GRUB, чтобы он запускался по умолчанию.
В этой статье речь идет о Debian, поэтому загрузчик лежит в одноименном каталоге EFIdebian, а файл его называется grubx64.efi.
Для копирования можно использовать следующую команду.
cp EFIdebiangrubx64.efi EFIBootbootx64.efi
Как видите, файл мы копируем с новым названием, для того чтобы EFI запускала его по умолчанию.
Шаг 6 – Выход из командной строки
На этом все, теперь мы можем выйти из командной строки и попробовать запустить компьютер.
Для выхода из «EFI Internal Shell» вводим команду Exit.
Чтобы продолжить загрузку компьютера, выбираем пункт «Continue».
После вышеупомянутых операций с файлами по умолчанию у Вас должен загружаться GRUB, в котором можно будет выбрать операционную систему для загрузки, Debian или Windows.
На заметку! Новичкам рекомендую почитать книгу «Linux для обычных пользователей» – в ней подробно рассказывается про основы операционной системы Linux
Где:
- Debian GNU/Linux– это операционная система Debian;
- Windows Boot Manager (на /dev/sda2) – это Windows 10.
Если ничего не выбрать в течение нескольких секунд, по умолчанию будет загружаться Debian, однако можно сделать и так, чтобы по умолчанию загружалась Windows 10, и даже переименовать пункты меню для удобства, об этом я уже рассказывал в материале – Как изменить порядок загрузки операционных систем (Linux, Windows) в GRUB.
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Используемые источники:
- https://alimuradov.ru/vosstanovlenie-grub-posle-obnovlenija-windows-10/
- https://losst.ru/vosstanovlenie-grub-posle-ustanovki-windows-10
- https://info-comp.ru/grub-does-not-load-after-install-debian-10
Содержание
GRUB — это основной загрузчик Ubuntu начиная с версии 9.10. Ранее он был известен как GRUB2 и пришёл он на смену старой версии GRUB, известной теперь как GRUB Legacy. Если вам необходимо восстановить GRUB Legacy, например поскольку у Вас стоит версия Ubuntu старше 9.10, то вам необходимо прочитать соответствующую статью.
Несмотря на то, что это фактически две версии одного приложения с названием GRUB, они не имеют ничего общего и являются совершенно разными программами.
На любом загрузочном винчестере есть так называемая Главная загрузочная запись (англ. master boot record, MBR), к которой обращается BIOS при загрузке компьютера. В эту область загрузчик системы и должен записать информацию об основных файлах, которые хранятся уже на разделах винчестера.
Каждый раз при установке или восстановлении систем от Microsoft загрузчики Linux заменяются и их необходимо заново устанавливать.
Восстановление с помощью LiveCD/USB
Первый способ
Запустите систему с LiveCD/USB и откройте терминал. Для этого можно нажать Alt+F2 и ввести команду:
gnome-terminal
Далее необходимо узнать Вашу таблицу разделов. Используйте команду:
sudo fdisk -l
На экран должна быть выведена примерно такая таблица:
/dev/sda3 239616 233392328 233152713 111,2G Microsoft basic data /dev/sda4 233394176 234438655 1044480 510M Windows recovery environment ... Disk identifier: 0x7d6fe43d Device Boot Start End Sectors Size Id Type /dev/sdc1 * 2048 29304782 29302735 14G 83 Linux /dev/sdc2 29304832 1953523711 1924218880 917,6G 83 Linux
Из таблицы видим, что Linux (загрузочный /-корень отмечен звёздочкой) стоит, в нашем случае, на разделе /dev/sdc1.
Теперь подключим этот раздел в /mnt следующей командой (следим за пропусками между кодами и порядковыми номерами разделов):
sudo mount /dev/sdc1 /mnt
Затем, для записи grub в MBR, вводите следующую команду:
sudo grub-install --root-directory=/mnt /dev/sdc
В случае, если нужно только восстановить MBR диска (например, после переустановки Windows), то этого достаточно, закрываем терминал и перезагружаем.
Если нужно обновить и меню grub (например, после установки Windows), то нужно сделать:
sudo update-grub --output=/mnt/boot/grub/grub.cfg
Восстановление закончено!
Восстановление используя chroot
Запустите систему с LiveCD/USB и откройте терминал. Для этого можно нажать Alt+F2 и ввести команду:
gnome-terminal
Далее необходимо узнать Вашу таблицу разделов. Используйте команду:
sudo fdisk -l
На экран должна быть выведена примерно такая таблица:
/dev/sda1 29 8369 66999082+ 83 Linux /dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS /dev/sda3 13996 14593 4803435 5 Extended
Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и еще несколько важных директорий:
sudo mount /dev/sda1 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
Если раздел /boot или /var находится отдельно, то Вам необходимо примонтировать их в /mnt/boot и /mnt/var
Теперь перейдем в окружающую среду chroot:
sudo chroot /mnt
Теперь необходимо установить GRUB, используя команду:
grub-install /dev/sda
Если Вы получили сообщение об ошибке, то используйте команду:
grub-install --recheck /dev/sda
Также в некоторых случаях может помочь вариант:
grub-install --recheck --no-floppy /dev/sda
Если все прошло успешно, выходим из chroot командой:
exit
Теперь необходимо отмонтировать разделы:
sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt
Если Вы монтировали раздел /boot воспользуйтесь командой:
sudo umount /mnt/boot
Затем перезагрузим Ваш компьютер командой:
sudo reboot
При необходимости Вы можете обновить меню загрузчика командой:
sudo update-grub
Восстановление в rescue mode
При отсутствии загрузочного диска, можно восстановить Grub из его консоли. Восстановление происходит следующим образом: сначала нужно подгрузить все модули, чтобы стала доступна вся функциональность Grub, а затем уже запуститься с нужного раздела.
Как известно, Grub состоит из двух частей.
Первая часть записана в MBR диска. Она содержит базовую функциональность, то есть в ней есть консоль в rescue mode и ничего больше. Вначале нужно определить, на каком разделе находится вторая часть груба (она лежит в каталоге /boot/grub), подгрузить недостающие модули. И только потом можно будет дать команду запуска с нужного раздела.
В rescue mode доступно всего четыре команды:
ls set unset insmod
Вначале следует дать команду:
ls
В ответ она выведет, например, следующее:
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)
Иногда Grub может неправильно опеределить, какие файловые системы находятся на разделах дисков. В данном случае определяет их как msdos.
Нам нужно постараться угадать, какие диски мы видим. В данном случае видно два диска. Диск с индексом 0 содержит три раздела, диск с индексом 1 содержит два раздела. Зная структуру своих дисков несложно определить нужный диск.
Grub называет разделы в обратном порядке. И становится непонятно, что имеется в виду под (hd0,msdos3) — первый раздел или третий? Тут можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что в Grub счет дисков начинается с 0, а счет разделов — с 1.
Предположим, что Линукс установлен на первый диск в первый раздел, то есть (hd0,1).
Даем команду:
set prefix=(hd0,1)/boot/grub set root=(hd0,1)
Этими командами мы указываем использовать диск (hd0,1) для дальнейших команд. После чего нужно проверить, действительно ли на этом разделе есть то, что нам нужно. Даем команду:
ls /boot/grub
если в ответ получаем список всех файлов в этой директории, то диск и раздел выбраны правильно.
Подгружаем модули:
insmod ext2 insmod normal normal
Проверьте правильность написания первой команды для файловых систем ext3 и ext4
Если ОС расположена на разделе, отформатированном в btrfs,
то выполняем следующие команды:
set prefix=(hd0,1)/@/boot/grub set root=(hd0,1)
подгружаем модули:
insmod btrfs insmod normal
запускаем GRUB:
normal
После чего Grub перейдёт в полнофункциональный режим. Он автоматически найдет все операционки, которые можно подгружать, и покажет своё Grub-меню.
Дальнейшее восстановление сводится к тому, чтобы загрузить нужный нам Linux, и в нем от рута дать команду:
grub-install /dev/sdX
Где sdX, диск, на который нужно установить Grub.