grub.cfg:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
GRUB_DEFAULT Закрепление операционной системы по умолчанию. В файле /etc/default/grub можно закрепить номер определенной записи в меню GRUB. Операционная система, указанная под этой записью, будет запускаться автоматически. На практике пользы от этого немного. Если вы, например, хотите, чтобы по умолчанию запускалась система Windows ХР, а в меню GRUB запись с Windows XP идет на десятом месте, то задайте параметр GRUB_DEFAULT=9 (отсчет начинается с нуля). GRUB_HIDDEN_TIMEOUT важна в тех случаях, когда при установке GRUB опознает на вашем компьютере только одну операционную систему (в нашем случае — Linux). В таком случае значение GRUB_HIDDEN_TIMEOUT задает, сколько времени будет у пользователя, чтобы отобразить меню GRUB нажатием клавиши Shift (в течение этого времени ожидания экран остается черным). GRUB_HIDDEN_TIMEOUT=0 приводит к тому, что GRUB сразу запускает операционную систему. Чтобы вмешаться в процесс загрузки, нужно нажать Shift сразу же после запуска компьютера. Если на компьютере установлено несколько операционных систем, то GRUB игнорирует настройку GRUB_HIDDEN_TIMEOUT и сразу отображает меню. GRUB_HIDDEN_TIMEOUT_QUIET=true отменяет показ счетчика с обратным отсчетом в период ожидания, заданный в GRUB_HIDDEN_TIMEOUT. Если вы хотите, чтобы меню GRUB отображалось (в том числе и тогда, когда па компьютере установлена только Ubuntu), закомментируйте строки GRUB_ HIDDEN_TIMEOUT=... и GRUB_HIDDEN-TIMEOUT_QUIET=... (поставьте перед каждой из них символ комментария #). GRUB_TIMEOUT=n указывает, в течение какого количества секунд GRUB дожидается выбора одной из записей меню. Если за это время не поступит никакого пользовательского ввода, GRUB запустит уже выбранную операционную систему. Указанное здесь время учитывается лишь в том случае, если меню GRUB вообще появляется на экране, то есть, если на компьютере установлено несколько операционных систем или пользователь нажал клавишу Shift во время периода ожидания, заданного в GRUB_H IDDEN_TIMEOUT. GRUB_DISTRIBUTOR интерпретируется сценарием 10_linux в ней содержится имя текущего дистрибутива (например, Fedora или Ubuntu). GRUB_CMDLINE_LENUX и GRUB_CMDLINE_LINUX_DEFAULT также учитываются сценарием 10_linux. В них указывается, какие параметры должны быть сообщены ядру. Параметры GRUB_ CMDLINE_LINUX действуют при каждом запуске, а параметры GRUB_CMDLINE_LINUX_DEFAULT дополнительно применяются при запуске, происходящем по умолчанию (но не в режиме восстановления). По умолчанию меню GRUB отображается в графическом режиме с разрешением 640х480 пикселов. Если вы хотите работать с более высоким разрешением, его можно задать в переменной GRUB_GFXM0DE (разумеется, в пределах возможностей вашей графической карты). Если вы желаете вообще отказаться от графического режима, активизируйте специально предусмотренную для этого настройку GRUB_TERMINAL=console. Обе переменные интерпретируются (сценарием 00_linux) стандартных настройках значительные различия между текстовым и графическим режимами отсутствуют, но только в графическом режиме могут отображаться символы Unicode. update-grub или grub-mkconfig создают, как правило, записи меню и для запуска Linux в режиме восстановления. При этом Linux запускается в однопользовательском режиме, без отображения экрана-заставки. Если вы хотите отказаться от записей, необходимых для восстановления, активизируйте строку GRUB_ DISABLE RECOVERY="true". С помощью GRUB_INIT_TUNE= можно сопроводить запуск GRUB звуковым сигналом. Фоновая картинка, в Debian и Ubuntu уже содержится в сценарии 05_debian_theme. Нужно всего лишь изменить три переменные и задать имя файла с вашим изображением. # в /etc/grub.d/05_debian_theme WALLPAPER='7boot/grub/myown.png" COLOR_NORMAL="white/black" COLOR HIGHLIGHT="yellow/black" |
Запуск Linux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Запись в меню GRUB 2, предназначенная для запуска Linux, в минимальном варианте выглядит примерно так: menuentry "Linux" { set root=(hd0.3) linux /boot/vmlinuz-n.n.n root=... ro quiet splash initrd /boot/initrd.img-n.n.n } set root указывает раздел, в котором находится ядро и initrd-файл. Ключевые слова linux и initrd задают имена файлов относительно раздела диска. Указанные параметры передаются ядру. Обязательно требуются root для указания системного раздела и го, чтобы доступ к системному разделу был открыт сразу только для чтения. Все остальные параметры специфичны для конкретных дистрибутивов. Вот примеры: Debian6 - root=/dev/xxx го quiet; Fedora 17 - roo=/dev/ххх го rhgb quiet LANG-... SYSFONT=... KEYTABLE=...; openSUSE 12.2 - root=UUID=xxx resume=/dev/xxx splash=silent showopts video=nxn quiet; Ubuntu 12.10 - root=UUID=xxx ro quiet splash. Если в системе есть отдельный загрузочный раздел, то укажите его с помощью set root. В таком случае в linux и initrd уже не требуется задавать загрузочный каталог: menuentry "Linux - Mit eigener Bootpartit-on" { set roo:=(hd0.2) linux /vmlinuz-n.n.n root=... ro quie: splash initrd /initrd.img-n.n.n } |
Запуск Windows.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Для запуска Windows на компьютере с BIOS выберите с помощью set root системный раздел с Windows и запустите его загрузчик, используя chainloader +1. Обратите внимание на то, что Windows версии 7 и выше по умолчанию создает на диске два раздела: один загрузочный раздел размером около 100 Мбайт с файлами bootmgr и bootsect.bak и другой, значительно более крупный, системный раздел. В GRUB требуется указывать загрузочный раздел. Команда search остается опционально. От drivemap, как правило, можно отказаться. Команда пытается «уверить» Windows в том, что система Windows расположена на первом жестком диске, даже если это совсем не так. Иногда требуется в первую очередь запускать именно Windows. menuentry "Windows 7" { set root=(hd0.1) search --no-floppy --fs-uuid --set 12345678... drivemap -s (hd0) $root chainloader +1 } |
Ветвление для работы с загрузчиком EFI.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
На компьютерах с EFI можно прямо из GRUB запускать другой загрузчик EFI. В приведенных далее примерах предполагается, что раздел с EFI является первым разделом первого жесткого диска; если это не так, то нужно соответствующим образом откорректировать set root. menuentry " Запуск загрузчика Windows (EFI)" { insmod part_gpt set root=(hd0.1) chainloader /EFI/Microsoft/Boot/bootmgfw.efi } menuentry "Запуск загрузчика Fedora (EFI)" { insmod part_gpt set root='(hd0.1)' chainloader /EFI/redhat/grub.efi menuentry "Запуск загрузчика Ubuntu (EFI)" { insmod part_gpt set root='(hd0.1)' chainloader /EFI/ubuntu/grubx64.efi } |