Grub 2.02 beta 2 редактирование. Восстановление после неудачной загрузки. Послеустановочный GRUB: настройка и полезный в работе софт.

Отличных от Windows, с изрядной долей сомнения и скептицизма встречают фразу «начальный загрузчик» в наши дни. И тому есть абсолютно логичная причина: большинство новичков до своего перехода к использованию других, менее распространённых на рынке операционок, в повседневной жизни использовали ту же самую Windows. В ней этот загрузчик реализован максимально примитивно и прозрачно. И хоть это в некоторой степени прибавляет удобства для рядового пользователя, однако вместе с тем и урезает функциональные возможности уже и без того наиболее популярной и универсальной ОС. Поэтому всем тем, кто решил обратить внимание на иные продукты IT-индустрии, непременно следует ознакомиться с универсальным загрузчиком GRU, что в дальнейшем ощутимо поможет в работе сразу с несколькими ОС, установленных на одном компьютере.

Конечно, адаптироваться в соответствии с ситуацией. Примечание 1, аннотация в зависимости от системы разбиения. Примечание 2, Функциональная аннотация. Груб хорошо служил много лет, но начинает показывать свои годы. Как и во всем программном обеспечении, это не займет много времени, прежде чем последнее и лучшее станет старым и дряхлым. Привезли к грязной мозаике, которую никто не заботился о сохранении. Это полная переписывание с нуля, с полностью переработанной структурой. Некоторые из вас могут подумать: Ах!

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

Универсальный инструмент для не универсальных систем

Прежде всего начнём разбираться с наименования GNU GRUB. Эта аббревиатура с английского GRand Unified Bootloader переводится как "главный унифицированный загрузчик". Его создателем является некоммерческая организация «Проект GNU», которая прославилась в IT-сфере своими свободно распространяемым программным обеспечением. Сам же GRUB по своей сути представляет меню выбора загрузки нужной пользователю ОС из целого перечня поддерживаемых систем:

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

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

  • Linux.
  • FreeBSD.
  • Solaris.

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

Путь развития технологии

Непрерывно растущая популярность GRUB была основополагающей причиной, побуждающей неуклонно развивать и совершенствовать загрузчик в дальнейшем. Самая первая версия загрузчика, именовавшаяся как GRUB Legacy, до сих пор отлично справляется с задачами унифицированного загрузчика для UNIX-подобных систем. Широкая поддержка серьёзных компаний (наподобие RedHat и Novell) и серверных дистрибутивов обеспечили ей ещё продолжительный срок существования в целом.

Установите фоновое изображение в меню

Новый загрузчик предлагает установку фонового изображения в меню. Окно модуля разделено на три вкладки: первая позволяет выбрать систему загрузки по умолчанию, указывая на то, что мы хотим установить следующую запись вручную по умолчанию. Мы также можем установить интервал времени до Из загрузки системы, чтобы вы могли выбрать другой пункт меню.

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

Однако даже это обстоятельство совершенно никак не повлияло на дальнейшее совершенствование загрузчика, благодаря чему пользователи получили последнюю на данный момент времени версию GRUB 2. Будучи переписанным с чистой строки, GRUB 2 едва ли обладает хоть чем-то общим с устаревшим GRUB Legacy, кроме самого названия. Сегодня, будучи по умолчанию используемой с версии 9.10 операционной системе Ubuntu, GRUB второй ревизии благодаря своей более совершенной и мощной структуре полностью остановил какую-либо дальнейшую разработку уже и так отлично себя зарекомендовавшей в прошлом Legacy.

Что нового и исправлено в этом выпуске

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

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


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

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

Область просмотра текста содержит текстовый список разделов на выбранном дисководе. На информационной панели устройства отображаются сведения о выбранном дисководе. По умолчанию информационная панель устройства не отображается. Чтобы просмотреть панель информации о устройстве, выберите «Просмотр» → «Информация об устройстве».

  • Скриптовая поддержка (циклов, условий, переменных и функций).
  • добавляет возможность гибких изменений внешнего вида загрузчика под индивидуальный вкус пользователя (GRUB 2 может быть легко изменён от чёрно-белой таблицы до стильного разноцветного окна).
  • Возможность динамичной подгрузки модулей. Это позволит расширять функционал не на сборочном этапе, а непосредственно во время выполнения.
  • Совместимость с разными архитектурами.
  • Добавлена поддержка загрузки Mac OS.
  • Добавлена стабильная работа с такими файловыми системами, как: FAT16 , FAT32 , NTFS , любая версия ext , XFS и ISO
  • Кроссплатформенный тип установки даст возможность инсталлировать GRUB2 с другой архитектуры
  • Введение безопасного режима в случае возникновения проблемных ситуаций.
  • Исправлены ошибки от старой GRUB Legacy, которые изначально не могли быть пофиксены из-за требований обратной совместимости.

Все слышали о LILO?

Разумеется, не единым лишь GRUB"ом ограничивается выбор пользователей среди загрузчиков ОС. Подобным аналогом является LILO - начальный загрузчик LOader), который до сих пор не утрачивает полностью свою актуальность. Однако же в пользу GRUB следует учесть несколько отличительных особенностей, которыми прямой конкурент пока что похвастаться определённо не может:

Панель ожидающих операций отображает текущий список ожидающих операций в очереди для обработки. По умолчанию, если число таких операций равно 0, панель ожидающих операций не отображается. Если вы хотите просмотреть панель ожидающих операций, выберите «Просмотр → Ожидание операций».

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

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


Просмотр поддержки файловой системы

Чтобы работать с несколькими дисками из командной строки, введите следующую команду и нажмите клавишу «Ввод». Чтобы просмотреть действия, поддерживаемые файловыми системами, выберите: Вид → Поддержка файловой системы. Приложение отображает диалоговое окно «Поддержка файловой системы».

Просмотр информации об устройстве

Приложение обновит таблицу. Нажмите «Закрыть», чтобы закрыть диалоговое окно «Поддержка файловой системы». Для просмотра информации о диске. Если вы хотите закрыть информацию об устройстве на боковой панели, снимите выделение: «Просмотр → Информация об устройстве».

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

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

  • Щелкните раздел в области графического представления.
  • Щелкните раздел в области просмотра текста.
Операции разделов, такие как удаление, перемещение, копирование, форматирование, проверка, изменение меток и частое изменение размера, требуют, чтобы раздел не был подключен.

Чтобы выбрать пустое пространство, используйте следующее.

  • Щелкните на пустой области в графическом представлении.
  • Нажмите на вакансию в области просмотра текста.
Если у вас нет свободного места на диске с пустым пространством, вы можете попробовать следующее.

Установка GRUB: все нюансы и подробности процесса

С самого начала убедитесь, что у вас имеется либо установленная Ubuntu, либо имеется её загрузочный диск (LiveCD). Запустив систему, необходимо вызвать терминал сочетанием клавиш Ctrl+Alt+F2, после чего прописать в нём следующие команды:

Sudo add-apt-repository ppa:cjwatson/grub,

Sudo add-get update && sudo add-get install grub2,

Промежуточные мероприятия с разделами

Чтобы просмотреть информацию раздела. Если операция «Разделение → Отключение» не была успешной, этот раздел, вероятно, будет использоваться. Эти действия вносят изменения в разделы на вашем диске. Но это не изменяет начальные и конечные пределы ваших существующих отсеков.

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

Sudo update-grub2.

И даже если у вас не установлена Ubuntu, но имеется LiveCD, то процедура остаётся одна и та же с одной лишь крохотной разницей. Загрузившись именно с этого выберите опцию "Попробовать Ubuntu" - так вы запустите систему без каких-либо изменений на своём компьютере. После этого продолжайте устанавливать загрузчик GRUB по той же схеме с этапа вызова терминала.

Изменения имени устройства могут негативно повлиять на следующие файлы. Разделы с локальным разделом таблицы разделов или без таблицы разделов не содержат и, следовательно, не имеют разделов. Чтобы удалить файловую систему и виртуальный раздел, установите формат для удаления.

Установите метку раздела файловой системы

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

Определение размера и местоположения раздела

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

Проверить установленную версию загрузчика можно командой grub-install -v , а также непосредственно при самой загрузке Ubuntu.

Алгоритм запуска GRUB

По мере завершения работы GRUB Install загрузчик в первую очередь изменяет код MBR на свой собственный. MBR - это сектор, содержащий главную загрузочную запись (от англ. содержащий в себе:

  • код основного загрузчика (446 байт);
  • таблицу разделов с описанием как основных, так и вторичных разделов жёсткого диска (64 байта).


Универсальный инструмент для не универсальных систем

  • Нажмите и удерживайте стрелку на одном из графиков.
  • Перетащите стрелку влево или вправо в области графики.
  • Нажмите и удерживайте кнопку мыши внутри раздела в графике.
  • Перетащите влево или вправо в области графики.
Приложение мгновенно обновляет графическое представление и числовые значения во всех трех полях.

Чтобы указать выравнивание разделов, нажмите кнопку со стрелкой в ​​поле «Выровнять по» и выберите его в списке. Эта настройка выравнивает разделы так, чтобы они начинались и заканчивались на границах цилиндров. Поэтому больше не нужно настраивать выравнивание для повышения производительности. Используйте параметр «Ничего», только если у вас есть более глубокое знание структуры диска, таблиц разбиения диска и загрузочных секторов. Этот параметр устанавливает границы раздела относительно конца непосредственно предшествующего раздела на дисководе. Этот параметр не гарантирует ведение бухгалтерского учета и удержание сайтов для загрузочных секторов. Чтобы указать тип раздела, нажмите кнопку со стрелкой в ​​поле «Создать как» и выберите его в списке.

Из-за малого объёма сектора MBR, запуск GRUB укладывается в два условных этапа:

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

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

  • До 3 основных разделов и 1 расширенный раздел.
  • Раздел расширения может содержать несколько логических разделов.
Основной раздел обеспечивает лучшие возможности восстановления данных, поскольку данные о границе раздела хранятся в известном фиксированном месте дискового устройства.

Указание файловой системы раздела

Чтобы указать тип файловой системы, нажмите кнопку со стрелкой в ​​поле «Файловая система» и выберите ее в списке. Вот несколько примеров использования некоторых файловых систем. Неформатированный вы можете использовать, если вы хотите создать раздел без файловой системы.

Укажите метку файловой системы в разделе

Если вы хотите указать метку файловой системы в разделе, напишите ее в текстовое поле «Ярлык».

Наиболее часто используемые консольные команды

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

Наиболее часто используемые консольные команды

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

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

Команды Описание Пример ввода в консоль
ls Универсальная команда для работы со списками жёстких дисков и разделов. Может использоваться для вывода содержимого папки. ls /boot/grub
Её использование даст полную информацию абсолютно о любом разделе. При этом будет указан тип файловой системы на нём, его метка, UUID, а также дата внесения последних изменений.
cat Вывод информации о содержимом конкретно указанного файла. cat /путь/имя_файла
linux Аналог kernel-команды GRUB из старой-доброй версии Legacy, позволяющей загружать указанное ядро Linux.

linux файл_ядра

опция1=значение

опция2 опция3

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

chainloader /путь/ имя_файла

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

*,* - номер диска и номер раздела на нем соответственно

set Чаще всего благодаря своей стабильности и работоспособности используется для переназначения root-раздела на диске.

set root= (hd*,*)

*,* - номер диска и номер раздела на нем соответственно

search

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

  • u (или --fs-uuid) - поиск раздела по UUID;
  • l (или --label) - поиск по метке раздела;
  • f (или --file) - поиск по определенному файлу;
  • n (или --no-floppy) - пропуск при проверке флоппи-дисковода;
  • s (или --set) - установить найденный раздел в качестве значения заданной переменной.

Команда пригодится в случае, если нумерация дисков и разделов "полетит", из-за чего команда set root либо приведёт в никуда, либо в не тот раздел не того диска.

search -u uuid_нужного_раздела

search -l метка раздела

search -f /путь/имя файла

lsfonts Отображение перечня загруженных на настоящий момент шрифтов. lsfonts
help Используется для вывода всего списка доступных help
Либо для вывода команд, начинающихся на определённую комбинацию символов.

help s - вывод справки на все команды, начинающиеся на s.

help set - отображение справки о команде set.

terminal_output.console Переключение на чёрно-белую цветовую гамму отображения. terminal_output.console
background_image

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

Обратите внимание: команда не изменяет настроек оформления - изображение остаётся на фоне только лишь на текущем сеансе до следующего выключения.

background_image /путь/имя_файла

boot Загрузить компьютер. boot
reboot Перезагрузить компьютер. reboot
Выключить компьютер. halt

Послеустановочный GRUB: настройка и полезный в работе софт

Основным конфигурационным файлом в GRUB2, в отличие от предыдущей версии Legacy, является не /boot/grub/menu.lst , а уже /boot/grub/grub.cfg. Однако напрямую его редактировать бессмысленно - он будете генерироваться с каждым сохранённым изменением в файле настроек /etc/default/grub и в директории скриптов /etc/grub.d.

В /etc/default/grub настройка в основном ограничена изменением стандартного пункта загрузки и/или времени показа меню:

  • За первый пункт изменений отвечает параметр GRUB_DEFAULT , значением которого обозначается номер пункта в меню загрузки. Выбирая какой-либо другой пункт, пользователь должен знать его очерёдность из общего списка (для этого нужно просмотреть содержимое /boot/grub/grub.cfg и найти по счёту нужную запись). При этом не стоит забывать правила нумерации: первому пункту присваивается значение 0, второму - 1, третьему - 2 и так далее.
  • За задержку отображения меню загрузки отвечает параметр GRUB_TIMEOUT , чьё присвоенное значение в кавычках обозначает количество секунд, в течение которых эта заставка появится. В редактировании этого параметра есть одна хитрая особенность: выставив значение "-1", заставка будет висеть ровно до тех пор, пока пользователь не выберет какой-либо пункт.

Набор скриптов в /etc/grub.d находят на компьютере все установленные системы и ядра, формируя загрузочное меню в grub.cfg. За поиск ядер и других ОС соответственно отвечают два основных: 10_linux и 30_os-prober. Файл 40_custom позволяет изменить GRUB путём добавления собственных пунктов загрузки, что полезно для работы с особыми типами запуска системы (обратите внимание, что при любых изменениях он должен заканчиваться пустой строкой, иначе последний пункт загрузки из всех предложенных банально не будет отображён).


Однако ещё более простой способ отредактировать GRUB в системе Ubuntu - утилита Grub-Customizer. Благодаря своей простоте и интуитивно понятному интерфейсу, это наилучший вариант для настройки загрузчика, более всего подходящий неопытным новичкам. Для установки запускаем терминал (Ctrl+Alt+T), затем поочерёдно вводим в нём следующие команды:

Sudo add-apt-repository ppa:danielrichter2007/grub-customizer,

Sudo add-get update,

Sudo add-get install grub-customizer.

И хоть перевод программы Grub-Customizer оставляет желать наилучшего исполнения, разобраться в ней очень легко:

  • List configuration - настройки меню при загрузке системы. Тут осуществляется изменение очерёдность его пунктов.
  • Основные настройки - выбор системы, загружаемой по умолчанию, а также определение времени ожидания.
  • Внешний вид - редактирование внешнего оформления загрузочного меню.

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

  • Super Grub Disk - простой и удобный инструмент для быстрого восстановления загрузчика. При этом умеет работать не только лишь с GRUB и LILO, но даже и с самой Windows. Запускается с CD, флешки или же дискеты.
  • GParted - редактор разделов дисковых разделов, запускающийся непосредственно с CD. С её помощью можно проводить такие операции с разделами и файловыми системами на них, как: создание, удаление, изменение размера, проверка, перемещение и копирование.
  • SystemRescueCD - дистрибутив Linux, специальным образом предназначенный для аварийного восстановления.
  • TestDisk - утилита, позволяющая диагностировать и восстанавливать как отдельные разделы, так и загрузочные диски целиком.

Как загрузчик управится с ОС Windows?

Напрямую, к сожалению, GRUB никоим образом не может загружать Windows x86 (64bit-версия также не исключение), из-за чего приходится создавать соответствующий цепной механизм запуска. Для этого в конфигурационном файле grub.cfg необходимо добавить несколько строк определённых команд:

Title Windows,

Rootnoverify (hd*,*),

Chainloader +1,

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

  • rootnoverify (hd*,*) - тот же самый аналог set root . Она информирует GRUB о местоположении раздела, на котором находится следующая часть загрузочного кода, однако не монтирует его (по той ясной причине, что для GRUB это сделать невозможно). Обратите в очередной раз внимание, что часть (hd*,*) - это номер диска и номер раздела соответственно, на котором установлена ОС Windows.
  • makeactive - команда предоставляет указанному корневому разделу статус загрузочного.

Теперь та самая команда chainloader +1, которое передаёт весь дальнейший контроль загрузки непосредственно загрузчику Windows.

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


Случается и так, что на жёстком диске установлена не одна, а две или даже больше версий Windows. И тогда осуществить стабильный запуск без дополнительных команд скрытия/показа (hide/unhide ) разделов просто нереально. Суть такова, что если в конфигурационном файле GRUB прописано скрытие какого-либо раздела накопителя, то Windows банально не сможет его прочесть. А если раздел видимый, то с него соответственно можно будет загрузиться.

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

Title Windows,

Unhide (hd0,1),

Rootnoverify (hd0,1),

Chainloader +1,

В сравнении с предыдущим образцом кода были добавлены команды hide и unhide , благодаря которым пользователь сможет загрузить нужную операционную систему с заданного раздела жёсткого диска.

Переустановка GRUB на случай критических неполадок

Даже в случае технических неполадок восстановить GRUB совершенно несложная задача. Для начала загружаем установочный LiveCD, открываем терминал сочетанием клавиш CTRL +ALT +T.

После этого поочерёдно вводим команды:

  • sudo grub-install /dev/sda - установка GRUB непосредственно в MBR (sda - загрузочный диск);
  • sudo update-grub - поиск других загрузочных записей на жестком диске (к примеру, Windows).

Теперь остаётся лишь перезагрузить компьютер и убедиться в полной работоспособности переустановленного загрузчика.

Вопрос о защите от зацикливания перезагрузки

Необходимость в подобной интегрированной в загрузчик GRUB системе защиты появляется тогда, когда размеры логов, расположенных в каталоге /var/log, из-за неконтролируемой записи информации в них растут до непозволительных объёмов. В нормально работающей системе предусмотрены специальные сервисы, архивирующие и подчищающие эти логи в автоматическом режиме. Таким образом, в большинстве случаев пользователю абсолютно не нужно тратить время, контролируя их объём.

Однако эти же службы запускаются лишь после загрузки операционной системы. До этого размеры лог-файлов абсолютно ничем не мониторятся, из-за чего в случае непредвиденного падения системы и дальнейших перезагрузок логи будут только лишь расти в объёме. И этот неконтролируемый их рост будет продолжаться ровно столько, сколько длятся перезагрузки из-за сбоя в системе. Впоследствии это всё может привести к полному заполнению того раздела, на котором расположен каталог /var/log, что чревато зависанием системы наглухо и невозможности запуска даже режима восстановления.


Именно от этого катастрофического положения и спасает интегрированная в GRUB система защиты от циклических перезагрузок, вывода "зависшее" меню GRUB, ожидающее явного вмешательства пользователя. Сама защита ориентируется на значение переменной recordfail, прописанного в скрипте /boot/grub/grub.cfg. В ходе каждой загрузки она устанавливается как recordfail=1 , а на финальной загрузочной стадии сбрасывается до recordfail=0 . И если именно такого сброса не произошло, то автоматическая загрузка полностью предотвращается и активируется та самая защита GRUB.

Для этого в /etc/defaul/grub находим переменную GRUB_RECORDFAIL_TIMEOUT и присваиваем ей значение в то количество секунд, в течение которых меню GRUB будет ждать вмешательства пользователя в случае отсутствия сброса recordfail с 1 до 0. После чего сохраняем изменения командой sudo update-grub , отключив тем самым защиту от зацикленной перезагрузки.

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

Деинсталляция GRUB и возвращение к Windows: быстро, просто и безболезненно

В случае если возникнет вопрос "Как удалить GRUB и оставить загрузчик другой операционной системы?", то в первую очередь пользователю потребуется её установочный диск/флешка. Разберём всё на конкретном простом примере: пользователь удаляет со своего компьютера Linux, оставляя в итоге одну лишь Windows, но при этом не может её загрузить ввиду ошибки Grub error . Для полного решения проблемы необходимо восстановить загрузчик Windows x86/64 bit:

  1. Загружаемся с установочного накопителя, предварительно выставив в его на первом приоритете при загрузке в BIOS
  2. Загрузившись с установочного носителя, выбираем раздел восстановления системы.
  3. Из появившегося списка инструментов выбираем командную строку, в которой пропишем поочерёдно следующие команды:
  • BOOTREC.EXE /FixBoot.
  • BOOTREC.EXE /FixMbr.

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

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

Принципиальные отличия GRUB1 от GRUB2
В первой версии GRUB все настройки и пункты загрузки хранились в простом файле /boot/grub/menu.lst , но в GRUB2 этого файла просто не существует. Однако имеется файл /boot/grub/grub.cfg и он действительно очень напоминает menu.lst, но редактировать его не рекомендуется. Конечно, никто не запрещает этого делать, но проблема в том, что после обновления меню загрузчика этот файл создаться заново, и ваши изменения исчезнут. Для решения этой проблемы нужно работать с другими файлами настройки, которые, в итоге, и создают файл grub.cfg.

Обновление загрузочного меню и применение новых настроек
Допустим вы собрали новое ядро и вам нужно, чтобы оно прописалось в меню загрузчика или вы просто изменили настройки GRUB2 и хотите, чтобы они вступили в силу. Для этого используется команда (от суперпользователя ):
update-grub
В ходе выполнения этой команды, обновляется файл /boot/grub/grub.cfg , в который вносятся новые пункты меню или (и) настройки. В процессе выполнения этой команды также в терминале вы увидите найденные операционные системы и ядра.
Например, вот ход выполнения обновления в моей системе:

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.35-19-generic
Found initrd image: /boot/initrd.img-2.6.35-19-generic
Found linux image: /boot/vmlinuz-2.6.32-25-generic
Found initrd image: /boot/initrd.img-2.6.32-25-generic
Found linux image: /boot/vmlinuz-2.6.32-21-generic
Found initrd image: /boot/initrd.img-2.6.32-21-generic
Found memtest86+ image: /boot/memtest86+.bin
done


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

/etc/default/grub - основные настройки GRUB2
В файле /etc/default/grub хранятся основные настройки GRUB2: пункт загрузки по умолчанию, время отображения меню загрузчика (при включении), параметры загрузки ядра по умолчанию, название дистрибутива, разрешение меню GRUB2. Есть ещё несколько параметров, но они вряд ли вам понадобятся. Давайте рассмотрим как изменять все эти параметры непосредственно в /etc/default/grub . Для понимания структуры файла, я приведу листинг этого файла в моей системе.

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="0"
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console
#GRUB_GFXMODE=640x480


Рассмотрим каждую стоку, содержащую значение параметра (переменной), отдельно.
GRUB_DEFAULT=0 - этот параметр указывает на строку загрузочного меню по умолчанию. Например, значение 0 указывает на самую верхнею строку, а значение 1 на вторую строку сверху. Если вы хотите чтобы по умолчанию выбирался не верхняя строка, то укажите его номер, считая, что верхняя строка - 0. Указанная строка будет выделена в меню загрузчика и будет автоматически загружена, если пользователь не выберет другую строку.
GRUB_HIDDEN_TIMEOUT=0 - параметр, указывающий на время отображения меню выбора загрузки, если на компьютере установлена одна операционная система. Значение указывается в секундах. Если вам нужно будет попасть в меню, то вы должны указать положительное значение, например 5, и при старте компьютера нажать "escape" для входа в меню GRUB2 (где можно будет выбрать версию ядра или запустить memtest).
GRUB_TIMEOUT="0" - параметр, указывающий время отображения меню загрузчика. Значение указываются в секундах и число должно быть заключено в двойные кавычки. Отрицательное значение отключит таймер полностью и меню будет "висеть" пока пользователь вручную не выберет пункт загрузки. При положительном значении, меню GRUB будет ждать действий пользователя заданное время, а если действия не будет, то автоматически будет загружен пункт меню по умолчанию.
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` - параметр, указывающий на название дистрибутива, которое будет отображаться в GRUB. Как видим из данного значения, будет запущена команда lsb_release -is в результате чего получим название дистрибутива, а при неудачном выполнении выведется слово "Debian". Чтобы изменить значение пропишите свою строку, например echo MyBestLinux (echo - команда bash, указывающая, что нужно вывести строку). Обратите внимание, что параметр указывается в обратных одинарных кавычках.
GRUB_CMDLINE_LINUX_DEFAULT="" и GRUB_CMDLINE_LINUX="" - параметры, которые нужно передать ядру. Если оставить пустым как у меня, то при загрузке будут выводится все сообщения ядра, а splash (заставка загрузки) включена не будет. В кавычках можете передать нужные вам параметры ядру, например GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
#GRUB_TERMINAL=console - включает консольный режим (по умолчанию строка закомментирована, что включает графический режим). Имеет смысл раскомментировать строку для увеличения производительности.
#GRUB_GFXMODE=640x480 - параметр, задающий разрешение меню. Напомню, что список доступных режимов можно узнать командой GRUB vbeinfo

/etc/grub.d/ - скрипты, формирующие grub.cfg
Довольно сложные shell скрипты настройки GRUB2 находятся в папке /etc/grub.d/ Нужно быть довольно опытном программистом и знать язык программирования shell чтобы разобраться в этих скриптах и изменять их. К счастью это вряд ли может понадобиться. В этой статье я не стану рассматривать эти скрипты - они слишком сложны. Тем более все основные настройки можно выполнить без них, а обычному пользователю вряд ли нужно будет углубляться в работу скриптов, формирующих grub.cfg. Если все же я в них разберусь, то это будет тема отдельной статьи, так сказать для продвинутых пользователей. Однако некоторые файлы мы рассмотрим в следующих статьях.

В следующей статье я напишу о том, как изменить внешний вид меню GRUB2.

В продолжение темы:
Wi-Fi

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

Новые статьи
/
Популярные