::cck::32::/cck::
::description::::/description::

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

::cck::33::/cck::
::introtext::

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

За загрузку нескольких операционных систем отвечает программа-загрузчик GRUB.

::/introtext::
::fulltext::

В Ubuntu начиная с версии 9.10 установлен загрузчик GRUB 2, который отличается от GRUB Legacy (загрузчика первой версии) тем, что его код полностью переписан с нуля и для него изменена структура файлов конфигурации.

Все нижеописанное относится к загрузчику GRUB 2.

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

/boot/grub/grub.cfg

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

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

Что можно перевести примерно так:

#
# НЕ ИЗМЕНЯЙТЕ ЭТОТ ФАЙЛ
#
# Он автоматически генерируется согласно /usr/sbin/grub-mkconfig с использованием шаблонов
# из /etc/grub.d и установок из /etc/default/grub
#

/etc/default/grub

Этот файл содержит основные настройки для загрузчика GRUB. Именно в этом файле можно произвести основные настройки. Ниже приводится примерное содержимое этого файла:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="" # Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console # The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

 C помощью этого файла можно:
 - изменить стандартный пункт загрузки
 - изменить время показа меню

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

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

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

Также можно прописать GRUB_DEFAULT="saved" - тогда при загрузке будет выбран тот пункт, который был загружен в прошлый раз.

Можно также указать точное название пункта меню. Для этого открываем /boot/grub/grub.cfg и находим нужный пункт меню, например:

menuentry "Windows 7 (loader) (on /dev/sda2)" --class windows --class os {
    insmod part_msdos
...    
}

Его и нужно прописать (обязательно в кавычках) для опции GRUB_DEFAULT в качестве значения. Выглядеть это будет так:
GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda2)"
Этот способ имеет преимущество в том, что не зависит от нумерации. А при обновлени ядра (или по другим причинам) может измениться количество пунктов меню и снова придется изменять настройки.

Изменение времени отображения меню

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

Если GRUB_TIMEOUT="-1", то меню будет отображаться до тех пор, пока пользователь не выберет какой-либо пункт.

Продолжение следует...

 

::/fulltext::

Форма входа

Яндекс.Метрика