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

Обновлено: 05.07.2024

Из-за агрессивного и территориального характера Windows 10 подобные проблемы будут возникать довольно часто. Вот почему рекомендуется установить Windows 10 перед установкой Linux в режиме двойной загрузки.

Решение 1. Используйте утилиту Boot Repair в Ubuntu

Давайте начнем с самого простого метода. Вероятно, со знанием дела, Ubuntu поставляется с небольшой утилитой Boot Repair, которая исправляет повреждение загрузчика Windows 10 при запуске. Вам потребуется последняя версия загрузочной Ubuntu, установленной на вашем USB-накопителе. После этого вам необходимо установить утилиту и, не вмешиваясь в Терминал, восстановить загрузчик Windows 10.

  • ЧИТАЙТЕ ТАКЖЕ: Не можете установить Linux с Windows 10? Вот что нужно сделать

Вот как это сделать за несколько простых шагов:

    1. Загрузите Ubuntu живую дистрибутивную версию здесь и подключите ее к USB. Вы можете сделать это с помощью универсального установщика USB (желательно). Важно использовать это приложение, иначе диск не будет загрузочным.
    2. Подключите диск и загрузитесь с него.
    3. Выберите вариант Попробуйте Ubuntu без установки . В случае сбоя откройте настройки BIOS/UEFI, отключите безопасную загрузку и повторите попытку.
    4. После загрузки Ubuntu нажмите Ctrl + Alt + T , чтобы открыть терминал.
    5. В командной строке запустите следующую строку и нажмите Enter после каждого:
      • sudo add-apt-repository ppa: yannubuntu/boot-repair
      • Обновление sudo apt
      • sudo apt установить загрузчик
    6. Это должно установить Boot Repair application , и теперь вы можете найти его среди меню приложений.
    7. Откройте его, выберите Рекомендуемый ремонт и подождите, пока он не будет сделан.

    Второй метод основан на Syslinux, запущенном через Терминал. Для установки и использования Syslinux для исправления загрузчика Windows 10 вам потребуется выполнить ряд команд.

    Если вы не знакомы с тем, как они работают, мы советуем вам придерживаться первого метода. В противном случае шаги довольно просты, и вам просто нужно заменить ввод «sda» на букву системного диска Windows 10.

      1. Загрузитесь снова с загрузочного диска USB .
      2. Откройте Терминал .
      3. В командной строке введите следующую строку и нажмите Enter после каждого:
        • sudo apt-get install syslinux
        • sudo dd if =/usr/lib/syslinux/mbr.bin из =/dev/sda
        • sudo apt-get install mbr
        • sudo install-mbr -i n -p D -t 0/dev/sda
      4. Не забудьте заменить «sda» на системный диск Windows 10.
      5. После этого перезагрузите компьютер, и Windows 10 загрузится без проблем.

      Последний метод использует LILO (Linux Loader), небольшую программу, отвечающую за управление двойной загрузкой. Процедура похожа на предыдущую, по крайней мере, для непривычного глаза.

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

      • ЧИТАЙТЕ ТАКЖЕ: Загрузите долгосрочную поддержку Ubuntu 18.04 из Магазина Microsoft
      1. Загрузитесь снова с загрузочного диска USB .
      2. Откройте Терминал .
      3. В командной строке введите следующую строку и нажмите Enter после каждого:
        • sudo apt-get install lilo
        • sudo lilo -M/dev/sda mbr
      4. Перезагрузитесь, и все готово. Загрузчик Windows 10 исправлен.

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

      Я уже писал о том, как восстановить GRUB 2 после установки Windows с помощью LiveCD Ubuntu. Тот метод вполне рабочий, но случилось так, что у меня оказался старенький ноутбук с Debian (и его установочной флешкой) на который только что была установлена Windows (даже переустановлена). Соответственно, GRUB затерся и зайти в Debian не было возможности. Ниже о том, как я решал проблему.

      Замечание

      В некоторых случаях, как я могу догадываться, когда Windows создает дополнительные разделы и ей не хватает свободного места, она может повредить корневой раздел Linux (у меня такое случалось). В этом случае, восстановлением GRUB не обойтись, нужно будет переустанавливать дистрибутив. Поэтому проверьте на целостность разделы диска перед началом работ. Теперь приступим.

      Загрузка с установочного носителя Debian

      У Debian нет Live образов, зато есть режим восстановления, поэтому воспользуемся им. Для этого загружаемся с установочного диска или флешки и следуем по пунктам:

      Я не знал какой раздел на ноутбуке корневой, поэтому выбрал «Не использовать корневую файловую систему» и на следующем шаге выбрал «Запуск оболочки в рабочей среде программы установки». Затем посмотрел структуру диска командой:


      Поскольку я знал, что корневой раздел у меня занимает 20Гб стало ясно, что это sda5. Командой exit выходим из консоли и выбираем пункт «Выберите другую корневую файловую систему» из режима восстановления:


      Выделяем sda5 и жмем «Продолжить»


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

      Восстановление GRUB 2 из-под установочного диска Debian


      Начнется установка GRUB 2 по окончании которой, просто выбираем пункт «Перезагрузка системы»:


      Обновим GRUB

      После восстановления загрузчика вы можете не обнаружить в списке установленных ОС Windows, либо при ее выборе будет выскакивать ошибка. Это лечиться обновлением GRUB из терминала командой:


      А на этом все. Отпишитесь в комментариях о том, помогла заметка вам или нет.

      Если вы используете на своем компьютере две операционные системы, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. Во время обновления Windows 10 просто затрет загрузчик Grub и запишет туда свой.

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

      Как восстановить Grub после Windows 10

      Многие советуют установить Ubuntu на другой диск, но есть более простое и прекрасно работающие решение, чтобы восстановить grub после установки windows 10. Кончено, всегда можно восстановить grub2 стандартным способом, с помощью LiveCD диска, но если вы используете UEFI, есть более легкое решение, мы сделаем все с помощью Windows 10.

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

      Шаг 1. Запуск cmd

      Кликните по иконке поиск в Windows, наберите там cmd и найдите Командную строку Windows. Кликните по ней правой кнопкой и выберите Запустить от имени администратора:


      Шаг 2. Подключение раздела EFI

      Далее вы можете попытаться угадать как называется файл загрузчика Grub на разделе EFI, но можно поступить по другому и просто посмотреть. Чтобы подключить раздел EFI запустите diskpart. Для этого выполните:

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

      Выберите в качестве активного диск, на который установлена Windows 10 и на котором сейчас находится раздел EFI:


      Далее выведите список разделов на диске:

      Найдите раздел EFI, он обычно отформатирован в файловую систему FAT и занимает около 100 мегабайт места. В данном случае это том 2:


      Этому разделу надо присвоить букву. Для этого выполните:

      sel vol 2
      assign letter=I:


      Шаг 3. Поиск загрузчика

      Далее надо найти файл загрузчика на разделе EFI. Но открыть этот раздел в проводнике вы не сможете, надо использовать только командную строку. Закройте DiskPart и выполните:

      Затем с помощью команды dir найдите загрузчик Grub. Например:


      Здесь есть файл grubx64.efi. Это он. Загрузчик может называться по другому в других дистрибутивах, именно поэтому я рассказал как всё посмотреть.

      Шаг 4. Восстановление Grub

      Скопируйте и выполните эту команду:

      bcdedit /set path \EFI\ubuntu\grubx64.efi

      Вам не нужно будет вводить пароль, у вас уже есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 загрузчик Grub.

      Если команда вернула ошибку, вы можете откатить изменения такой командой:

      bcdedit /deletevalue path \EFI\ubuntu\grubx64.efi

      Затем можно включить загрузчку загузчика Windows 10:

      bcdedit /set path \EFI\Microsoft\Boot\bootmgfw.efi

      Выводы

      Восстановление Grub после Windows 10 завершено. Перезапустите компьютер и вы увидите на экране знакомый Grub. Надеюсь, эта краткая инструкция помогла вам выполнить восстановление Grub после установки Windows 10.



      Оцените статью:

      (23 оценок, среднее: 4,43 из 5)

      Об авторе

      46 комментариев

      Пойдет. А что раньше, я имею в виду, если была установлена первой Ubuntu, а затем Windows 7, Grub работал нормально, без этой команды?

      Нет, нужно было восстанавливать загрузчик с помощью LiveCD.

      А если не linux не Ubuntu установлен?

      А если linux другой установлен, в смысле?

      Какой бы Linux не был - разницы нет. Проблема не в Linux, проблема в Windiws (тупой он. ).

      Не работает. хоть тресни.

      > bcdedit /set path EFIubuntugrubx64.efi
      Хорошо бы если автор указал какие-то ссылки, или привёл в 2 слова объяснения команды, для понимания . иначе при малейших изменениях версий так и будет: "Не работает…. хоть тресни…"

      Интересно, как удалить эту запись теперь в Windows?
      Какая нужна команда чтобы удалить у себя эту запись bcdedit /set path \EFI\ubuntu\grubx64.efi?

      Это действительно помогло. Очень быстро и удобно. У меня установлены Linux Mint, Ubuntu и OpenSUSE. Большое спасибо!

      А можно пример команды для Linux Mint?

      Помогло после обновления биос. Спасибо.

      а если у меня не UEFI?

      У нас есть статья и на этот случай.

      Помогло второй раз, но уже после неудачного обновления ядра на Ubuntu 16.04, слетели обе системы. Системные Windows 10 (на m.2) разделы восстановил acronis, а grub командной строкой. Еще раз спасибо!

      Моё увожение автору

      Большое спасибо за помощь.

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

      Ну и нормально же)) Страшнее было бы, если ьы осталась только винда.

      Зайдите в линукс и в терминале выполните sudo update-grub

      Винда слетела нах, спасибо

      Сцука . Винда нах слетела.

      Третий раз не удалось. После неудачного обновления Windows 10 до 1703 ставил Windows начисто, не трогая остальные диски. Ubuntu на SSD 60Гб. Windows 10 на m2 120Гб. Загрузчик grub на диске с Ubuntu, туда же прописался после установки Ubunu 16.04 загрузчик Windows Boot loader. После ввода bcdedit /set path \EFI\ubuntu\grubx64.efi и перезагрузки - темный экран .

      добрый день, нужна помощь, была винда 10, на жестком диске было 2 раздела, один с загрузчиком виндоус, другой с виндоус, загрузился с лив-флешки Арча (Arch linux), доразбил диск с виндоуз под установку линукс, раздел, где был загрузчик виндоус использовал под boot арча (специально так сделал), сделал другие разделы для арча, установил арч и теперь, естественно, не грузится виндоуз, вопрос следующий, как, НЕ восстанавливая раздел для загрузчика виндоуза загрузиться в виндоуз, иначе говоря, я хочу, чтобы на разделе boot арча были специальные загрузочные файлы, которые помогут загрузиться в виндоуз, возможно ли такое?

      Спасибо, с Mint 18.1 помогло.

      Такая проблема: Есть дуалбут: Windows 10 (1703) и ubuntu 16.04 LTS. Обновил Windows до последней версии, перезапустил, увидел меню выбора системы, выбрал Windows и дальше черный экран сменяется фиолетовым и все, как-будто система дальше не загружается. Я "опасным" способом выключаю ноутбук, захожу в меню снова -> Windows -> дальше все загружается, восстанавливаясь до пред. версии (1703), что логично. Что мне поможет запустить Windows, но с обновлениями. Спасибо за внимание.

      Спасибо за рецепт. Очень удобно и быстро восстановился загрузчик.

      У меня Дипин, эта команда не помогла. Что надо поменять в команде, чтобы она сработала?

      Огромное спасибо автору за экономию времени, заняло 30 секунд. Система с Win10/Fedora29,
      после Windows Feature Update 1809 затёрся grub, сейчас всё работает.

      Спасибо! Помогли сэкономить время!
      Сработало после неудачного обновления Windows 10.
      Система откатилась до состояния перед обновлением, но вот загрузчик grub потёрла.
      Уже писал на флешку live-образ, но вовремя нашёл вашу статью.
      Ещё раз благодарю!

      Не помогло! У меня стоит на 1 диске винда и LinuxMint
      sda1 - Восстановление
      sda2 - EFI
      sda3 - Windows 10
      sda4 - root
      sda5 - home
      При установке Mint запилил на sda2 свою папку ubuntu рядом с виндой. Винда при переустановке естественно перетерла раздел sda2. Так что команде bcdedit /set path \EFI\ubuntu\grubx64.efi некуда ссылаться.
      Выход из ситуации:
      1. Загрузился с LifeCD
      2. Поправил в /etc/fstab UUID разделов EFI и Windows 10 т.к. форматировал их приустановке.
      3. В LinuxMint есть программа Timeshift(аналог восстановления в винде). Из снепшота достал папку /boot/EFI/ubuntu и скопировал ее в рабочую.
      В принципе потом при загрузке в UEFI появляется ubuntu. В первый раз загрузилась как то странно, но в linux зашло. Далее я удалил старые ядра и оно переинициализировало grub, дальше все стало загружаться как по маслу.

      Спасибо, помогло
      У меня Manjaro; просто написал название своего дистрибутива вместо Ubuntu и все получилось с первого раза.

      DISKPART> assign letter=I:

      Ошибка службы виртуальных дисков:
      Указанное имя диска уже занято.

      Вот на этом у меня всё и закончилось

      аналогично. Теперь интересует, как убрать этот раздел I:, который появился после второго шага. Если кто-то знает, подскажите, пожалуйста

      т.е. раздел создался, но дальше файл с убунту не обнаружился. Решила снести убунту, освободила диск, чтобы заново установить, но этот I: остался. Спасите кто-нибудь ))

      Выполните в DiskPart команду remove letter=I, аналогично тому как вы выполняли assign letter.

      Большое спасибо. Очень полезная статья. Но. 1. У меня не сработало.
      2. В параметрах команд bcdedit требует фигурные скобки.
      Например - bcdedit /set path <\EFI\ubuntu\grubx64.efi>
      3. И все равно не срабатывает. На команду:
      PS I:\> bcdedit /set path
      - Ответ:
      bcdedit.exe : Параметр command уже указан.
      строка:1 знак:1
      + bcdedit /set path
      +


      + CategoryInfo : InvalidArgument: (:) [], ParameterBindingException
      + FullyQualifiedErrorId : ParameterSpecifiedAlready
      Как его понять?

      У меня Debian, все команды выполнены, по их словам, успешно, но грузится без лишних слов windows10
      Таких дисков (99мб) нашел три и успешно сделал всё со всеми (сраной letter=) и со всеми win поёт, а я нет.
      Кстати, после bcdedit я выполнял exit;

      Красавчик! Я 3 дня потерял на эту ерунду, что только не пробовал, ничего не помогло, жаль что раньше не нашел этот метод. Автору -респект!

      Доброго времени)
      А если нет EFI\Ubuntu ? на всякий случай прошелся по всему EFI.
      Стоит Ubuntu 20.04 на SSD. После поставил на хард десятку. BIOS Перестал видеть убунту. Понимаю, что это логично, раз нет в загрузке вообще файлов убунты. Где-то можно их найти?

      Не загружается Linux, чиним загрузчик GRUB

      Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.

      Что такое Grub

      GRUB_screenshot

      Grub (или GRand Unified Bootloader) - загрузчик операционных систем с открытым исходным кодом. Распространяется он под лицензией GNU GPL, в полностью свободном виде. С помощью этого замечательного лоадера можно сделать много всего - основная же функция не ограничивается загрузкой лишь одной операционной системы. Вы можете иметь куда больше операционных систем на своем ПК, загружая любую из них с помощью Grub. На скриншоте выше вы можете видеть как примерно Grub выглядит. Кстати говоря, если вы захотите установить Ubuntu 18.04 рядом с Windows, вам определенно понадобится помощь Grub.

      Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по-умолчанию. Разумеется и с ним иногда возникают проблемы. Этим самые проблемы чреваты полным отказом операционной системы. Поэтому для починки Grub нам понадобятся дополнительные инструменты. Какие именно - узнаете далее.

      От чего могут возникнуть проблемы

      Одна из самых распространенных причин - это неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы захотите установить две этих операционных системы на свой ПК - вам непременно стоит знать правильную последовательность:

      • Сначала устанавливаем Windows
      • И только потом уже Linux

      Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.

      Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.

      Восстановление Grub с помощью LiveCD/USB

      Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.

      Как создать LiveCD/USB

      Само собой, нам понадобится носитель, на который мы временно (а может и нет) запишем систему. Сохраните все важные файлы, которые были на этом носителе, после чего (имеется ввиду на другом ПК, желательно под управлением Windows) запишите загруженный образ дистрибутива на носитель. В качестве примера мы будем использовать дистрибутив Ubuntu.

      Идем на официальную страницу загрузки. Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.

      С помощью Rufus:

      Последняя версия приложения доступна на официальном сайте. Сразу после загрузки и запуска/установки мы увидим такое окно:

      Rufus

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

      Rufus obraz

      Находим загруженный образ через менеджер, после чего жмем "Старт".

      С помощью 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 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.

      В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела - (hd0,1). Используем следующую команду:

      С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:

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

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

      Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:

      sdX - диск, на который должен быть установлен Grub.

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

      И подгрузить модули:

      Ну и теперь запустить GRUB:

      Восстановление Grub с помощью утилиты Boot repair

      1335260967

      С помощью этой замечательной утилиты вы сможете восстановить загрузчик всего в пару кликов. Как видно из скриншота, утилита имеет собственный GUI, ее использование не вызовет трудностей.

      Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:

      • Запись и установка специального образа диска Boot Repair (и дальнейшая загрузка с него)
      • Установка Boot repair из PPA-репозитория в LiveCD/USB дистрибутиве.

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

      В утилите будет доступно два варианта на выбор:

      Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.

      Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.

      Здесь же есть и Advanced options. Он включает в себя варианты для восстановления и настройки загрузчика Grub2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.

      Вам обязательно стоит заглянуть на официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и особенностях программы. Там же будет доступна информация о выходе новых версий: фиксах и улучшениях самой утилиты, а также многом и многом другом.

      Выводы

      Вот мы и рассмотрели несколько вариантов исправления загрузчика Grub. Стоит сказать, что некоторые из них могут показаться сложными или даже невыполнимыми. Это не так, каждый из рассмотренных способов нашел подтверждение в виде сотен и тысяч актов исправления загрузчика Grub в опенсорсном сообществе. Кстати говоря, какой из способов выбрать - решать только вам, любой из них достаточно эффективен, чтобы попасть в этот материал.

      Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить GRUB2 если Ubuntu не хочет загружаться. Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.

      Восстановление 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

      Восстановление GRUB. fdisk l

      Пример вывода команды:

      В моем случае мы видим 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

      Fdisk l для UEFI

      Для новых компьютеров с UEFI вывод команды fdisk -l может быть примерно следующим:

      Нам нужно определить, на каком разделе установлен Linux (корневой раздел), а также определить EFI-раздел. В моем случае это разделы: /dev/nvme0n1p5 и /dev/nvme0n1p1 , которые расположены на диске /dev/nvme0n1 .

      Монтирование разделов

      Примонтируем корневой раздел. Выполняем команду (вместо /dev/sda2 вы должны указать свой раздел):

      Восстановление GRUB. Монтирование корневого раздела

      Мы примонтировали раздел /dev/sda2 в директорию /mnt .

      Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):

      Теперь можно посмотреть содержимое директории /mnt , чтобы убедиться, что мы примонтировали верный раздел:

      Восстановление GRUB. Список файлов

      Вывод команды должен быть примерно следующим. Обратите внимание есть ли в этом списке каталог /boot , так как именно в нем установлен GRUB.

      Также можно проверить, что директория boot не пустая:

      Восстановление GRUB. Список файлов в boot

      У меня вывод команды выглядит следующим образом. Обратите внимание на присутствие каталога с именем grub .

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

      Восстановление GRUB. mount bind dev pts proc sys

      Монтирование EFI-раздела

      Если у вас используется UEFI, то еще нужно примонтировать EFI-раздел в директорию /mnt/boot/efi (выше я указал пример вывода команды fdisk -l в котором показан EFI-раздел):

      Выполняем chroot на /mnt

      На предыдущем шаге мы смонтировали все необходимые директории в директорию /mnt . Теперь переключимся (выполним chroot ) на данную директорию. Выполняем команду:

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

      Генерация файла конфигурации GRUB

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

      Для генерации файла конфигурации GRUB используется команда update-grub . Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:

      Восстановление GRUB. update-grub

      В выводе команды будет показано, какие операционные системы были найдены.

      Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).

      Устанавливаем GRUB

      Осталось выполнить установку GRUB на диск. Мы определили раздел на котором у нас установлен GRUB на первом шаге данного руководства. В моем случае это раздел /dev/sda2 , который расположен на диске /dev/sda .

      Для установки GRUB используется команда grub-install , которой нужно передать в качестве параметра диск, на который будет выполняться установка (в моем случае это диск /dev/sda ):

      Восстановление GRUB. grub-install

      Перезагрузка компьютера

      Выходим из окружения chroot, для этого выполняем команду:

      Отмонтируем все разделы, которые мы примонтировали:

      Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:

      Если вы монтировали EFI-раздел, отмонтируем:

      Отмонтируем корневой раздел:

      Перезагружаем компьютер. Для этого выполняем команду:

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

      • удерживать клавишу Shift , если у вас классический BIOS;
      • нажать Esc , если у вас UEFI.

      Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:

      Мне это помололо на компьютере, который использует UEFI.

      Шпаргалка

      Мы рассмотрели процесс восстановления загрузчика GRUB 2. Для удобства привожу краткую шпаргалку по командам, которые мы выполняли. Учитывайте, что названия и имена разделов ( /dev/sd. ) у вас могут отличаться.

      Читайте также: