Debian restore grub after windows install

Не загружается GRUB после установки Debian 10 на UEFI рядом с 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. А как все это сделать, я сейчас и покажу.

Читайте также:  Linux device drivers development pdf

Делаем загрузчик GRUB загрузчиком по умолчанию

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

Примечание! Все действия ниже предполагают наличие у Вас определенного опыта администрирования операционных систем и навыков работы с компьютером. При определенных обстоятельствах некорректные действия могут повлечь нарушение работы загрузчика компьютера.

Шаг 1 – Запускаем менеджер загрузки

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

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

Итак, во время включения компьютера нажимаем клавишу F9.

Шаг 2 – Запускаем UEFI Shell

В итоге запустится загрузочное меню. Нам нужно открыть UEFI Shell. Для этого входим в «Boot Manager» (интерфейс у Вас может отличаться).

Затем выбираем пункт «EFI Internal Shell».

После чего запустится командная оболочка для работы с UEFI. В командной строке отобразится приглашение ввода команд «Shell>».

Шаг 3 – Входим в файловую систему загрузочного раздела

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

Это делается достаточно просто, вводим команду FS0: (обычно именно такая метка у загрузочного раздела).

Шаг 4 – Переименовываем текущий загрузочный файл

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

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

Переименовываем файл следующей командой.

Если у Вас отобразилось сообщение [ок], значит, все прошло успешно.

Таким образом, файл bootx64.efi мы переименовали в bootx64.efi_, этот файл расположен в каталоге EFI\Boot.

Шаг 5 – Копирование файла загрузчика GRUB

Теперь нам нужно в каталог EFI\Boot скопировать файл загрузчика GRUB, чтобы он запускался по умолчанию.

В этой статье речь идет о Debian, поэтому загрузчик лежит в одноименном каталоге EFI\debian, а файл его называется grubx64.efi.

Для копирования можно использовать следующую команду.

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

Шаг 6 – Выход из командной строки

На этом все, теперь мы можем выйти из командной строки и попробовать запустить компьютер.

Для выхода из «EFI Internal Shell» вводим команду Exit.

Чтобы продолжить загрузку компьютера, выбираем пункт «Continue».

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

На заметку! Новичкам рекомендую почитать книгу «Linux для обычных пользователей» – в ней подробно рассказывается про основы операционной системы Linux

  • Debian GNU/Linux– это операционная система Debian;
  • Windows Boot Manager (на /dev/sda2) – это Windows 10.
Читайте также:  Как удалить ярлык запуска windows

Если ничего не выбрать в течение нескольких секунд, по умолчанию будет загружаться Debian, однако можно сделать и так, чтобы по умолчанию загружалась Windows 10, и даже переименовать пункты меню для удобства, об этом я уже рассказывал в материале – Как изменить порядок загрузки операционных систем (Linux, Windows) в GRUB.

На сегодня это все, надеюсь, материал был Вам полезен, пока!

Восстановление GRUB2 в Debian ( Восстановление GRUB2 в «Linux Debian Lenny/Squeeze/Wheezy» с помощью инсталляционного дистрибутивного диска. )

30 августа 2013 (обновлено 20 сентября 2018)

OS: «Linux Debian Lenny/Squeeze/Wheezy».
Application: «GRUB2 (Grand Unified Bootloader v2)».

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

На практике я сталкивался с тремя причинами потери загрузчиком работоспособности: перезапись MBR (фрагмент первого сектора системного диска, в котором записан исполняемый код, запускающий загрузчик) в процессе установки операционной системы не распознающей альтернативные загрузчики (вроде MS Windows, например), невозможность получить доступ к файлам загрузчика в результате изменения принципа монтирования разделов (часто в результате попыток воздействовать на дисковую подсистему путём ручного изменения конфигурации) и сбой автоматического конфигурирования при кардинальном обновлении операционной системы и её подсистем (таким одно время грешил Debian Wheezy в комбинации MDADM+LVM+GRUB2, пока не вышел из тестового статуса). Для каждого из перечисленных сбоев есть свой упрощённый способ решения проблемы, из одного-двух этапов (в «интернетах» их часто путают), но в целях унификации методик, да и вообще, чтобы не забивать себе голову лишней информацией, я всегда восстанавливаю загрузчик одним и тем же проверенным и гарантирующим результат способом, который далее и опишу.

Во всех, без исключения, встретившихся мне руководствах по восстановлению загрузчика GRUB2 рекомендуют делать это с помощью так называемого LiveCD. Применительно для «Linux Debian» я, напротив, советую для восстановления GRUB2 использовать установочный дистрибутивный диск: например образ «netinstall» — он маленький, не более 250MB и не обременён излишествами, обладая в тоже время набором утилит достаточным для полноценной работы с файловой системой в рамках решения поставленной задачи. К тому же не всегда есть возможность срочно скачать и записать на загрузочный носитель (CD, DVD или Flash) образ LiveCD, тогда как инсталляционный образ практически всегда уже имеется.

Итак, мы оказались перед терминалом с сообщением о невозможности осуществить загрузку ОС «Linux Debian» по причине той или иной ошибки. Не будет здесь о причинах: главное, что мы приняли решение восстановить все компоненты загрузчика GRUB2 в основном сохранив его изначальную конфигурацию.

Загружаемся с инсталляционного образа «Linux Debian». Проходим этапы предварительной настройки установщика (пример здесь: Инсталляция «Linux Debian Squeeze»):

Далее инсталлятор более не используем! Всё остальное делаем в командной строке. Переходим в командную строку используя соответствующий пункт установщика «Execute a shell» или элементарно уходим в соседний виртуальный терминал с помощью комбинаций клавиш «Alt+F2».

Суть дальнейших процедур заключается в том, что мы воссоздаём для утилит восстановления окружение файловой системы идентичное (в ограниченном смысле, в рамках решения поставленной задачи, разумеется) тому, что бывает в операционной системе запущенной обычным порядком и после отдаём указание переустановить компоненты загрузчика и перезаписать воссозданную конфигурацию подсистемы загрузки (как это бывает в случае обновления ядра операционной системы и перегенерации образа «initramfs», например).

Читайте также:  Драйвер видеокарты для линукса

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

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

Для простых файловых систем может оказаться достаточным утилиты «fdisk»:

Для более современной GPT-разметки файловых систем может понадобится утилита «gdisk»:

Для файловых систем на LVM (Logical Volume Manager) следует посмотреть в сторону «blkid»:

После того, как найдено блочное устройство, на котором расположена корневая файловая система, монтируем её в нашу точку сборки (далее будем работать с LVM):

Естественно, что группа томов не обязательно будет называться «vg0», а логический том корневой файловой системы не обязательно будет называться «lvroot».

Чтобы предоставить утилитам восстановления информацию о реальном аппаратном и программном окружении, необходимо показать им содержимое динамически создаваемых директорий «/dev», «/proc» и «/sys»:

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

Для простых файловых систем:

Для файловых систем на LVM:

Если загрузочная система UEFI (пришла на смену MBR, совместно с GPT-разметкой), до дополнительно подмонтировать и её раздел (пример для LVM):

После того, как все необходимые для восстановления загрузчика файловые системы оказались успешно смонтированы в точку сборки, изменяем для процессов текущего терминале (в котором мы в данный момент работаем) высшую точку корневой файловой системы, смещая её в заранее созданную точку сборки «/mnt/chroot». Тем самым мы изолируем запускаемые в дальнейшем процессы в своего рода «песочнице», заставляя воздействовать таковые на предоставленные им ресурсы, симулируя запущенную обычным образом операционную систему:

Уже в «песочнице» отдаём команду на установку GRUB2 (размещение исполняемых компонентов в MBR и директории «/boot», а также конфигурирование таковых):

В качестве завершающего штриха рекомендую запустить повторное сканирование и обновление конфигурации загрузчика, проверяя насколько успешно прошли все предыдущие процедуры. Это полезно для того, чтобы быть уверенным, что последующие обновление ядра операционной системы или установка драйверов, вызывающие перегенерацию образа «initramfs» и переконфигурацию загрузчика не приведут к неработоспособности GRUB2 по причине обнаружения какого-нибудь конфликта в файлах настройки:

После успешного завершения проверки очищаем дисковые «кэши» и перезапускаемся:

Восстановление загрузчика GRUB2 можно считать завершённым.

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

[ уже посетило: 22216 / +18 ] [ интересно! / нет ]

Поблагодарить автора ( сделайте свой денежный вклад в хорошее настроение )

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