Руководства, Инструкции, Бланки

Grub2 Полное Руководство img-1

Grub2 Полное Руководство

Рейтинг: 4.9/5.0 (1866 проголосовавших)

Категория: Руководства

Описание

Изменение загрузки по умолчанию Grub2

Веб мельница Изменение загрузки по умолчанию Grub2

Когда я в очередной раз решаюсь попробовать какой-то другой дистрибутив Linux, то загрузчик grub2 после переустановки меняет загружаемую по умолчанию ОС на свежеустановленную. Возникает справедливое требование других пользователей компьютером - что-бы осталось все "как было". А "было", конечно, windows default.

В нашем случае, была-бы задача, а решение если сами не найдем, то нагуглим:). Все, что нужно сделать, это заменить в строке в файле /etc/default/grub число 0 на нужное нам. Остался один только открытый вопрос: на какое?

Раньше я просто считал количество строчек, видимых в стартовом окне загрузчика grub, запоминал порядковый номер нужной строки (например, windows это №3 в моем дебиан), и менял 0 на 2(т.е на 3-1=2). На двойку а не на тройку потому, что в программировании принято считать с нуля. Итоговый вариант выглядел так: И выполнял Вот так по простому, по рабоче-крестьянски это можно сделать. Но есть более продвинутый способ узнать нужную циферку. Это выполнить в терминале Вот вывод команды у меня:

Мы видим, что строка с нужной нам надписью Microsoft Windows XP Professional - третья. Значит меняем в файле /etc/default/grub в строке GRUB_DEFAULT=0 0 на 2 (3-1).

А если Вам все-равно не понятно, какую там циферку писать? Может быть. Посмотрите на картинку, это вывод menuentry в Ubuntu. Здесь не все так прозрачно, как в Debian.

В таком случае копируете пункт menuentry, который Вам нужен вместе с кавычками (см. выделенное на картинке выше), и вставляете место нуля.
И не забываем Перазагружаемся и - вуаля. Так Ваши родные увидят по умолчанию их родной Windows.

Есть ещё один способ - выставить в строке GRUB_DEFAULT= значение saved (GRUB_DEFAULT=saved). Так будет загружаться последняя выбранная ОС. И не забудте

Последние статьи
  • TODO:Eclipse в Debian 7
  • Курсор, не мигай, пожалуйста.
  • Изменение загрузки по умолчанию Grub2

Другие статьи

Как удалить grub - Мир компьютерных инноваций

Начальный загрузчик GRUB 2 - полное руководство

Автор: Igor Ljubuncic

Дата публикации: 05 сентября 2012 г.

Перевод: С. Русинов

Дата публикации перевода: 4 февраля 2013 г.

Законченное руководство с сайта Dedoimedo "GRUB 2.00 руководство по мультизагрузке" (GRUB 2.00 multi-boot tutorial) помещено в 117-ом выпуске журнала "Linux User & Developer Magazine"! Рекомендую посмотреть его.

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

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

Добро пожаловать в руководство по начальному загрузчику GRUB 2! Обязательно прочитайте мое руководство по GRUB legacy. В течение двух с половиной лет только оно одно набрало около полумиллиона просмотров. Это доказывает, что оно практично и очень популярно у пользователей во всем мире.

Я хочу повторить подобный успех с руководством по GRUB 2. Моя цель предоставить пользователям, запускающим UNIX-подобные операционные системы или осуществляющим мультизагрузку на своих компьютерах с помощью загрузчика GRUB, простое пошаговое руководство, проверенное и работоспособное, которое позволит им быстро, просто и безопасно управлять загрузкой операционных систем.

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

Содержание Предупреждение

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

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

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

Теперь мы знаем об этом и пойдем дальше смело .

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

GRUB 2 - перспективы развития

Это то, с чем вы должны ознакомиться до опробования GRUB 2. Когда GRUB 2 станет де-факто загрузчиком для UNIX подобных операционных систем? В настоящее время GRUB legacy прекрасно справляется и будет продолжать это делать еще много лет. Получив долгосрочную поддержку от компаний, подобных RedHat и Novell, в серверных дистрибутивах, GRUB legacy остался ключевым игроком на самое меньшее 5-10 лет.

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

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

Теперь давайте перейдем к реальным механизмам.

Введение в GRUB 2

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

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

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

Новая структура

Конфигурационные файлы старого загрузчика GRUB были (и до сих пор!) размещены в /boot/grub/. включая файл menu.lst. Этот файл считывался во время загрузки и его содержимое отображалось на экране пользователя в виде пользовательского меню GRUB.

GRUB 2 размещает свои файлы в трех местах:

/boot/grub/grub.cfg - Это главный конфигурационный файл, который заменил menu.lst. В отличие от menu.lst, этот файл не может быть отредактирован вручную! Я настоятельно рекомендую не пытаться вмешиваться в этот файл, используя команду chattr или что-то подобное. Пусть все остается как есть.

/etc/grub.d/ - Это новая директория, содержащая GRUB скрипты. Эти скрипты являются структурными элементами, из которых состоит grub.cfg файл. Когда выполнена соответствующая команда GRUB, скрипты выполняются в определенной последовательности, и создают конфигурационный файл grub.cfg.

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

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

на лету, чем на GRUB legacy.

Пример файла grub.cfg

Этот файл размещен в следующией директории /boot/grub/ :

Так будет выглядеть grub.cfg файл:

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

Пример директории /etc/grub.d/

Содержимое этой директории на только что установленной системе, в данном случае Kubuntu:

Давайте рассмотрим скрипты:

00_header этот скрипт загружает установки GRUB из /etc/default/grub. такие, как время ожидания выбора конфигурации, конфигурация загружаемая по умолчанию и другие. Позже мы поговорим об этом подробнее.

05_debian_theme определяет фон, цвета и темы. Имя этого скрипта зависит о выбранного дистрибутива и изменяется при выборе другого дистрибутива в GRUB 2.

10_linux загружает конфигурации меню для установленного дистрибутива.

20_memtest86+ загружает утилиту тестирования памяти.

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

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

Вы обратили внимание на нумерацию в именах скриптов? Это несколько похоже на порядок скриптов Запуска/Завершения на различных уровнях выполнения. Нумерация осуществляется согласно очередности. Это означает, что скрипт 10_linux будет выполнен до 20_memtest86+ и поэтому он размещен выше в загрузочном меню.

Эти скрипты не очень интересны. Так же как и grub.cfg файл, они не могут быть отредактированы, за исключением скрипта 40_custom. Вам нужно быть очень осторожными, когда вы работаете с этими скриптами.

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

Пример /etc/default/grub

Этот файл находится в /etc/default :

Эта директория содержит много других файлов, так что не подумайте, что все они используются GRUB. Файл grub является текстовым файлом, это показано на примере скрипта 00_header. Вы можете вносить свои собственные изменения в него, если хотите, конечно. Мы рассмотрим это позже в разделе кастомизация.

Теперь мы знаем какие файлы являются основными. Посмотрим, как мы можем их использовать.

Основное применение

Теперь, добавим к нашим теоретическим знаниям немного практики.

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

GRUB 2 работает подобно этому:

/etc/default/grub содержит кастомизацию; /etc/grub.d/ содержит скрипты содержащие информацию о меню GRUB и скрипты, загружающие операционные системы. Когда вы запускаете команду update-grub, он считывает содержимое grub файла и скрипты из grub.d, и создает файл grub.cfg .

Для изменения grub.cfg вам необходимо отредактировать grub файл или скрипты, размещенные в grub.d.

Скрипты предназначены для выполнения. Это значит, что стандартная процедура выполнения должна быть для них включена. Если вы отключите стандартную процедуру выполнения, то они не будут запущены.

Это означает, что вы можете разместить в директории grub.d столько файлов, сколько вам нужно, так как они не являются исполняемыми оболочкой скриптами, которые может считывать update-grub. Если вы хотите использовать их, вам нужно активировать для них стандартную процедуру выполнения или, наоборот, отключить ее, если необходимо сделать их не доступными для update-grub .

Давайте рассмотрим скрипты.

Например, 00_header и 05_debian_theme:

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

Добавление нового GRUB скрипта

Чтобы добавить новую загрузочную опцию, вам необходимо следовать основным правилам:

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

Например, 11_ конфигурация будет размещена после конфигурации по умолчанию, 08_конфигурация будет размещена перед конфигурацией 10_ linux.

Следующий шаг - записать необходимые данные. Вот пример:

echo "Some string"

Категории:

Grub2 IT рабочие заметки

IT рабочие заметки grub2

Рабочий конфиг для Ubuntu 10.10

Введение

Конфигурация Grub2 хранится в grub.cfg. который создается с помощью различных скриптов выполняемых при запуске команды update-grub. Файлы, в первую очередь отвечающие за содержимое grub.cfg это /etc/default/grub и индивидуальные сценарии в /etc/grub.d/.

Когда выполняется update-grub, Grub2 ищет ядра Linux и другие операционные системы. Что и где он смотрит, зависит от сведений, находящихся в каталоге /etc/grub.d/:

10_linux ищет установленные ядра Linux на текущем разделе. 30_os-prober ищет другие операционные системы.

Восстановление Grub2

Восстановление Grub2, например после переустановки Windows XP, в случае системы с двойной загрузкой (Windows, Ubuntu ).

Загружаемся с LiveCD Ubuntu

запоминаем, какое устройство в этом списке содержит корневую файловую систему вашей Ubuntu. В нашем примере это sda5. Если загрузочный раздел /boot был вынесен в отдельный раздел его тоже необходимо подмонтировать вместе с корневым разделом.

Монтируем корневой раздел, в случае необходимости монтируем и раздел /boot

замените. на соответствующий вывод команды fdisk.

Смонтируйте оставшиеся устройства

На данном этапе разделы Windows не трогать.

В терминале выполните chroot для установки файловой системы Ubuntu в качестве корневой.

Выполним update-grub и следующей командой установим Grub 2 в основную загрузочную запись (MBR ).

Если возникли ошибки можно попробовать такую команду

Ctrl+D для выхода из chroot и отмонтируем разделы

После этого перегружаемся.

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

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

Подобную процедуру можно выполнить независимо от вида ОС установленной вторым номером.

Ссылки

LiNewb - Linux, Unix, BSD, открытое ПО

Super GRUB2 Disk (SG2D) - описание и руководство

Может случиться так, что Ваша ОС не сможет загрузиться, загрузчик системы поврежден. Что же делать в таком случае?
К счастью существует несколько специализированных утилит, которые помогут Вам загрузить операционную систему и затем полностью восстановить ее загрузчик. Один из примеров - Super GRUB2 Disk. Вот о нем и пойдет речь далее.

Основное назначение Super GRUB2 Disk - помочь загрузить ОС, загрузчик которой был поврежден или уничтожен. Следующее, но не многим менее важное назначение - помочь глубже познакомиться с загрузчиком GRUB2 (GRUB1, GRUB) и самим процессом загрузки операционных систем.

Различия между Super GRUB Disk и Super GRUB2 Disk

Начнем с того, что GRUB2 - это полностью переписанный вариант эталонной реализации загрузчика GRUB, соответствующего спецификации Multiboot. Другими словами GRUB2 по сути новая версия. Соответственно Super GRUB2 Disk тоже является новой версией в отношении к предыдущему Super GRUB Disk.

Основная же разница между Super GRUB Disk, основанного на эталонном загрузчике GRUB, и Super GRUB2 Disk в том, что последний вообще не производит записи на диск и поэтому не может переписывать MBR.

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

И так как часть функционала Super GRUB Disk, которая основывается на классическом GRUB, никогда не будет включена в Super GRUB2 Disk, то и обратное тоже можно считать верным. Например, Super GRUB2 Disk поддерживает загрузку OSX, загрузку с ISO файлов, загрузку ОС с USB без поддержки USB BIOS-ом и другие функции, которые не предусмотрены в классическом GRUB.

Создание загрузочного диска Super GRUB2 Disk

Для создания загрузочного Super GRUB2 Disk CD достаточно записать его образ на CD или DVD так же, как и любой другой загрузочный ISO. Кроме того, его образ можно использовать и как образ загрузочной дискеты (floppy).

Меню и функции

Как только Super GRUB2 Disk загрузится, появится меню, как на снимке:

Теперь рассмотрим каждую функцию и опцию (пункт) этого меню.

- Detect any OS

Выбрав эту функцию SG2D (Super GRUB2 Disk) начнет сканировать все разделы на всех дисках с целью обнаружить операционные системы и затем создаст меню, где можно будет выбрать любую из найденных ОС для ее последующего запуска.
Если Вы захотите просмотреть команды или отредактировать пункт меню, можете нажать клавишу "e " и затем комбинацию "ctrl+x " для запуска на выполнение.

Поддерживаются следующие OS:

- GNU/Linux ( хотя на момент написания этого мануала поддержка раздельных /boot разделов не реализована) ;
- FreeBSD;
- Mac OSX/Darwin;
- Microsoft Windows - все версии;


- Detect any GRUB2 configuration file (grub.cfg)

Функция для поиска файла "grub.cfg" на всех разделах и создания меню для выбора конкретного "grub.cfg" файла из всех найденных. Это может быть полезно, когда установка GRUB2 каким-то образом была повреждена, но конфигурационный файл остался невредим. Загрузка файла "grub.cfg" приведет к загрузке родного меню GRUB2 в оболочке Super GRUB2 Disk.


- Detect any GRUB2 installation (even if mbr is overwritten)

Эта функция служит для поиска инсталяционных файлов GRUB2 (файлов "core.img", специфических для GRUB2) на всех разделах и создания меню для выбора конкретного файла из всех найденных. Это может быть полезным, если ваш MBR был перезаписан системой MS Windows, но инсталляция GRUB2 все же работоспособна. Загрузка файла "grub.cfg" (как в описании предыдущего пункта меню) обычно тоже позволит Вам загрузиться, но все же могут быть проблемы, если используются функции из более новой версии GRUB2, чем та, которая используется в текущем Super GRUB2 Disk. Загружая же файл "core.img" из GRUB2 через этот пункт меню, приведет к загрузке GRUB2 именно из вашего текущего пакета, как будто MBR не бала повреждена и загрузка прошла нормально.


- Detect loop bootable isos (in /boot-isos or /boot/boot-isos/)

Множество дистрибутивов GNU/Linux LiveCD поддерживают многократную загрузку с ISO файла, т.е. когда возможно загружаться с ISO файла без необходимости его записи на CD.
Данная функция производит поиск директорий "/boot-isos/" или "/boot/boot-isos/" по всем разделам диска. Затем производится поиск ".iso" файлов в этих директориях и создает меню для выбора конкретного ".iso" файла из всех найденных. Однако не все файлы ".iso" могут быть использованы для многократной загрузки.

На момент написания статьи поддерживаются следующие дистрибутивы:

- Grml;
- Parted Magic;
- Sidux;
- Slax Tinycore;
- Ubuntu;
- SystemRescueCd;
- любые дистрибутивы, которые поставляются с файлами Loopback.cfg;


- Enable GRUB2's LVM support

Данная опция позволяет включить поддержку GRUB2 LVM с "insmod lvm", и если ваш раздел "/boot" расположен на LVM, то Вы должны выбрать эту опцию ПРЕЖДЕ, чем запустить любую функцию из меню, описанную выше, содержащую в названии "Detect. ".
Если же Вы не знаете, что собой представляет LVM, то это Вас особо и не должно касаться, и Вы просто напросто можете проигнорировать эту опцию.


- Enable GRUB2's RAID support

Эта опция включает поддержку RAID для GRUB2. Если раздел "/boot" вашей ОС располагается на RAID, то Вам необходимо выбрать эту опцию ПЕРЕД использованием любой функции, описанной выше, содержащей в названии "Detect. ".
Если Вы не знаете что собой представляет RAID, то просто напросто можете проигнорировать эту опцию.
При использовании RAID1 загрузчик GRUB сможет читать отдельные части массива даже без загруженных модулей RAID.


- Enable GRUB2's PATA support (to work around BIOS bugs/limitations)

До сих пор на многих компьютерах может присутствовать недоработанный BIOS, который не может корректно работать с дисками большого объема. При этом GRUB может выдавать ошибки типа "out of disk" когда Вы пытаетесь загрузиться с диска большого объема не имея при этом отдельного раздела "/boot" небольшого размера, расположенного в самом начале диска.
Однако у GRUB2 имеются в наличии собственные драйверы для прямого доступа к дискам в обход BIOS. Поэтому ограничения в BIOS не будут препятствовать доступу к любой части диска независимо от его объема.

Таким образом, если у Вас проблемы при загрузке из-за ошибок типа "out of disk", выбор этой опции позволит загрузиться без проблем.
Для установки GRUB2 с поддержкой ATA, чтобы избавиться от вышеупомянутых проблем, используйте команду:

На данный момент GRUB2 поддерживает только старые приводы типа PATA (ATAPI или IDE). Если же у Вас привод SATA, то данная опция будет бесполезна, однако и мала вероятность того, что у новых BIOS с поддержкой SATA будут проблемы. За информацией касательно ограничений у недоработанных BIOS с приводами большого объема обращайтесь по адресу: http://tldp.org/HOWTO/Large-Disk-HOWTO-4.html


- Enable GRUB2's USB support *experimental*

Многие BIOS-ы до сих пор не поддерживают загрузку с USB, но с этой опцией Вы сможете использовать Super GRUB2 Disk (загруженный с дискеты, CD или другого устройства, которое BIOS поддерживает) для того, чтобы загрузить вашу ОС с USB, используя собственные драйверы GRUB2, т.е. в обход ограничений BIOS,
Эта опция только позволит вам загружать свободные ОС, такие как GNU/Linux или FreeBSD, и не может использоваться для загрузки Windows с USB-устройства. Эта функциональность пока находится на стадии "экспериментальной".


- Enable serial terminal

Данная опция включает поддержку GRUB2 "serial console", используя параметры по умолчанию. Она может использоваться для отладки, сохраняя сообщения об ошибках в логах. Если же параметры по умолчанию не подходят под ваши serial-девайсы, то Вы можете изменить конфигурацию вручную, используя команду "serial" в соответствии с документацией: http://www.gnu.org/software/grub/manual/grub.html#serial

Если Вы не представляете себе, что такое "serial console", то просто проигнорируйте эту опцию.

Эта функция отобразит все Ваши устройства и разделы на них, которые GRUB2 сможет прочитать. Там же будет и информация о файловых системах на каждом устройстве. А так-как GRUB2 использует единственный модуль "ext2.mod" для поддержки "ext<2,3,4>", то любая "extN" файловая система будет отображаться как "ext2".


---
Относительно свободный перевод описания с supergrubdisk.org - wiki
Скачать можно через ссылки на сайте supergrubdisk.org

Комментарии и практические советы по использованию Super GRUB2 Disk приветствуются!

Начальный загрузчик GRUB 2 - полное руководство

Начальный загрузчик GRUB 2 - полное руководство

Оригинал: GRUB 2 bootloader - Full tutorial
Автор: Igor Ljubuncic
Дата публикации: 05 сентября 2012 г.
Перевод: С. Русинов
Дата публикации перевода: 4 февраля 2013 г.

Законченное руководство с сайта Dedoimedo "GRUB 2.00 руководство по мультизагрузке" (GRUB 2.00 multi-boot tutorial) помещено в 117-ом выпуске журнала "Linux User & Developer Magazine"! Рекомендую посмотреть его.

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

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

Добро пожаловать в руководство по начальному загрузчику GRUB 2! Обязательно прочитайте мое руководство по GRUB legacy. В течение двух с половиной лет только оно одно набрало около полумиллиона просмотров. Это доказывает, что оно практично и очень популярно у пользователей во всем мире.

Я хочу повторить подобный успех с руководством по GRUB 2. Моя цель предоставить пользователям, запускающим UNIX-подобные операционные системы или осуществляющим мультизагрузку на своих компьютерах с помощью загрузчика GRUB, простое пошаговое руководство, проверенное и работоспособное, которое позволит им быстро, просто и безопасно управлять загрузкой операционных систем.

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

Содержание Предупреждение

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

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

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

Теперь мы знаем об этом и пойдем дальше смело.

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

GRUB 2 - перспективы развития

Это то, с чем вы должны ознакомиться до опробования GRUB 2. Когда GRUB 2 станет де-факто загрузчиком для UNIX подобных операционных систем? В настоящее время GRUB legacy прекрасно справляется и будет продолжать это делать еще много лет. Получив долгосрочную поддержку от компаний, подобных RedHat и Novell, в серверных дистрибутивах, GRUB legacy остался ключевым игроком на самое меньшее 5-10 лет.

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

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

Теперь давайте перейдем к реальным механизмам.

Введение в GRUB 2

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

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

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

Новая структура

Конфигурационные файлы старого загрузчика GRUB были (и до сих пор!) размещены в /boot/grub/. включая файл menu.lst. Этот файл считывался во время загрузки и его содержимое отображалось на экране пользователя в виде пользовательского меню GRUB.

GRUB 2 размещает свои файлы в трех местах:

/boot/grub/grub.cfg - Это главный конфигурационный файл, который заменил menu.lst. В отличие от menu.lst, этот файл не может быть отредактирован вручную! Я настоятельно рекомендую не пытаться вмешиваться в этот файл, используя команду chattr или что-то подобное. Пусть все остается как есть.

/etc/grub.d/ - Это новая директория, содержащая GRUB скрипты. Эти скрипты являются структурными элементами, из которых состоит grub.cfg файл. Когда выполнена соответствующая команда GRUB, скрипты выполняются в определенной последовательности, и создают конфигурационный файл grub.cfg.

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

Это значит, что если вы хотите изменить меню GRUB, вам будет нужно отредактировать существующие скрипты или создать новые и после этого обновить меню. Это больше похоже на LILO, в которой меню редактировалось на лету, чем на GRUB legacy.

Пример файла grub.cfg

Этот файл размещен в следующией директории /boot/grub/.

Так будет выглядеть grub.cfg файл:

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

Пример директории /etc/grub.d/

Содержимое этой директории на только что установленной системе, в данном случае Kubuntu:

Давайте рассмотрим скрипты:

00_header этот скрипт загружает установки GRUB из /etc/default/grub. такие, как время ожидания выбора конфигурации, конфигурация загружаемая по умолчанию и другие. Позже мы поговорим об этом подробнее.

05_debian_theme определяет фон, цвета и темы. Имя этого скрипта зависит о выбранного дистрибутива и изменяется при выборе другого дистрибутива в GRUB 2.

10_linux загружает конфигурации меню для установленного дистрибутива.

20_memtest86+ загружает утилиту тестирования памяти.

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

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

Вы обратили внимание на нумерацию в именах скриптов? Это несколько похоже на порядок скриптов Запуска/Завершения на различных уровнях выполнения. Нумерация осуществляется согласно очередности. Это означает, что скрипт 10_linux будет выполнен до 20_memtest86+ и поэтому он размещен выше в загрузочном меню.

Эти скрипты не очень интересны. Так же как и grub.cfg файл, они не могут быть отредактированы, за исключением скрипта 40_custom. Вам нужно быть очень осторожными, когда вы работаете с этими скриптами.

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

Пример /etc/default/grub

Этот файл находится в /etc/default.

Эта директория содержит много других файлов, так что не подумайте, что все они используются GRUB. Файл grub является текстовым файлом, это показано на примере скрипта 00_header. Вы можете вносить свои собственные изменения в него, если хотите, конечно. Мы рассмотрим это позже в разделе кастомизация.

Теперь мы знаем какие файлы являются основными. Посмотрим, как мы можем их использовать.

Основное применение

Теперь, добавим к нашим теоретическим знаниям немного практики.

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

GRUB 2 работает подобно этому:

/etc/default/grub содержит кастомизацию; /etc/grub.d/ содержит скрипты содержащие информацию о меню GRUB и скрипты, загружающие операционные системы. Когда вы запускаете команду update-grub, он считывает содержимое grub файла и скрипты из grub.d, и создает файл grub.cfg.

Для изменения grub.cfg вам необходимо отредактировать grub файл или скрипты, размещенные в grub.d.

Скрипты предназначены для выполнения. Это значит, что стандартная процедура выполнения должна быть для них включена. Если вы отключите стандартную процедуру выполнения, то они не будут запущены.

Это означает, что вы можете разместить в директории grub.d столько файлов, сколько вам нужно, так как они не являются исполняемыми оболочкой скриптами, которые может считывать update-grub. Если вы хотите использовать их, вам нужно активировать для них стандартную процедуру выполнения или, наоборот, отключить ее, если необходимо сделать их не доступными для update-grub.

Давайте рассмотрим скрипты.

Например, 00_header и 05_debian_theme:

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

Добавление нового GRUB скрипта

Чтобы добавить новую загрузочную опцию, вам необходимо следовать основным правилам:

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

Например, 11_ конфигурация будет размещена после конфигурации по умолчанию, 08_конфигурация будет размещена перед конфигурацией 10_ linux.

Следующий шаг - записать необходимые данные. Вот пример:

#!/bin/sh -e
echo "Some string"
cat << EOF
menuentry "Something" <
set root=(hdX,Y)
-- boot parameters --
>
EOF

Давайте рассмотрим этот файл:

Это shell скрипт, что следует из объявления в первой строке файла.

echo "Some string" строка, которую вы увидите после запуска команды update-grub. Если вы не хотите видеть вывод на экран команды echo, то вы можете перенаправить его на стандартную ошибку или /dev/null.

$ echo "Some string" > &2

Пример: echo "Adding openSUSE 11.2"

cat << EOF определяет начало текущей загрузочной конфигурации.

menuentry "Something" это имя, которое будет показано в меню. Пример: Linux.

set root=(hdX,Y) - вернемся к уже знакомому материалу, установка корневого (root) устройства.

Очень важно! GRUB 2 использует нумерацию разделов с 1, а не с 0, как было в GRUB legacy! Это крайне важно, помните об этом!

Другими словами, устройства по прежнему нумеруются с 0, а разделы с 1. Например, это значит, что sda1 теперь (hd0,1). а НЕ (hd0,0). как было раньше!

-- boot parameters -- (загрузочные параметры) будут меняться в зависимости от ОС (операционной системы). В Linux вы можете использовать, что-то подобное:

linux /boot/vmlinuz
initrd /boot/initrd.img

Однако в Windows вы будете использовать, скорее всего, следующую команду:

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

#!/bin/sh -e
echo "Adding my custom Linux to GRUB 2"
cat << EOF
menuentry "My custom Linux" <
set root=(hd0,5)
linux /boot/vmlinuz
initrd /boot/initrd.img
>
EOF

Или в случае Windows, приблизительно так:

#!/bin/sh -e
echo "Adding Windows 8 to GRUB 2 menu"
cat << EOF
menuentry "Windows 8" <
set root=(hd0,1)
chainloader (hd0,1)+1
>
EOF

EOF конец GRUB файла.

Теперь у нас есть готовый файл. И нам нужно сделать его исполняемым.

$ chmod +x XX_new_os_script

GRUB 2 команды

Еще одна вещь, на которую мне хотелось бы обратить внимание, это данные, содержащиеся во фрагменте cat << EOF. Как мы сейчас видели, команда cat определяет начало кода в скрипте, который будет полностью добавлен в GRUB меню, и он не интерпретируется оболочкой. Другими словами, все, что находится между cat << EOF и EOF. является командами GRUB.

Мы можем использовать ряд различных команд в этом скрипте. Некоторые из них мы встречали раньше в GRUB legacy, но появились новые, незнакомые команды.

Не беспокойтесь, есть полный список команд, который включает все команды и даже аналогичные команды GRUB legacy. Некоторые команды были заменены на другие. Для получения дополнительной информации, пожалуйста, посмотрите GRUB 2 command list.

Обновление GRUB

Новый скрипт создан и размещен, но GRUB меню (grub.cfg) не изменилось. Вам необходимо запустить команду update-grub. она выполнит обновление меню.

Это пример из конфигурации двойной загрузки, которую мы рассмотрим подробнее позже. Я добавил две конфигурации Kubuntu и одну Ubuntu в GRUB меню Ubuntu. Я сделал это, чтобы исключить конфигурацию по умолчанию 10_linux, которая неприглядная и использует в заголовке имя универсального ядра, что вносит путаницу в обозначение и одинаково для Ubuntu и Kubuntu.

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

После перезагрузки, мы получим вот это. Прошу прощения за некрасивый скриншот.

Один раз мы использовали новые скрипты и загрузка прошла удачно. Теперь можно выполнить команду chmod -x для скрипта 10_linux и исключить generic (универсальные) 2.6.31-14 конфигурации, что позволит содержать наше меню в превосходном состоянии.

Изменение порядка загрузки скрипта с помощью изменения номеров

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

Замена загрузочной конфигурации по умолчанию

Это можно сделать примерно так же, как показывалось выше. Для проверки правильно ли загружаются ваши новые скрипты, можно обратиться к рабочему примеру файла grub.cfg и проверить правильность написания linux и initrd строк.

Вот пример, который есть у меня:

И соответственно, я создал новый скрипт:

OS Prober (поиск загрузочных конфигураций)

OS Prober может тоже помочь вам. Он найдет дополнительные конфигурации на вашем жестком диске и добавит их в меню. Вы можете использовать его для добавления информации в созданные вами скрипты. Для получения дополнительной информации снова обратимся к файлу grub.cfg, раздел os-prober.

Переустановка GRUB

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

<target> может быть /dev/hda, /dev/sdb, /dev/sdc4, и так далее.

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

grub-install сообщения о нерабочих устройствах

Вот пример, этого:

Вам нужно открыть файл /boot/grub/device.map, удалить неверные данные, в нашем случае это /dev/sdb и заново выполнить команду grub-install.

Промежуточный итог

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

GRUB 2 имеет три основные части:

  1. /etc/default/grub - файл содержащий установки меню GRUB 2.
  2. /etc/grub.d/ - директория, содержащая скрипты, создающие GRUB 2 меню.
  3. /boot/grub/grub.cfg - GRUB 2 не редактируемый конфигурационный файл.

Команда update-grub считывает директорию /etc/grub.d и просматривает в ней исполняемые скрипты. Скрипты считываются в порядке их нумерации и записываются в файл grub.cfg вместе с установками меню, которые считываются из файла /etc/default/grub.

Загрузочные конфигурации образуются из нескольких источников: по умолчанию это дистрибутив, другие операционные системы, найденные на доступных дисках и скрипты, записанные пользователем в соответствии с требуемыми правилами. Скрипты записываются как shell (sh - оболочка).

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

Уже хорошо? Отлично. Вы видите, это довольно просто.

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

Реальные случаи мультизагрузки

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

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

Двойная загрузка: две операционные системы с GRUB 2

Это, наверное, простейшая конфигурация двойной загрузки. Обе операционные системы используют GRUB 2, таким образом, они могут легко взаимодействовать друг с другом. В нашем случае это две системы Ubuntu 9.10 и Kubuntu 9.10 с одинаковой файловой системой Ext4.

Ubuntu была установлена первой, GRUB 2 установлен в главную загрузочную запись (MBR) на диске /dev/sda. Kubuntu установлена второй, ее загрузчик также установлен в MBR, который перезаписал предыдущий экземпляр GRUB 2. Однако, скрипт OS probe обнаружил и добавил Ubuntu в конфигурационные файлы.

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

В этом разделе мы сделаем следующее:

  • Узнаем как редактировать существующие конфигурации и как сделать их более презентабельными.
  • Добавим новые конфигурации и перенумеруем существующие.

Это даст нам первоначальную информацию о работе GRUB 2 и о том, что нужно делать пользователям для обеспечения правильного функционирования. После этого мы проверим загрузку систем с GRUB 2 из GRUB legacy и наоборот. И после этого мы добавим Windows.

Частично мы видели это ранее. Заменим имеющуюся конфигурацию по умолчанию, которая выглядит не столь привлекательно, как нам бы хотелось.

Поэтому обратимся к файлу grub.cfg. Проверим синтаксис 10_linux и скопируем из него некоторые данные в новые скрипты, которые мы назвали 08_9_10_kubuntu и 09_9_10_kubuntu_recovery. Подобное мы делали раньше.

После этого нам необходимо сделать скрипты исполняемыми с помощью команды chmod +x и обновить GRUB. Очень просто.

После перезагрузки и проверки работы системы мы можем заменить 10_linux конфигурацией с собственными скриптами.

Работа сделана, все очень просто!

Двойная загрузка: две операционные системы с GRUB legacy и GRUB 2

Это интересный случай. Предположим, вы имеете две операционные системы подобные Ubunty 9.10, которые используют новый загрузчик GRUB 2 и загружаются из раздела с файловой системой Ext4, и классический дистрибутив подобный openSUSE 11.2, который тоже использует Ext4 файловую систему, но загружается с помощью старой версии GRUB.

Вот что мы узнаем:

  • Как загрузить Ubuntu из среды openSUSE GRUB.
  • Как загрузить openSUSE из среды Ubuntu GRUB.
  • Как редактировать конфигурации в обоих системах, чтобы они оставались рабочими.

Давайте, сделаем это.

Решение: какую систему сделать системой по умолчанию?

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

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

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

  • Установить GRUB в главную загрузочную запись (MBR) во время установки дистрибутива, например, openSUSE, как в нашем примере. Обратите на это внимание, когда устанавливаете дистрибутив!
  • Установить GRUB 2 в корневой раздел, в который установлен используемый дистрибутив, в этом случае Ubuntu. Уделите этому внимание, когда устанавливаете дистрибутив!

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


Если вы не полностью уверены, посмотрите таблицу разделов.

В нашем примере, Ubuntu была установлена первой с корневой директорией в /dev/sda6 и домашней директорией home в /dev/sda7. openSUSE была установлена следующей в /dev/sda1. Так как мы хотим использовать загрузчик GRUB legacy, тогда нужно сделать следующее:

  • Загрузчик Ubuntu необходимо установить в /dev/sda6.
  • Загрузчик openSUSE нужно установить в MBR (/dev/sda).

Когда это выполнено, загрузите систему и посмотрите, что получилось.

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

Загрузите openSUSE и откройте в текстовом редакторе файл menu.lst. Вначале сделайте его резервную копию!

В действительности мы не знаем как работать с GRUB 2 конфигурациями из GRUB legacy. Поэтому мы будем конфигурировать его так же как Windows. Настроим последовательную загрузку ( chainload ) другой операционной системы, когда управление передается другому загрузчику.

Будет ли это работать? Я не знаю, но давайте проверим! Воспользуемся нашим опытом работы с GRUB и попробуем его применить к новый ситуации.

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

title Ubuntu 9.10 Karmic Koala
root (hd0,5)
chainloader (hd0,5)+1

После загрузки вы увидите меню (снова неважный скриншот):

Если вы попытаетесь загрузить Karmic Koala, выбрав ее из меню, то вы столкнетесь с неожиданной ошибкой 13 загрузчика GRUB:

Этот тип ошибки является общим для Linux пользователей, пытающихся загрузить Windows или Mac разделы. Для Windows решение состоит в переопределении разделов. Необходимо скрыть разделы или сделать их активными, это обычно решает проблему.

В отношении Mac, проблема подобна той, которую мы рассмотрим далее. Версия GRUB legacy, которая поставляется с openSUSE не обрабатывает Ubuntu разделы и структуру GRUB 2. Поэтому необходим другой метод, чтобы выполнить загрузку.

Для получения дополнительно информации, посмотрите GRUB error messages.

Загрузка Ubuntu (с GRUB 2) из openSUSE, правильный способ

Вот что вам нужно сделать, чтобы это работало. Вернитесь в openSUSE и откройте снова файл menu.lst. Вам нужно сделать его похожим на это меню:

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

title Ubuntu 9.10 Karmic Koala
root (hd0,5)
kernel /boot/grub/core.img
savedefault
boot

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

После перезагрузки будет доступно меню GRUB 2. Выберите нужную строку и загрузите систему.

После загрузки Ubuntu вы можете сделать маленькую хитрость, если хотите. Вы можете повторить запуск update-grub скрипта. Скрипт найдет установленную openSUSE и добавит ее в меню. Вы получите рекурсивное меню GRUB, то есть меню, которое вызывает другое меню, которое в свою очередь, вызывает другое.

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

Другой интересный случай - это двойная загрузка Mandriva 2010 и Ubuntu 9.10. Когда устанавливается Mandriva, вы имеете возможность вручную отредактировать меню загрузчика GRUB, даже до первой загрузки. Это правда, многие дистрибутивы позволят вам конфигурировать загрузочное меню на определенном этапе установки. Если вы знаете, что вам нужно, вы можете сэкономить время и настроить конфигурации меню в процессе установки.

Теперь, как редактировать GRUB меню в процессе установки Mandriva. Это должно выглядеть примерно так:

В основном, мы сделаем все тоже самое, что делали с openSUSE. Подробнее, пожалуйста, смотрите в статье выше.

Двойная загрузка: Windows 7 и Ubuntu

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

Исходные тестовые данные: двойная загрузка Windows 7 и Ubuntu Jaunty, как в моем новом руководстве. Jaunty использует GRUB legacy, но он может быть обновлен до GRUB 2, что мы и сделаем.

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

Обновление GRUB legacy до GRUB 2

Во-первых, установим пакет GRUB 2:

$ sudo apt-get install grub2

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

Последовательная загрузка (сhainload) - первая

Во-первых, нужно решить, пойти по правильному пути и установить GRUB 2 в MBR (главную загрузочную запись) или по тестовому пути, то есть сделать корневым тот раздел, в который установлена Ubuntu и осуществить последовательную загрузку из GRUB legacy. Мы делали это ранее, и знаем как сделать это сейчас с помощью файла core.img.

Для ясности, мы не пропустим этот шаг.

Следующий шаг - проверка параметров команд. Большинству людей не нужно делать никаких изменений.

GRUB 2 теперь установлен:

До перезагрузки, убедитесь, что grub.cfg сформирован правильно. Проверьте его содержимое: правильность загрузочных конфигураций, ссылки на устройства загрузки и разделы. Воспользуйтесь командой fdisk. если это необходимо, чтобы убедиться, что все в порядке.

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

Возможные ошибки

Вы можете столкнуться с ошибками в GRUB, например, ошибкой 11 или ошибкой 15, когда пытаетесь загрузиться в GRUB 2.

Например, ошибка 11 означает, что выбрано неверное корневое устройство или загрузочное устройство имеет ID (идентификатор) больше, чем его действительный номер. Для устранения ошибки необходимо изменить одну из строк конфигурации.

У вас будет выделена конфигурация, осуществляющая последовательную загрузку, поэтому для решения проблемы, нажмите e для редактирования конфигурации. Затем измените команду root так, чтобы она отражала ваше реальное загрузочное устройство. Не забывайте, вы работаете с GRUB legacy, в котором нумерация разделов начинается с 0.

В худшем случае переберите возможные варианты командой root (hdX,Y). пока не найдете правильный вариант. Измените строку с командой root, нажмите Enter, после нажмите b для загрузки.

Однако, если GRUB использует непонятную длинную строку, которая называется идентификатором устройства (ID), то вам будет нужно заменить строку root с uuid. После этого вы сможете загрузить ядро. HowtoForge - хороший пример со скриншотами.

В итоге, вы увидите меню GRUB 2:

Как видите, мы имеем Ubuntu конфигурации и Vista загрузчик (Windows 7). Все выглядит хорошо. Теперь загрузим Ubuntu и Windows 7, и убедимся, что все работает правильно.

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

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

Дополнительные тестовые сценарии Тройная загрузка

Начиная с этого момента, все очень просто. Используйте любой загрузчик, какой хотите (GRUB, GRUB 2).

Если вы установили в качестве загрузчика GRUB legacy, тогда вы будете загружать Windows конфигурации, так же как мы делали в оригинальной статье. Только еще добавите /boot/grub/core.img для GRUB 2 конфигураций.

Но если вы используете GRUB 2, тогда примените OS Prober для поиска других операционных систем. Если вам не нравятся заголовки, создайте пользовательские загрузочные конфигурации на основе уже существующих (созданных OS Prober).

Теперь все в ваших руках.

Адаптация меню GRUB

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

Редактирование /etc/default/grub

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

GRUB_DEFAULT=0 определяет пункт меню, загружаемый по умолчанию. Нумерация осуществляется с 0, также как и меню. Измените настройки как вам нужно. Если вы установите GRUB_DEFAULT=saved. то будет загружен пункт, выбранный во время предыдущей загрузки.

GRUB_TIMEOUT="10" определяет время ожидания. Измените настройку как вы хотите. Очень маленькое значение не рекомендуется. Установка значения -1 укажет GRUB ожидать выбора конфигурации пользователем вручную и нажатия Enter.

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

Еще один момент, который может заинтересовать вас, как отключить пункты меню recovery.

Отключение пунктов меню recovery

Следующая строка в файле /etc/default/grub позволяет отключить режим отображения пунктов меню recovery. Просто раскомментируйте строку и обновите GRUB:

Отключение пунктов memtest в меню

Если вы хотите скрыть пункты меню, содержащие memtest, то просто выполните команду chmod -x для скрипта 20_memtest. Он не будет запускаемым и не будет считываться при формировании grub.cfg файла и, соответственно, не будет добавлен в него при следующем обновлении GRUB.

$ sudo chmod -x 20_memtest86+

Изменение параметров titles (заголовков) в блоках меню

Можно внести небольшие изменения в существующую конфигурацию, как я предлагал ранее, то есть создать Linux конфигурацию по умолчанию и отключить (с помощью команды chmod -x сделать не исполняемым) скрипт 10_linux. Однако, вы можете редактировать текущий скрипт, который может работать по-разному и предоставлять информацию в более понятном формате.

Это немного странный материал, который можно найти в Ubuntu install title tweaks.

Изменение темы (фоновое изображение)

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

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

Для начала изображения нужно разместить в какой-то определенной директории. По умолчанию GRUB 2 берет изображения из /usr/share/images/desktop-base. Вы можете использовать это размещение или собственное, которое можете создать сами. Например, /usr/share/images/grub. как показано в Ubuntu blog.

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

Следующий шаг, редактирование скрипта 05_debian_theme. Необходимо заменить соответствующую запись собственной:

Что я сделал, закомментировал исходную строку цикла for-loop, которая считывала изображение(я), и создал собственную. Если вы чувствуете себя неуверенно при редактировании конфигурационного файла, вам лучше отложить настройку темы и сделать это позднее.

Мой файл размещен здесь: /usr/share/images/grub/dark.png.

Теперь, файл изменен, выполните команду update-grub для обновления конфигурационного файла grub.cfg. Если вы сделали все правильно, вы увидите сообщение в терминале Found Debian background.

Обратите внимание, что в меню GRUB не будут использоваться фоновые изображения, если отключена соответствующая опция. Чтобы ее включить, нужно изменить строку use_bg=false в скрипте темы на use_bg=true.

Перезагрузите и проверьте:

Как видите, выбранное мной фоновое изображение оказалось очень плохим! Вы не можете увидеть текст! По этой причине тщательно выбирайте фоновое изображение, которое будете использовать. Лучшим выбором будет тема с небольшими градиентами.

Для получения подробной информации, пожалуйста, обратитесь к Wiki документации.

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

Вдруг случится, что вы повредите GRUB 2? Должен же быть способ восстановить его и спасти положение? Все как обычно, есть два пути: легкий и сложный.

Легкий путь: Super Grub Disk

Это мощный инструмент, который работает с GRUB 2, так что не беспокойтесь. Установите его на CD/DVD диск, загрузитесь с него и восстановите поврежденный GRUB.

Сложный путь: Ручное исправление с помощью live CD

Вам необходим live CD, подобный Ubuntu или Kubuntu, который имеет на борту GRUB 2. Загрузитесь в live сессию (сессия временной загрузки операционной системы), монтируйте жесткий диск и установите GRUB 2 в MBR.

Вот последовательность команд, которые необходимо выполнить (предполагая, что диск = /dev/sda). Вам необходимо смонтировать раздел с установленным дистрибутивом (например, Ubuntu) и содержащим /boot директорию. Он может быть отдельным разделом в системе, это зависит от параметров, выбранных во время установки системы.

После его монтирования вам нужно запустить еще раз команду grub-install.

$ mount /dev/sda1 /mnt/
$ grub-install --root-directory=/mnt /dev/sda

Если это не сработает, то вам необходимо будет выполнить длительную и сложную процедуру, которая описана в official GRUB 2 Ubuntu Wiki documentation.

Применяйте команду fdisk для поиска корневого устройства до его монтирования. В качестве примера, предположим, что /dev/sda1 отведен под /boot раздел, а /dev/sda2 является корневым разделом в вашем дистрибутиве.

$ sudo mount /dev/sda2 /mnt

Если у вас /boot раздел размещен на отдельном разделе, то вам необходимо монтировать и его.

$ sudo mount /dev/sda1 /mnt/boot

Далее размонтируем устройства, используя опцию --bind. Для дополнительной информации о работе команды mount, пожалуйста, посмотрите на странице man.

$ sudo mount --bind /dev /mnt/dev

Фактически, сейчас у вас есть корневая система для монтирования. Теперь вы можете изменить размещение root (/) на /mnt. Это можно сделать с помощью команды chroot.

$ sudo chroot /mnt

Это значит, что команда выполненная в этом терминале будет обращаться к /mnt/. Теперь, переконфигурируем GRUB пакет:

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

После этого вы можете выйти из рабочей среды команды chroot. Это делается нажатием сочетания клавиш Ctrl + D. Затем демонтируйте устройства. Первым демонтируйте /dev, а после все остальные.

$ sudo umount /mnt/dev
$ sudo umount /mnt

Теперь выполните перезагрузку. GRUB 2 будет восстановлен.

Обзор небольших проблем

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

Механизм получения дампа памяти при падении ядра

GRUB 2 имеет раздел, в котором настраивается механизм получения и сохранения дампа памяти при падении ядра. Механизм работает подобно Kdump. он установлен, сконфигурирован и может быть изменен в разделе настроек ядра. Применять его не самая лучшая идея, так как скрипт не проверяет смещение, где он может разместить поврежденное ядро. При этом выделение памяти должно быть сделано администратором и непроизвольным образом, а в определенном диапазоне, потому что неизвестен объем поврежденного ядра.

Имена команд

Две главные команды: grub-install и update-grub. отличаются порядком употребления слова grub, что не очень хорошо. Либо обе должны иметь префикс grub, или обе должны иметь суффикс grub.

Сравнение GRUB legacy и GRUB 2

Теперь хороший вопрос, какой из них вы будете использовать, а какой нет?

GRUB legacy

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

GRUB 2

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

Кроме того, GRUB 2 более сложен в работе, по ряду причин: а) он требует уверенного владения shell, которым владеет далеко не каждый; б) изменить GRUB меню гораздо сложнее и требуется выполнить три этапа, прежде чем оно будет изменено; в) изменения не сохраняются автоматически и должны быть "скомпилированы" в меню всякий раз, при внесении изменений, как и в случае с загрузчиком LILO.

В настоящее время, GRUB 2 поддерживается небольшим числом дистрибутивов, поэтому маловероятно получить поддержку и найти ответы он-лайн (в сети Интернет, например). Поэтому у вас есть шанс столкнуться с проблемами использования GRUB 2 в смешанном окружении.

Вывод

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

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

Дополнительная информация (документы и ссылки)

Я настоятельно рекомендую посмотреть следующие статьи, обзоры и howtos руководства:

Официальная информация Другие полезные источники по GRUB 2

Herman's GRUB pages (отличная коллекция руководств howto)

GRUB 2 title tweaks (дополнительный материал, поможет избежать трудностей с заменой пунктов меню)

Заключение

Это все. Теперь у вас имеется пошаговое руководство по установке, конфигурированию и разрешению проблем с GRUB 2, которое содержит: описание структуры и основных функций, многочисленные реальные примеры, подобные двойной загрузке с GRUB legacy, последовательной загрузке GRUB 2 и Windows, а также инструменты и инструкции по решению проблем. Это руководство должно быть очень полезно для вас, будь вы начинающий пользователь, недавний пользователь Windows, перешедший на Linux, или ветеран Linux.

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

Подлинная мощь GRUB 2 до сих пор не раскрыта.

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

Успехов и расширяйте ваши познания!

Обновления

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

Декабрь 2009, обновление:

Несколько вопросов, заданных моими читателями.

Нужно ли мне что-то делать, если я использую Ext3 файловую систему? Можно ли boot разделы GRUB отформатировать в Ext4?

Ответ: Может быть. Если ваш дистрибутив поддерживает Ext4, то да, если не поддерживает, то нет, потому что он не сможет ничего прочитать из разделов отформатированных в Ext4. Самый простой путь, преодолеть ограничения совместимости файловой системы, использовать под /boot отдельный раздел, отформатированный в Ext3. Этот способ будут поддерживать все современные дистрибутивы Linux.

У меня есть два диска. Ubuntu Karmic находится на втором диске. Что мне использовать в GRUB core.img файл или можно использовать обычный способ последовательной загрузки ( chainload )?

Ответ: Eсли ваш загрузчик установлен в корне второго диска, тогда вы можете использовать традиционный метод последовательной загрузки ( chainload ). Однако, если вы используете один загрузчик, тогда вы должны воспользоваться core.img файлом.

Из-за чего отличаются 40_custom скрипт и ваши пользовательские скрипты?

Ответ: Скрипт 40_custom уже настроен для использования, во время сборки конфигурационного файла GRUB, в соответствии с содержанием других скриптов. Однако, пользовательские скрипты вы можете записать в любое время. Обязательная строка в этом скрипте exec tail -n +3 $0. но вам не нужно использовать ее в собственных скриптах.

Будут ли обновлены мои скрипты, если обновлю ядро другой операционной системы установленной в этой же системе?

Ответ: Автоматического обновления не произойдет. Вам нужно будет перезаписать ссылки на ядра вручную. Один из путей решения этой задачи, создание символической ссылки на последнее ядро и initrd image (Стартовая корневая файловая система, которая монтируется в первую очередь. initrd входит в состав ядра, и загружается как его часть во время загрузки. Ядро монтирует initrd в первой части загрузочного процесса для последующей загрузки модулей и реальной корневой файловой системы.) с помощью vmlinuz и initrd с универсальными именами. Именно это реализовано в openSUSE, и позволяет вам сохранять статическим ваше GRUB меню. После обновления ядра, в изменениях нуждаются только символические ссылки. Изменять конфигурационные файлы GRUB не нужно.

Я не могу установить пользовательский фон в меню GRUB!

Ответ: Посмотрите раздел в скрипте debian_theme и установите значение параметра use_bg в true.

Июнь 2010, обновление:

GRUB 2 текущая версия 1.98 и это stable release (В версию STABLE попадают только протестированные разработки. Это гарантия того, что они останутся в системе и дальше. По мере работы, когда в STABLE накапливается довольно много изменений и есть гарантия стабильности, STABLE переводится в RELEASE. То есть, существуют моменты времени, когда STABLE и RELEASE полностью идентичны.). Имеется несколько небольших изменений в функциональности, но 99% того, что написано выше, все еще актуально.

GRUB 2 rescue CD (диск аварийного восстановления)

Если вы не используете Super Grub Disk (SGD) или live CD с Linux дистрибутивом, поддерживающим GRUB 2, тогда вы, наверное, хотите создать свой собственный CD диск, для восстановления GRUB 2 (rescue CD). Преимущество этой процедуры в том, что rescue CD будет иметь собственное меню GRUB.

Это делается с помощью команды grub-mkrescue, которая похожа синтаксисом на Lucid Lynx. который используется в GRUB2-1.98-1ubuntu5 и Karmic и более ранних версиях, которые использовали бета версию начального загрузчика.

Теперь, посмотрим как это сделать:

$ grub-mkrescue --output=<name>.iso /boot/grub

Вы можете использовать любое имя.

Ubuntu 9.10 and earlier:

$ grub-mkrescue --overlay=/boot/grub <name>.iso

После создания ISO образа, вы запишите его на CD. Затем протестируйте его, желательно на другой машине. Сделайте так, чтобы GRUB загрузился с CD, а не локального диска. Если вы используете имена файлов без указания полного пути, то ISO образ будет создан в текущей директории.

Целевой (тестовый) хост настройте на загрузку с CD, rescue CD загрузит командную строку GRUB. Убедитесь, что загрузка произошла действительно с CD, и он работает как ожидалось, и содержит ваше GRUB меню. Для этого выполните следующую команду:

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

Вы будете использовать rescue CD для загрузки нужной операционной системы и восстановления GRUB с помощью команды grub-install, как показано ранее. Rescue CD не будет работать, если вы удалите операционную систему или разделы, содержащие ее.

Есть также дискуссионные темы доступные на Ubuntu и wilderssecurity.com форумах, но они в основном касаются использования этих же команд и их вариаций в различных версиях Ubuntu.

Спасибо Ocky за этот совет!

Декабрь 2010, обновление:

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

Условные обозначения

Снова изменены условные обозначения. Для разделов MS-DOS, которые представляют абсолютное большинство среди разделов, GRUB 2 в Maverick (версия Ubuntu 10.10 Maverick Meerkat) использует новые обозначения. Вместо универсального обозначения hd(X,Y). теперь будет hd(X,msdosY). которое может немного запутать. Вы должны это учитывать, когда создаете сложные мультизагрузочные установки.

Для большей информации, пожалуйста, посмотрите мой обзор по Maverick.

Дополнительная информация для чтения

Также, добро пожаловать, на официальный форум Ubuntu в тему по GRUB2.

Декабрь 2011, обновление:

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

Загрузка Xen ядера в мультизагрузочной конфигурации под управлением GRUB2

Вы видели этот пример в моем вводном руководстве по Xen. Особенности:

Отметьте, пожалуйста, если вы используете последовательную загрузку openSUSE с GRUB 2, то вам необходимо специально создать конфигурацию для Xen ядра, которая не должна быть автоматически добавлена с помощью скрипта OS probe. Посмотрите на отличие этой конфигурации от стандартных загрузочных блоков.

multiboot /boot/xen.gz
module /boot/vmlinuz-xen <options>
module /boot/initrd-xen

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

Поддержка Fedora 16 Verne

Fedora 16 также поддерживает GRUB2. Некоторые установки немного отличаются от систем базирующихся на Debian. Навигация в Fedora покажется вам немного более сложной после работы в GRUB 2 на Ubuntu и системах из его семейства. Поддержка GRUB2 в Fedora реализована не очень хорошо, так как она совсем недавно поддерживает GRUB 2, и, конечно, имеются ошибки в некоторых функциях.

Как обновить меню GRUB

Для обновления используйте следующую команду:

$ grub2-mkconfig -o /boot/grub2/grub.cfg

Команда создаст grub.cfg файл в соответствии с вашими скриптами из /etc/grub.d.

Изменение скрипта header (строка меню по умолчанию и время ожидания)

В Ubuntu изменить пункт меню по умолчанию и время ожидания очень просто. Но в Fedora это совсем не так. Редактирование файла 00_header является более сложным. Вы должны изменить функционал скрипта, чтобы получить то, что вам нужно.

Время ожидания задается функцией make_timeout(). Эта функция допускает два входных параметра: GRUB_TIMEOUT и GRUB_TIMEOUT_BUTTON, которые объявляются в начале скрипта 00_header.

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

Функция make_timeout(), вы можете отредактировать ее объявление set timeout=$<2> и сделать ее значение статическим. Скрипт проигнорирует входные параметры и будет использовать присвоенные вами значения. Например, вы хотите увеличить время ожидания с 5 секунд до 20 секунд.

В этом случае измените скрипт следующим образом:

#set timeout=$<2>
set timeout=20

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

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

И теперь загружаемся, заметьте время ожидания на счетчике.

Дополнительная информация

Более подробную информацию можно получить на следующих онлайн страницах:

Если вы считаете, что есть необходимость в отдельном руководстве, по применению Fedora и GRUB2, то мы можем сделать его.

Июнь 2012, обновление:

Вышла официальная версия GRUB 2.00. GRUB 2 стал привлекательным во всех отношениях. Мы увидим главную release версию GRUB 2 в различных дистрибутивах уже к концу этого года. Для конечных пользователей изменения будут незаметны. Просто используйте это руководство и приятно проводите время.

Эта статья еще не оценивалась

Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь .
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют