Grub: различия между версиями
м (→Зачем нужен GRUB, если есть LILO?: есть ещё и elilo) |
|||
Строка 5: | Строка 5: | ||
[[:ruwp:Grub#GRUB_2|GRUB 2]] | [[:ruwp:Grub#GRUB_2|GRUB 2]] | ||
== Зачем нужен GRUB если есть LILO? == | == Зачем нужен GRUB, если есть LILO/ELILO? == | ||
* Поддержка модулей Raid, LVM, файловых систем вкупе с интерактивным интерфейсом позволяют выбрать что загружать откуда угодно ''' в процессе загрузки ''' (а не установки загрузчика). | * Поддержка модулей Raid, LVM, файловых систем вкупе с интерактивным интерфейсом позволяют выбрать, что загружать откуда угодно ''' в процессе загрузки ''' (а не установки загрузчика). | ||
* Возможность multiboot (для загрузки, к примеру, XEN) | * Возможность multiboot (для загрузки, к примеру, XEN) | ||
== Как установить GRUB? == | == Как установить GRUB? == |
Версия от 21:40, 3 ноября 2012
Что такое GRUB?
Wikipedia сообщает "GNU GRUB (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки." GRUB 2
Зачем нужен GRUB, если есть LILO/ELILO?
- Поддержка модулей Raid, LVM, файловых систем вкупе с интерактивным интерфейсом позволяют выбрать, что загружать откуда угодно в процессе загрузки (а не установки загрузчика).
- Возможность multiboot (для загрузки, к примеру, XEN)
Как установить GRUB?
apt-get install grub2
grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB
grub-mkconfig -o /boot/grub/grub.cfg
Последний пункт выполняет генерацию конфига GRUB на основе шаблонов/скриптов в /etc/grub.d/. Редактировать полученный конфиг руками не рекомендуется т.к. он будет уничтожен следующей автогенерацией (выполняемой, к примеру, installkernel-ом).
Где отредактировать параметры ядра?
- Параметры ядра содержатся в /etc/sysconfig/grub2
- После редактирования этого файла нужно вызвать grub-mkconfig -o /boot/grub/grub.cfg
- По многочисленным просьбам трудящихся в Сизиф был направлен grub2-1.98-alt22.20100804. http://lists.altlinux.org/pipermail/sisyphus/2011-January/351598.html
В /etc/sysconfig/grub2 теперь поддерживаются следующие опции:
GRUB_AUTOUPDATE_CFG=true/false
обновлять ли конфиг файл из файлтриггера установки/удаления ядер (по умолчанию true)
GRUB_AUTOUPDATE_CFGNAME=/boot/grub/grub.cfg
имя автообновляемого конфигфайла. (по умолчанию /boot/grub/grub.cfg)
GRUB_VMLINUZ_SYMLINKS=true/false/default
добавлять ли симлинки в меню (добавлять, не добавлять, добавлять только /boot/vmlinuz [по умолчанию])
GRUB_VMLINUZ_FAILSAFE=true/false/default
добавлять ли failsafe-пункты (добавлять, не добавлять, добавлять только для /boot/vmlinuz [по умолчанию])
Как дописать свои собственные пункты меню?
- Теоретически вам не должно хотеться этого делать. Расскажите (в рассылке sisyphus@, к примеру) зачем вам этого захотелось - возможно, придумается какой-то новый общий случай.
- Если вам всё же хочется - допишите то, что считаете нужным в /etc/grub.d/40_custom
- После редактирования этого файла нужно вызвать grub-mkconfig -o /boot/grub/grub.cfg
Как выбрать то, что будет загружаться автоматом?
- Выберите нужный вам пункт 1 раз при загрузке. savedefault должен сохранять ваш выбор на будущее.
- Не нравится такое поведение? Отключите GRUB_SAVEDEFAULT в /etc/sysconfig/grub2
Как загрузить Xen?
Xen грузится с помощью multiboot:
- проверить, что вы используете grub2 >= 1.98-alt11
- apt-get install xen xen-libs xen-runtime xen-hypervisor
- запустить grub-mkconfig -o /boot/grub/grub.cfg
- выбрать соответствующий пункт при загрузке (savedefault запомнит выбор на будущее)
Как включить работу с последовательным портом?
Примерно такими строчками в /etc/sysconfig/grub2:
GRUB_TERMINAL='console serial' GRUB_SERIAL_COMMAND='serial --unit=0 --speed=115200'
(см. также). Не забываем про grub-mkconfig.
Загрузка Linux и Windows c разных жестких дисков
Grub2 грузится с основного диска на котором Linux, Windows установлен на дополнительный жесткий диск. В 40_custom добавляем:
menuentry "Windows XP" { drivemap -s (hd1) ${root} set root='(hd1)' chainloader +1 }
Если жестких дисков больше двух, играемся с hdX.
Как установить пароль на редактирование параметров ядра?
По умолчанию при загрузке любой пользователь может добавить/изменить параметры. Этого можно избежать, если установить пароль. Например, добавить в файл /etc/grub.d/40_custom строки:
set superusers="user" password user password
и отключить графику в /etc/sysconfig/grub (см. altbug #26198):
GRUB_TERMINAL_OUTPUT='console'
Где почитать ещё?
- Викиучебник (debian-related документация) http://ru.wikibooks.org/wiki/Grub_2, с небольшими изменениями применимо и у нас.
- http://people.apache.org/~skitching/MineOfInformation/linux/Booting_Linux_on_x86_with_Grub2.html (англ.)
- GNU GRUB Manual 2.00 http://www.gnu.org/software/grub/manual/grub.html (англ.)
- дистрибутивные вики: Arch, Frugalware, Gentoo
А также в операционной системе:
info grub info -f grub -n 'Simple configuration'