Среда, 24.04.2024, 05:01
Приветствую Вас Гость

SYSTEM ADMINISTRATOR

Меню
Разделы
Друзья
Реклама
Наша кнопка
Опрос
Нужен ли нам форум?
Всего ответов: 64
Главная » 2011 » Сентябрь » 27 » Настройка и установка загрузчика GRUB
19:02
Настройка и установка загрузчика GRUB

GRUB - GRand Unified Bootloader - это очень мощный менеджер загрузки, который может загружать множество операционных систем, таких как Windows, DOS, Linux, GNU Hurd, *BSD и т.д. В настоящий момент LILO является самым популярным менеджером загрузки, используемым практически всеми, кто работает с несколькими операционными системами. Но если Вы используете LILO, вы должны помнить, что необходимо перезапускать LILO каждый раз как вы изменяете вашу конфигурацию или устанавливаете новое ядро. Также, LILO обладает меньшей гибкостью, чем GRUB. Лучшее свойство GRUB - то, что вы можете загрузить любое ядро на любом разделе, прямо в ходе начальной загрузки. Например, если вы забыли добавить только что скомпилированное ядро в список, вам скорее всего потребуется загрузиться, добавить его в список и затем перезагрузиться, чтобы использовать его. Но с GRUB, Вы можете просто использовать командную оболочку и загрузить при помощи её желаемое изображение ядра.

Итак, GRUB: принимает практически все форматы исполняемых файлов; обеспечивает загрузку ядер, совместимых и ограниченно совместимых со спецификацией Multiboot; поддерживает «цепочный» механизм для ОС и загрузчиков, не совместимых со спецификацией Multiboot; поддерживает загружаемые модули; поддерживает редактируемый текстовый конфигурационный файл; имеет меню-ориентированный и гибкий командный интерфейсы, удовлетворяющие, практически, любым запросам пользователя; поддерживает файловые системы: BSD FFS, DOS FAT16 и FAT32, Minix fs, Linux ext2fs, ReiserFS, и VSTa fs; обеспечивает автоматическую декомпрессию gzip-файлов; независим от геометрии дисков: переход к диску с другой трансляцией номеров блоков не потребует изменения конфигурации; определяет LBA-режим: если BIOS поддерживает LBA, GRUB пользуется этой поддержкой; поддерживает сетевую загрузку по TFTP-протоколу; поддерживает терминальный доступ по последовательному интерфейсу, т.е. может использоваться в безконсольных станциях.

Рассмотрим конфигурационный файл загрузчика GRUB: /boot/grub/grub.conf :

В первых строках нам напоминают, что нет необходимости в перезапуске GRUB после редактирования данного файла. Это очень удобно для тех, кто часто экспериментирует с системой и пробует использовать различные ядра для загрузки. В частности в примере указаны несколько вариантов загрузки одного и того же дистрибутива (Fedora Core), при этом ядра указаны различные. Следует отметить, что имена дисков "в понимании" GRUB отличаются от общепринятых имен в Linux системах. Диски рассматриваются просто по порядку, начиная с 0. Разделы - аналогично, но первый раздел расширенного раздела начинается с цифры 3 (первичных всего четыре 0-3). Таким образом диск /dev/hda8 "в понимании" GRUB звучит как (hd0,7) . Разберем указанные элементы данного файла попунктно:

default=1 - пункт загрузки по умолчанию, нумерация производится, начиная с 0

timeout=10 - через 10 секунд будет загружен пункт по умолчанию

splashimage=(hd0,7)/boot/grub/splash.xpm.gz - Фоновая картинка, используемая GRUB-ом в приглашении к загрузке.

title Fedora Core (2.4.22-1.2115.nptlcustom) - Имя загружаемой системы.

root (hd0,7) - корневой раздел

kernel /boot/vmlinuz-2.4.22-1.2115.nptlcustom ro acpi=on root=LABEL=/1 rhgb - загружаемое ядро и параметры загрузки ядра. Перечислим параметры, ещё нам не встречавшиеся, которые присутствуют в данном файле: ro - монтирование корневой файловой системы в режиме только чтения, acpi=on - поддержка интерфейса ACPI, hdd=ide-scsi - использовать эмуляцию scsi-устройства для CD-RW привода, установленного slave-ом на IDE2

rootnoverify (hd0,0) - Загрузка будет производиться с устройства /dev/hda1 , поиск корневого каталога производиться не будет.

chainloader +1 - Устанавливается первый сектор раздела, с которого производится загрузка.

Начальная установка GRUB производится командой grub-install '(hdN,N)' (при условии, что у Вас установлен пакет grub):

В момент ожидания выбора пользователя, или при неудачной попытке загрузки системы, мы можем воспользоваться командной строкой grub-a, используя вышеперечисленные и следующие команды, перечень которых достаточно обширен и всегда может быть выведен на экран нажатием <TAB>.

Имеются следующие группы команд:

  • управления:
    • boot – передать управление ядру, загруженному командой kernel или «чужому» загрузчику, загруженному командой chainloader,
    • halt – выключить машину,
    • help [команда] – выдать подсказку,
    • quit – выйти из GRUB,
    • reboot – перезагрузиться,
    • pause – ждать нажатия клавиши;
  • работы с файлами:
    • cat – вывести на экран,
    • cmp – сравнить содержимое двух файлов;
  • управления доступом:
    • password – обычно помещается в конфигурационном файле и при достижении ее требует ввода пароля,
    • lock – блокировать выполнение команд для неидентифицированного пользователя;
  • модификации разделов:
    • partnew – создать первичный раздел,
    • partype – изменить тип раздела;
  • настройки внешнего вида:
    • color – задать цвета меню,
    • vbeprobe – определить и вывести доступные режимы видеоадаптера,
    • testvbe MODE – тестировать режим MODE видеоадаптера.

Поскольку ОС семейства win'9x не могут быть загружены из соседних разделов (вне зависимости от флага активности грузится все равно первый из разделов), для их загрузки нужно использовать команды hide и unhide. Так, если первый и второй первичные разделы содержат win'9x, то для загрузки второй системы необходимо воспользоваться следующей последовательностью команд:

hide (hd0,0) - "скрыть" первый раздел первого жесткого диска

unhide (hd0,1) - "раскрыть" второй раздел первого жесткого диска

rootnoverify (hd0,1) - корневой раздел, определение корневого каталога не требуется

makeactive - установить бит активности данному разделу

chainloader +1 - перейти к следующему загрузчику "по цепочке"

Еще одна трудность с ОС от MicroSoft – неспособность грузиться со второго и последующих дисков. Для ее преодоления применяют технику «свопирования» (swapping technique), или, проще – «подмены». Так же, собственно, поступает и BIOS Setup, но зачем же обращаться к нему, если всего две строки выполнят ту же операцию:

map (hd0) (hd1)

map (hd1) (hd0)

Для начала рекомендуется инсталлировать GRUB на дискете (fd0). Скорость загрузки с дискеты радует, что, собственно, и не удивительно: общий объем загружаемых файлов – менее 100 кбайт.

Замечание. Первичные разделы и логические разделы расширенного раздела нумеруются в порядке создания, а не в соответствии с их физическим расположением. Это одно и то же, но только до первого удаления уже существующего раздела (а кто помешает нам это сделать?). Можно бы об этом и не задумываться, но некоторое ПО почему-то настойчиво предлагает ренумеровать разделы в соответствии с их физическим порядком, а некоторое - просто выполняет "ренумерацию", даже не проинформировав об этом пользователя (например, Partition Magic 8). После этого номера разделов, указанных в grub.conf могут указывать уже не туда, куда следует. Тут уж не обойтись без командного режима!

Пользоваться командным режимом возможно в случае, если значение параметра timeout выбрано более 0. Стандартное приглашение к загрузке GRUB-а выглядит вот так:

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

Для редактирования существующего варианта необходимо нажать кнопку e (Edit) , для переход в "чистый" командный режим - клавишу c (Command) . Если же необходимо добавить какие-либо опции загрузки непосредственно ядру нашей системы - необходимо воспользоваться клавишей a (Append) . Впрочем, последнюю операцию можно заменить использованием простого редактирования ( нажатие e ):

И снова мы можем выбрать интересующий нас пункт загрузки и отредактировать его. После изменений, достаточно подтвердить их нажатием Enter , затем необходимо клавишей b (Boot) дать сигнал к загрузке системе.

В командном режиме (переход в него - клавиша с очень важно придерживаться синтаксиса команд Grub-а .

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

В конце нашей цепочки действий необходимо указать команду boot

Обратите внимание, что Grub работает непосредственно с файлами, находящимися в определенном каталоге. В указанном примере, мы загрузили ядро операционной системе, которое находилось в разделе /boot . Данный раздел был создан отдельно от корневого раздела.

Категория: *nix | Просмотров: 4903 | Добавил: AinCross | Теги: Linux, загрузчик GRUB | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Регистрация
Поиск
Пользовательский поиск
Реклама
Архив записей
Календарь
«  Сентябрь 2011  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
2627282930
Считалки
Яндекс.Метрика

Онлайн всего: 1
Гостей: 1
Пользователей: 0