что такое загрузчик grub

Что такое Grub

Если вы когда-либо использовали систему Linux, то вы должны были видеть экран загрузчика. Это называется экран GRUB. Да, это пишется заглавными буквами.

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

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grub

Что такое GRUB?

Загрузчик или менеджер загрузки

Я не хочу запутать вас на этом этапе, но эта тема нуждается в разъяснении перед тем, как мы продолжим. Разница между менеджером загрузки и загрузчиком весьма размыта.

Ядро Linux версии 3.3 включает в себя встроенный загрузчик EFI. Фактически, любая операционная система, способная работать с EFI включает в себя загрузчик EFI. В системах с поддержкой EFI системная прошивка считывает системный раздел EFI (ESP) для обнаружения файлов EFI на загрузочном разделе.

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grub

2. Какие существуют загрузчики, похожие на GRUB?

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grubПерсонализированный экран менеджера загрузки rEFInd

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grubsystemd-boot в Pop OS

Про другие загрузчики читайте в статье Лучшие загрузчики для Linux.

3. Доступ к опциям и настройкам GRUB

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

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grubВы также можете войти в командную строку GRUB используя кнопку C в меню GRUB.

4. Файл настроек GRUB

Стандартный файл настроек GRUB находится в /etc/default/grub. Также есть папка /etc/default/grub.d. Вы можете редактировать файл /etc/default/grub напрямую, однако рекомендуется сохранять дополнительные изменения в вышеуказанной папке.

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grubСтандартный файл настроек GRUB

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

5. GRUB customizer для лёгкой настройки GRUB

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grub

GRUB Customizer может быть установлен в Ubuntu 20.04 из репозитория Universe и через PPA в Ubuntu 18.04. Он также доступен через AUR в дистрибутивах, основанных на Arch Linux. Подробнее про использование Grub Customizer рассказано в этой статье.

Заключение

Надеюсь, что вы немного лучше понимаете теперь, что такое GRUB. Возможно вы хотите рассказать ещё что-то о Grub? Пишите в комментариях!

Источник

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

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

Ну, если вы готовы, читайте дальше.

Содержание

Все есть файл

Для того чтобы успешно овладеть секретами GRUB вы должны понять один из фундаментальных принципов *NIX-ориентированных операционных систем. Все есть файл. Даже жесткие диски и разделы рассматриваются как файлы. Это не магия. Если вы помните это, то рискованная задача изменения разделов жесткого диска покажется вам ничем не отличающейся от манипуляции с файлами в файловом менеджере (или командной строке).

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

Введение

GNU GRUB это загрузчик (то есть начальный или первичный загрузчик) способный загружать различные свободно распространяемые и проприетарные операционные системы. GRUB будет хорошо работать с Linux, DOS, Windows или BSD. Аббревиатура GRUB расшифровывается, как GR and U nified B ootloader (Главный унифицированный загрузчик).

Что такое LILO?

Подводя итог изложенному выше, отметим, что GRUB выглядит победителем. Итак, позвольте показать, что эта малютка может делать.

Как работает GRUB?

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

Первый сектор жесткого диска называется Master Boot Record (MBR) (Главная Загрузочная Запись). Длина этого сектора всего 512 байт. Он содержит небольшой фрагмент кода (446 байт), который называется основной загрузчик, и таблицу разделов (64 байта). Таблица разделов содержит описание первичных и дополнительных разделов жесткого диска.

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

GRUB заменяет код MBR по умолчанию собственным кодом.

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

Структура Стадии позволяет GRUB иметь довольно большой объем (

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

Терминология GRUB

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

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

Вот, пример типичного начала GRUB:

Отсюда следует, что в GRUB (меню) не различаются IDE и SCSI приводы или первичный и логический разделы. Задача определения какой жесткий диск или раздел должен быть загружен, определяется BIOS и на Стадии 1.

Как видите, условные обозначения очень простые.

Только этих входных данных недостаточно для загрузки операционной системы.

Также GRUB необходимо знать какой из образов операционной системы загружать. Эти параметры и специальные флаги (ключи) присваиваются каждому загрузочному устройству. Например, специальный флаг для Windows Safe Mode.

Здесь показан пример меню GRUB загружающего только Ubuntu.

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grub

Здесь показан пример меню GRUB для компьютера с тройной загрузочной конфигурацией (SUSE 10.2, Ubuntu 6.10 и Windows XP). Это реальный menu.lst на одной из моих действующих машин.

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grub

Первая строка ( default 0 ) означает, что будет загружена первая операционная система из списка. В нашем случае, это SUSE 10.2. Вторая строка ( timeout 8 ) сообщает сколько времени (в секундах) имеется у пользователя чтобы выбрать систему для загрузки до того как загрузится система по умолчанию. Просто, не правда ли?

GRUB меню может быть графическим. Все необходимое для отображения изящного пользовательского представления с цветным фоном и некоторыми дополнительными элементами, размещено на первом физическом диске, третьем разделе (hd0,2). Это первичный раздел, как вы успели заметить.

Это первая операционная система в меню.

Дополнительные ключи используются после указания ядра. Они определяют текущее размещение корневой директории (root), используемый графический режим и размещение раздела подкачки (swap). В этой статье не будут рассматриваться подробно расширенные конфигурации GRUB.

Замечания по разделам модулей ядра и корневому разделу: на старых компьютерах, BIOS которых не поддерживает доступ к более чем 1024 цилиндрам, вы должны были установить загрузочный раздел, содержащий модуль ядра и корневой раздел, в разных местах. Однако пользователи с компьютерами младше чем проблема Y2K (проблема 2000 года) могут не беспокоиться.

Другая вещь, на которую вы должны обратить внимание, это подробная загрузка Ubuntu. Ubuntu загружается с помощью загрузчика OpenSUSE. Это свойство называется совместимая мультизагрузка (Multi-boot Compliance). OpenSUSE распознает Ubuntu и может правильно вызвать ее модули (включая специальные ключи) и cмонтировать разделы. Однако большинство операционных систем лишь частично совместимы с данным свойством (Multi-boot Compliance).

Позже я покажу вам как по разному может быть выполнен вход в Ubuntu с одинаковыми результатами.

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

Это будет работать также хорошо.

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

Позвольте привести несколько примеров.

Приведенный ниже действующий пример, который записан в Ubuntu menu.lst (конечно, закомментирован).

Второй пункт меню еще проще. Мы назвали его Linux, определили его раздел и загружаем его ядро. Этот случай очень интересный. Так как образ ядра и корневой раздел (root или /) находятся на разных разделах. Этот случай очень похож на случай со старыми компьютерами или компьютером с одним загрузочным разделом.

И наконец, совершенно безумные вещи:

Вы понимаете, что все просто! Когда вы набьете руку, все сомнения исчезнут.

Конфигурация GRUB

Тем не менее, вам необходимо знать где и что нужно делать, если что-то пойдет не так.

Установка GRUB

GRUB может быть установлен на различные устройства. Большинство людей будет интересовать процесс установки GRUB на жесткий диск. Однако, изучение других его настроек совсем не повредит. Конечно, вы можете перейти дальше.

Ранее мы не устанавливали GRUB, поэтому нам необходимо знать местонахождение требуемых файлов.

Если GRUB установлен, то его меню находится внутри корневого раздела:

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

Так же GRUB файлы могут находиться внутри образа вашей операционной системы (как правило, CD):

Вы должны также знать основные команды Linux, относящиеся к жестким дискам и разделам. С этой целью, вы можете посмотреть мою статью «Самые полезные настройки и команды Linux».

Тем не менее здесь приводится ее краткая версия, для тех кого не радует чтение еще одной статьи.

Вы можете вывести на экран любую информацию о среде вашего ПК (персональный компьютер), используя терминал или текстовый редактор. Чтобы открыть файлы в текстовом редакторе необходимо указать в командной строке текстовый редактор, имя файла и путь к нему. Для открытия системных файлов необходимо иметь права суперпользователя (su или sudo для системных файлов).

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

Выводит на экран таблицу разделов:

Выводит на экран список монтированных разделов:

Сейчас мы знаем что нужно, и где это найти, для того чтобы установить GRUB.

GRUB на флоппи диске

Ниже приводится список команд, которые необходимо выполнить (они взяты из руководства):

Небольшое пояснение: if обозначает файл ввода, of обозначает файл вывода, /dev/fd0 ссылка на первый смонтированный дисковод флоппи дисков, bs заданный размер блока (в байтах), count инструкция, указывающая на количество блоков, которое должно быть скопировано, и seek указывает сколько блоков будет пропущено перед записью. Неудивительно что выбрана такая последовательность команд записи. В начале мы записали stage1 в первый сектор и скопировали stage2 во второй (пропустили первый сектор и затем записали).

Это все насчет установки GRUB на флоппи диск. Так как мы скопировали стадии из образа операционной системы, то у нас имеется вся необходимая информация для настройки. Конечно, вы всегда можете внести изменения вручную. Однако об этом в следующем разделе.

Установка GRUB по умолчанию

Для установки GRUB в MBR вам необходимо загрузиться с внешнего носителя (флоппи диск, live CD Linux). После загрузки, как только будет доступно приглашение на ввод команды GRUB (grub>), выполните следующие команды:

Найдите корневое устройство GRUB :

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

Эти системы имеют свой собственный GRUB, поэтому любая из них может быть использована в качестве GRUB устройства (так как каждая из них имеет свои собственные файлы GRUB).

Если вы хотите использовать SUSE GRUB, вам необходимо сделать корневым устройством GRUB (GRUB root device) первый раздел жесткого диска (hd0,1) :

Если вам известно размещение корневого раздела GRUB и необходимых файлов, то можете обойтись без команды find.

Если вы определили корневой раздел, вам необходимо записать информацию в MBR (Главную Загрузочную Запись):

И наконец, выйдите из GRUB консоли:

Вот вся последовательность команд, которую вам необходимо выполнить:

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

Это все. Просто и быстро!

Установка GRUB с помощью grub-install

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

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

Настройка GRUB вручную (после установки)

Вы можете переконфигурировать или переустановить GRUB в любой момент.

Резервное копирование!

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

Для получения доступа к GRUB выполните следующую команду в Linux терминале:

что такое загрузчик grub. Смотреть фото что такое загрузчик grub. Смотреть картинку что такое загрузчик grub. Картинка про что такое загрузчик grub. Фото что такое загрузчик grub

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

Добавление новой операционной системы в меню GRUB

Примечание: Разделы GRUB меню названы комнатами (возможно это особенность данного экземпляра?).

Таким образом, нам необходимо добавить Sabayon в конфигурационный файл GRUB.

Если вы знаете, где Sabayon был установлен, то вам надо добавить его данные в menu.lst.

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

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

Типичные проблемы

Как восстановить GRUB после удаления?

Простой способ

Сложный способ

Все тоже самое, что и раньше!

Windows установлена не на первом жестком диске (Своппинг)

Вам необходимо сделать виртуальный своп между жесткими дисками. Таким образом:

После добавления этих двух строк, вы должны загрузить Windows (или DOS).

Несколько Windows операционных систем установлены на одном первом жестком диске (Скрыть/Показать)

С Windows опять могут возникнуть проблемы, если имеется несколько экземпляров размещенных на одном жестком диске, в особенности, если они установлены на первичных разделах. Раньше, когда вы использовали команду chainloader (последовательная загрузка), вы передавали управление начальному загрузчику Windows. Какому загрузчику операционной системы передать управление сейчас?

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

Приводимый здесь пример, взят из руководства, он демонстрирует этот момент.

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

Вы изменили размер раздела; GRUB не работает

Это интересный случай. Он может случиться после использования программного обеспечения для работы с жесткими дисками (управление разделами жесткого диска, восстановление разделов из образов разделов, и т.д.), которое изменяет Таблицу Разделов. Обычно это случается, когда вы делаете такие изменения из Windows. Linux не будет информирована об этих изменениях, потому что Windows не обращает внимания ни на что, кроме имеющихся на этой машине продуктов Microsoft. Следовательно, GRUB не будет работать.

Скорее всего повреждена файловая система и ее необходимо восстановить для решения данной проблемы.

Загрузитесь с live CD и выполните следующие команды (предполагается что вы знаете, где размещены Linux-разделы).

Выполните проверку файловой системы:

Замените X и Y буквой жесткого диска и номером раздела, который вы хотите проверить (hda2, hdb3, и т.д.).

Теперь монтируйте корневую файловую систему на /mnt/sysimage и запустите grub :

Вы снова вернулись в знакомую среду.

В заключение, несколько каверзных вопросов, отвеченных в Ubuntu wiki :

Полезные инструменты

Это live CD, который специально предназначен для аварийного восстановления. Этот пакет инструментальных программных средств включает несколько очень важных утилит доступных пользователю Linux, например, GParted, QTParted, Partimage, Grub, Lilo, sfdisk, утилиты обеспечения безопасности, сетевые утилиты и много других.

Super Grub Disk предназначен для запуска с флоппи диска или CD, и применяется для восстановления системы. Самое важное, что он может восстановить первичный загрузчик, например, GRUB, LILO и даже загрузчик Windows.

Источник

Что такое загрузчик GRUB и для чего он нужен?

Загрузчик – один из наиболее важных компонентов процесса загрузки вашей операционной системы Linux.

Эта статья покажет вам, что такое загрузчик и какую роль он играет в системе Linux. В частности, это руководство будет сосредоточено на Grand Unified Bootloader (GRUB), мощной и очень гибкой программе загрузчика. Но прежде чем подробно рассматривать GRUB, важно понять процесс загрузки в Linux.

Процесс загрузки Linux

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

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

Примечание. BIOS – это не процесс, связанный с Linux, это процесс, который происходит независимо от вашей операционной системы.

Что такое GRUB?

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

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

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

На момент написания этой статьи доступны две основные версии GRUB.

Помимо GRUB, дистрибутивы Linux также используют другие загрузчики, такие как Linux Loader (LILO), coreboot и SYSLINUX.

Роль GRUB

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

Когда вы находитесь в меню параметров GRUB, вы можете редактировать параметры ядра, нажав клавишу E на клавиатуре.

Настройка загрузчика GRUB

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

Каталог /boot/grub содержит файл с именем grub.cfg, который является основным файлом конфигурации GRUB. Однако вам не рекомендуется редактировать файл grub.cfg напрямую, вместо этого лучше отредактировать файл /etc/default/grub.

Когда вы вносите изменения в файл /etc/default/grub, вы должны обязательно запустить команду ниже, чтобы ваши изменения автоматически записывались в файл grub.cfg.

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

Гибкость GRUB

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

Источник

Что такое загрузчик grub

GRUB или Grand Unified Bootloader (Унифицированный системный загрузчик) является наиболее распространенным системным загрузчиком в среде Linux. Он занимает свое место по праву, ведь благодаря ему становится возможной загрузка практически всех актуальных операционных систем. Это все существующие дистрибутивы Linux, версии ОС Windows, версии DOS, версии BSD, версии Mac OS X, а также некоторые другие менее популярные операционные системы.

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

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

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

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

2.1. Когда приходится восстанавливать системный загрузчик

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

GRUB состоит из двух программных компонентов. Первым программным компонентом является сам системный загрузчик, который размещается в основной загрузчоной записи (Master Boot Record или MBR). Эта запись расположена в рамках первого сектора жесткого диска. Вторым программным компонентом является реализация меню загрузки и используемые ею дополнительные файлы. Они располагаются за пределами основной загрузочной записи, а именно, в директории boot корневого раздела Linux.

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

2.2. Процесс восстановления системного загрузчика в системах с BIOS

Данное описание процесса восстановления системного загрузчика подойдет для систем с классической прошивкой BIOS (это системы с предустановленными ОС Windows XP или Windows Vista). Оно также подойдет для систем с прошивками UEFI, работающих в режиме совместимости с BIOS (это системы с предустановленной ОС Windows 7). При этом оно не подойдет для систем с прошивками UEFI, не поддерживающих режимы совместимости с BIOS (это системы с предустановленными ОС Windows 8.x и Windows 10). Если в вашей системе используется новейшая прошивка UEFI, не совместимая с BIOS, вам придется обратиться к следующему разделу.

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

A. В первую очередь следует загрузить дистрибутив Linux с загрузочного оптического диска или флеш-накопителя с интерфейсом USB. Нужно выбирать вариант загрузки системы без установки.

Примечание: вам придется использовать загрузочный носитель той версии системы, которая установлена на вашем жестком диске. Например, в том случае, если на вашем жестком диске установлена система Ubuntu 16.04, вы должны использовать загрузочный диск Ubuntu 16.04.

B. Теперь следует выяснить имя файла устройства раздела с корневой директорией установленной системы. Для этого можно воспользоваться приложением Диски, доступным в Linux Mint, Ubuntu и Fedora Workstation.

Примечание: для раздела с корневой директорией системы с большой вероятностью будет использоваться файловая система EXT4. Для раздела EFI будет использоваться файловая система FAT32, причем этот раздел будет иметь флаг загрузочного раздела.

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

C. Теперь нужно открыть окно терминала.

D. Далее нужно скопировать и вставить в окно терминала следующую команду (напоминаю, что вы должны заменить sda5 на имя файла устройства раздела с корневой директорией установленной системы):

sudo mount /dev/sda5 /mnt

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

E. Теперь нужно выполнить следующую последовательность команд с помощью терминала (в последней команде должно использоваться имя файла устройства корневого раздела установленной системы без его номера):

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

Примечание: в ходе исполнения двух последних команд может быть выведено предупреждение:

grub probe: error: failed to get canonical path of /cow
Installation finished. No error reported.

Оно никоим образом не повлияет на установку системного загрузчика.

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

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt

После окончания ввода каждой из команд также следует нажимать клавишу Enter для ее исполнения.

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

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

После перезагрузки пункт для загрузки Windows появится в меню загрузчика GRUB. При необходимости вы можете открыть меню системного загрузчика, зажав и удерживая клавишу Shift сразу же после исчезновения экрана загрузки BIOS.

2.3. Процесс восстановления системного загрузчика в системах с UEFI

Данное описание процесса восстановления системного загрузчика подойдет для систем с прошивкой UEFI (это системы с предустановленными ОС Windows 8.x или Windows 10). Например, после успешной установки одного из дистрибутивов Linux на такую систему в меню UEFI может не оказаться пункта для его загрузки. Кроме того, вы можете случайно привести раздел UEFI к оригинальному состоянию или обновить его содержимое, в результате чего загрузка Linux также станет невозможной. К счастью, данная проблема может быть решена без переустановки системы. Однако, вам придется неукоснительно следовать приведенным ниже инструкциям.

Примечание: данные инструкции подходят лишь для современных систем с прошивками UEFI, не работающих в режиме совместимости с BIOS. Обычно такие системы продаются с предустановленными ОС Windows 8.x или Windows 10. При этом они не подойдут для систем с классическими прошивками BIOS (это системы с предустановленными ОС Windows XP, Windows Vista и Windows 7). Если в вашей системе используется классическая прошивка BIOS, вам придется обратиться к предыдущему разделу.

На системы с прошивками UEFI традиционно устанавливаются 64-битные операционные системы, поэтому мы будем рассматривать случай «исчезновения» пункта для загрузки 64-битной Linux-системы из меню UEFI. Для решения аналогичной проблемы вам придется действовать следующим образом:

A. В первую очередь следует загрузить дистрибутив Linux с загрузочного оптического диска или флеш-накопителя с интерфейсом USB. Нужно выбирать вариант загрузки системы без установки.

Примечание: вам придется использовать загрузочный носитель той версии системы, которая установлена на вашем жестком диске. Например, в том случае, если на вашем жестком диске установлена система Ubuntu 16.04, вы должны использовать загрузочный диск Ubuntu 16.04.

B. Далее следует установить соединение с сетью Интернет. Оно необходимо для переустановки пакетов программного обеспечения.

C. Теперь нужно узнать имена файлов устройств двух разделов жесткого диска, а именно, раздела с корневой директорией системы (с системными файлами дистрибутива) и раздела EFI (содержащего загрузчики Linux и Windows). Для этого можно воспользоваться приложением Диски, доступным в Linux Mint, Ubuntu и Fedora Workstation.

Примечание: для раздела с корневой директорией системы с большой вероятностью будет использоваться файловая система EXT4. Для раздела EFI будет использоваться файловая система FAT32, причем этот раздел будет иметь флаг загрузочного раздела.

В моем случае файл устройства раздела с корневой директорией имеет имя sda5, а раздела EFI — имя sda2. Я буду использовать имена этих файлов устройств в данном руководстве, вам же придется изменить их на имена ваших файлов устройств.

D. Теперь нужно открыть окно терминала.

E. Далее нужно скопировать и вставить в окно терминала следующую команду (напоминаю, что вы должны заменить sda5 на имя файла устройства раздела с корневой директорией установленной системы):

sudo mount /dev/sda5 /mnt

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

Пришло время сделать то же самое с разделом EFI. Вам придется скопировать и вставить в окно терминала следующую команду (напоминаю, что вы должны заменить sda2 на имя файла устройства раздела EFI установленной системы):

sudo mount /dev/sda2 /mnt/boot/efi

После окончания ввода команды также следует нажать клавишу Enter для ее исполнения. В результате раздел EFI установленной системы будет смонтирован в директорию /mnt/boot/efi системы, загруженной с установочного диска.

F. Теперь нужно выполнить следующую последовательность команд с помощью терминала:

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

G. Пришло время переустановить пакеты программного обеспечения, в результате чего пункт для загрузки дистрибутива Linux должен снова появиться в меню UEFI. Вам придется выполнить команду, актуальную для вашего дистрибутива.

Linux Mint/Ubuntu:

Fedora Workstation:

sudo dnf reinstall grub2-efi grub2-efi-modules shim

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

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

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/boot/efi
sudo umount /mnt

После окончания ввода каждой из команд также следует нажимать клавишу Enter для ее исполнения.

I. Далее следует воспользоваться функцией перезагрузки системы и не забыть извлечь загрузочный накопитель. В последующем процессе загрузки вы должны обнаружить пункт для загрузки установленной Linux-системы в меню UEFI. Если из этого меню исчез пункт для загрузки Windows, следует загрузить Linux, открыть окно терминала и выполнить с помощью него следующую команду:

Linux Mint/Ubuntu:

Fedora Workstation:

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

Примечание: файл конфигурации GRUB в Linux Mint находится в директории ubuntu, так как дистрибутив Linux Mint основан на Ubuntu.

После перезагрузки пункт для загрузки Windows появится в меню UEFI.

3. Настройка GRUB

3.1. О сторонних приложениях

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

3.2. Перемещение Windows на первое место в меню системного загрузчика

В начале знакомства с Linux многим пользователям хочется, чтобы ОС Windows была выбрана и загружалась по умолчанию (рано или поздно это проходит!). Это не так сложно реализовать.

3.3. Использование изображения в качестве фона меню системного загрузчика

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

3.4. Изменение времени показа меню системного загрузчика

Для произвольного изменения времени показа меню системного загрузчика GRUB достаточно отредактировать файл конфигурации /etc/default/grub, изменив значение переменной GRUB_TIMEOUT, после чего обновить конфигурацию самого загрузчика. Обратите внимание на то, что установка значения 0 не даст никакого эффекта: будет использоваться стандартное значение, равное 10 секундам. Если же вы все же хотите установить минимальное время показа меню, вы можете использовать значение 0.1. Для обновления конфигурации системного загрузчика в системе с классической прошивкой BIOS следует воспользоваться следующей командой:

Если у вас система с современной прошивкой UEFI, вы можете использовать одну из следующих команд:

Linux Mint/Ubuntu:

Fedora Workstation:

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

3.5. Использование дополнительных параметров конфигурации ядра ОС

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

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

A. В первую очередь следует открыть окно терминала и ввести в него следующую команду:

Linux Mint:

gksudo xed /etc/default/grub

Ubuntu/Fedora Workstation:

gksudo gedit /etc/default/grub

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

B. В открывшемся файле конфигурации GRUB следует найти следующую строку:

В кавычках должны перечисляться параметры, которые будут передаваться ядру ОС. Для разделения параметров должен использоваться символ пробела. Например, в случае необходимости передачи ядру ОС параметра nomodeset следует привести эту строку к следующему виду:

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

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

Если у вас система с современной прошивкой UEFI, вы можете использовать одну из следующих команд:

Linux Mint/Ubuntu:

Fedora Workstation:

После окончания ввода команды следует нажать клавишу Enter для ее исполнения.

D. Наконец, следует перезагрузить компьютер.

3.5.1. Параметр nomodeset

В современных версиях ядра Linux реализован механизм установки параметров графических карт практически всех производителей. То есть, запись данных в регистры графических карт осуществляется на уровне ядра ОС, а не на уровне модуля графического сервера X.org после его запуска. Данный механизм позволяет использовать заставки с высоким разрешением при загрузке системы и избавиться от искажений при переходе от экрана загрузки к экрану входа в систему.

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

3.5.2. Параметры noacpi, noapic и nolapic

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

Стандарт ACPI (Advanced Configuration and Power Interface) описывает механизмы управления питанием. Старые системы могут не поддерживать его в полной мере, поэтому в некоторых случаях стоит сообщать ядру ОС об этом. Вы можете сделать это, передав параметр acpi=off или noacpi.

Стандарт APIC (Advanced Programmable Interrupt Controller) реализуется в более новых системах. Локальной версией данного стандарта является стандарт LAPIC. Данный стандарт описывает механизм генерации и обработки прерываний, то есть, сигналов, используемых аппаратным обеспечением компьютера. И снова, некоторые реализации APIC могут быть неполными в старых системах, поэтому стоит деактивировать их поддержку. Вы можете сделать это, передав параметры noapic и nolapic.

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

3.5.3. Параметры quet splash

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

4. Удаление GRUB из основной загрузочной записи (возврат к Windows)

Удаление GRUB является печальным событием, ведь это такой отличный инструмент! Однако, если вы хотите знать все о системном загрузчике GRUB, вы также должны знать о том, как удалить его. Если говорить максимально кратко, то можно сказать, что под удалением GRUB чаще всего подразумевается замена системного загрузчика GRUB из состава дистрибутива Linux на системный загрузчик NTLoader из состава ОС Windows в основной загрузочной записи. Это может быть сделано различными способами.

4.1. Удаление GRUB с помощью Ultimate Boot CD

Вы можете заменить системный загрузчик GRUB на системный загрузчик NTLoader с помощью загрузочного диска Ultimate Boot CD (UBCD). Образ этого загрузочного диска доступен на данном веб-сайте.

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

Ultimate Boot CD содержит несколько инструментов, предназначенных для восстановления системного загрузчика NTLoader в основной загрузочной записи диска. Рассмотрим методику использования одного из них.

Сначала вам нужно будет с помощью меню выбрать жесткий диск, после чего выбрать действие Boot Management и, наконец, выбрать инструмент Super Grub Disk. После этого вам нужно будет снова нажать клавишу Enter для запуска Super Grub Disk. Далее нужно просто выбрать пункт:

и нажать клавишу Enter.

Примечание: использование огромного количества круглых скобок является не моей идеей, а идеей автора Super Grub Disk.

И это все, что нужно было сделать! Теперь вы можете перезагрузить свой компьютер. После перезагрузки будет загружена ОС Windows.

4.2. Удаление GRUB с помощью FreeDOS

Для удаления системного загрузчика может также использоваться флеш-накопитель с интерфейсом USB. Вам понадобятся три приложения: Unetbootin, FreeDOS и Testdisk для DOS.

A. Для начала нужно загрузить приложение Unetbootin и создать с помощью него загрузочный флеш-накопитель. При запросе названия операционной системы следует выбрать FreeDOS.

B. Теперь нужно загрузить версию утилиты Testdisk для DOS/Win9x (версия для Windows не подойдет!).

C. Далее нужно извлечь файлы testdisk.exe и CWSDPMI.exe из архива утилиты Testdisk на загрузочный флеш-накопитель (прямо в корневую директорию, не создавая каких-либо поддиректорий).

D. Теперь нужно загрузить компьютер с созданного флеш-накопителя. При появлении начального окна достаточно нажать на клавишу Enter.

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

FreeDOS Safe Mode (don’t load any drivers)

Для продолжения процесса загрузки следует нажать клавишу Enter.

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

После окончания ввода команды следует нажать клавишу Enter для ее исполнения.

G. Теперь нужно запустить утилиту Testdisk с помощью следующей команды:

После окончания ввода команды следует также нажать клавишу Enter для ее исполнения.

H. Утилита должна начать работу. Для начала следует выбрать режим без журналирования [No Log] и нажать клавишу Enter.

I. Далее следует выбрать нужный жесткий диск: обычно это второй диск в списке (первым диском является сам флеш-накопитель). После выбора диска нужно нажать на клавишу Enter.

J. Далее нужно выбрать вариант [Intel] и нажать клавишу Enter.

K. Наконец, нужно выбрать вариант [MBR Code] и нажать клавишу Enter. При запросе подтверждения следует ввести y (yes) и снова нажать клавишу Enter.

И это все, что нужно было сделать! Теперь вы можете перезагрузить свой компьютер. После перезагрузки будет загружена ОС Windows.

5. Хотите ознакомиться с дополнительными советами?

Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *