По умолчанию стандартный пункт (выделенный при показе меню) – верхний в списке. После установки Ubuntu вместе с уже установленной системой Windows она окажется наверху, а Windows будет последним пунктом. Можду ними будут пункты загрузки предыдущей версии ядра, средств восстановления и тестирования памяти.
После обновления ядра первым пунктом списка становится загрузка с новым ядром. Это происходит потому, что именно первый пункт загрузки является стандартным по умолчанию.
За очередность, собственно, отвечает параметр “GRUB_DEFAULT” в файле параметров GRUB2 — /etc/default/grub (подробнее в статье «Введение в GRUB2«. Значением его является номер пункта в меню загрузки, который должен быть выбран стандартным, по умолчанию.
Причем нумерация начинается с нуля, то-есть значение по умолчанию параметра “GRUB_DEFAULT” – 0, поэтому и выбирается первый пункт. Для того, чтобы выбрать другой пункт меню по умолчанию, нам нужно узнать, каким по счету он будет в списке.
Тут есть два варианта: просмотреть содержимое “/boot/grub/grub.cfg” и сосчитать, какой по счету окажется нужная запись, или же перезагрузиться и более наглядно посмотреть то же самое в меню загрузки (перед этим побегайте стрелочками по меню, чтобы остановить таймер).
Вторый вариант отличается более наглядным представлением, что проще для неопытного пользователя. в обоих случаях не забывайте о порядке нумерации – 0, 1, 2, 3 и так далее. То есть, пятому сверху пункту будет соответствовать знаение 4, второму – 1, первому – 0. в вышеприведенном примере установлено значение 6, то есть стандартным задан седьмой пункт меню.
Кроме задания конкретного пункта меню, то-есть цифры, есть еще другие интересный варианты. Например, в качестве значения можно указать “saved” – тогда при загрузке будет выбран тот пункт, который был загружен в последний раз.
Или же можно указать точное название пункта. В данном случае оно должно быть именно таким, каким мы его видим в “/boot/grub/grub.cfg”. при этом значение должно указываться в кавычках! Этот способ удобен тем, что после обновления ядра не придется изменять настройки из-за съехавшей нумерации.
Например, если в “grub.cfg” пункт меню выглядит так:
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-c1bbe031-7d6e-463c-adfb-2948f88791e4' { menuentry 'Ubuntu, with Linux 3.16.0-49-generic' --class ubuntu ... ... }
то и значение параметра “GRUB_DEFAULT” должно указываться именно в виде:
GRUB_DEFAULT="Ubuntu,with Linux 3.16.0-49-generic"
По умолчанию меню загрузки отображается 10 секунд, после чего загружается стандартный пункт (если раньше не нажат enter и не выбран другой пункт, что останавливает таймер).
За эту задержку отвечает параметр “GRUB_TIMEOUT” (не путайте с “GRUB_HIDDEN_TIMEOUT”!). Значение задержки задается в секундах. Цифра указывается в кавычках. Если значение – “2”, то меню отображается две секунды.
Кроме того, есть небольшая хитрость. Если поставить значение “-1”, то меню будет отображаться до тех пор, пока пользователь не выберет какой-либо пункт.
Есть еще такое понятие как «скрытое меню», за которое отвечает параметр «GRUB_HIDDEN_TIMEOUT». В случае, когда установлены другие ОС, этот параметр закомментирован (# в начале строки). В случае с единственной ОС он будет активен. Значение его задает задержку в секундах, на которое GRUB2 приостановит загрузку, давая пользователю возможность вызвать меню загрузки, нажав Escape.
Если значение установлено в 0, то задержки не будет,однако пользователь все равно сможет вызвать отображение меню, удерживая при загрузке клавишу shift.
Параметр “GRUB_HIDDEN_TIMEOUT_QUIET” отвечает за отображение таймера во время паузы. При значении “true” таймер показан не будет, а при “false” – будет отображаться.