Как установить время ожидания grub и загрузочную запись grub по умолчанию?

В Ubuntu 12.04 (или выше), как мне установить время GRUB и операционную систему по умолчанию (которую я вижу во время загрузки), поскольку у меня двойная загрузка Windows (7/8) и Ubuntu (12.04 или выше)?

10 ответов

  • Нажмите Alt + F2, введите gksudo gedit /etc/default/grub нажмите Enter и введите свой пароль.
  • Вы увидите следующее содержимое:

    GRUB_DEFAULT = 0
    GRUB_HIDDEN_TIMEOUT = 0
    GRUB_HIDDEN_TIMEOUT_QUIET = верно
    GRUB_TIMEOUT=10
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="тихий всплеск"
    GRUB_CMDLINE_LINUX=""
  • Вы можете изменить значение по умолчанию с 0 на любое число, соответствующее записи в меню загрузки Grub (первая запись - 0, вторая - 1 и т. Д.)

  • Вы можете изменить "скрытый тайм-аут" (без меню); а также отобразить обратный отсчет (GRUB_HIDDEN_TIMEOUT_QUIET=false)
  • Вы можете заставить меню grub показывать, комментируя два GRUB_HIDDEN линии с # в начале строки
  • И установить тайм-аут меню Grub (по умолчанию 10 секунд)

  • Внесите изменения, нажмите Ctrl + S для сохранения и Ctrl + Q для выхода

  • Важно: откройте терминал с помощью Ctrl + Alt + T и введите sudo update-grub применить изменения, которые вы только что сделали
  • Перезагрузитесь, и вы увидите изменения времени ожидания / записи по умолчанию

Связанный вопрос:

Если вы прочитаете файл, который вы редактируете в приведенном выше примере (/etc/default/grub), вы заметите, что самые первые две строки инструктируют вас запустить update-grub после внесения изменений, чтобы обновить фактический файл, который читает grub, чтобы "получить его инструкции" (/boot/grub/grub.cfg). Обратите внимание, что вы должны запустить его с sudoСначала выполните команду, так как вам нужны права суперпользователя для фактического запуска команды (именно поэтому на приведенном выше плакате написано: sudo update-grub). Это приведет к тому, что сделанные вами изменения будут записаны в /boot/grub/grub.cfg. Следующие несколько строк сообщают вам, что вы можете прочитать полную документацию по опциям в этом файле (опять же, / etc / default / grub), набрав info -f grub -n 'Simple configuration',

Тем не менее, установите GRUB_TIMEOUT в -1, если вы хотите, чтобы "время загрузки" было неопределенным. Другими словами, он никогда не загрузится автоматически. Вам придется сделать выбор.

Наконец, чтобы ответить на ваш вопрос, вот описание этих "скрытых линий" прямо из вышеуказанной документации:

GRUB_HIDDEN_TIMEOUT
    Wait this many seconds for a key to be pressed before displaying
    the menu.  If no key is pressed during that time, boot
    immediately.  Unset by default.

GRUB_HIDDEN_TIMEOUT_QUIET
    In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to
    suppress the verbose countdown while waiting for a key to be
    pressed before displaying the menu.  Unset by default.

Надеюсь, это поможет!

Вы можете использовать приложение под названием Grub Customizer. Это намного проще.

Вы можете установить его:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

Об этом есть статья How-To Geek, Как легко настроить загрузочное меню Linux GRUB 2. Кроме того, на форумах Ubuntu есть решенная тема " Изменение порядка загрузки в GRUB 2", в которой упоминается этот инструмент.

Вот несколько снимков экрана этого программного обеспечения:

screen_1

screen_2

screen_3

Использование записи по умолчанию на основе числа поразило меня с момента ее появления в GRUB. Это действительно плохая идея. Как насчет обновления ядра и автоматической переконфигурации grub? Как насчет неосведомленных пользователей, которые предпочитают запись в конце списка? Обновления нарушат эту конфигурацию по умолчанию на основе номеров.

Вместо этого используйте опцию SAVED, чтобы запомнить последнюю выбранную запись:

GRUB_DEFAULT=SAVED
GRUB_SAVEDEFAULT=TRUE

Затем примените GRUB с

sudo update-grub

Я следовал за первым ответом, но, похоже, нужно обновить, если у вас двойная загрузка с Windows 7 Pro и Ubuntu 16.04. Также убедитесь, что безопасная загрузка отключена в BIOS.

а) Сначала он говорит, что используйте Alt + F2, когда я думаю, что он хочет использовать, чтобы открыть окно терминала. В моем случае это Ctrl + Alt + T.

б) в первой записи gksudo gedit /etc/default/grub gksudo команда не установлена ​​по умолчанию в Ubuntu 16.04. Чтобы обойти это, сделайте следующее в Терминале:

sudo -i и нажмите Enter и введите свой пароль, а затем снова введите Enter.

затем введите:

gedit /etc/default/grub и нажмите Enter.

c) Теперь вы увидите меню смены grub, как показано в ответе 1. Следуйте его ответу, пока он не дойдет до Ctrl + S, чтобы сохранить изменения. Это не работает в Ubuntu 16.04, но вы должны увидеть кнопку сохранения в правом верхнем углу экрана. Нажмите на это.

г) Ctrl + Q, чтобы выйти.

д) следующий тип sudo update-grub и введите

е) Тип exit, Вам нужно сделать это дважды.

г) перезагрузка

Я обнаружил, что на моем компьютере после нескольких входов в систему процесс загрузки не отображал экран grub при запуске, и поэтому я не мог войти в Ubuntu, так как я установил Windows как загрузку по умолчанию с 7-секундной задержкой на случай, если я захочу получить в Ubuntu.

Чтобы исправить эту проблему, вам нужно войти в Windows.

  1. Нажмите на меню "Пуск" и введите CMD в поле поиска.

  2. Щелкните правой кнопкой мыши на строке CMD, которая должна быть в верхней части экрана, созданного правой кнопкой мыши.

  3. Нажмите на запуск от имени администратора.

  4. В командной строке введите bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, Эта запись приводит к регистрации меню grub с помощью менеджера загрузки Windows. (Благодарю: Grub не отображается при запуске Windows 8.1 Ubuntu 13.10 с двойной загрузкой)

  5. Наконец, я перезагрузился обратно в окна.

Надеюсь, это поможет.

В 20.10(по крайней мере) с машиной на базе EFI вам нужно указать GRUB_RECORDFAIL_TIMEOUTкак тайм-аут из-за того, что, на мой взгляд, является ошибкой (https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1918736)

Таким образом, ваш /etc/default/grubдолжно содержать:

      GRUB_RECORDFAIL_TIMEOUT=10

за 10-секундный тайм-аут.

Чтобы обновить конфигурацию grub и проверить правильность вывода:

      sudo update-grub && grep -B3 "set timeout=" /boot/grub/grub.cfg

И вы должны увидеть:

      ...
if [ $grub_platform = efi ]; then
  set timeout=10
...

Я думаю, у вас есть такая строка: GRUB_TIMEOUT_STYLE= скрыто

Измените его на GRUB_TIMEOUT_STYLE = меню

И прокомментируйте все строки, касающиеся скрытых функций.

Это не работает для меня 16.04 тоже.

Но я исправил это, изменив файл /boot/grub/grub.cfg

sudo vim /etc/default/grub

редактировать Grub

sudo update-grub
sudo chmod u+w /boot/grub/grub.cfg
sudo vim /boot/grub/grub.cfg

изменить значение тайм-аута

###segment in /boot/grub/grub.cfg:
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  #set timeout=10 # comment this original
  set timeout=0 # add this
fi

sudo chmod -w /boot/grub/grub.cfg
reboot

О настройке записи Grub по умолчанию, которую вы можете использовать (по крайней мере, в Ubuntu 20+, CentOS 7+ и Debian 10+) grub-set-default.

Вы используете это в сочетании с пунктом меню в вашем grub.cfgфайл (на моей машине хранится на /boot/grub/grub.cfg).

Например, если я хочу загрузить пункт меню:

      menuentry 'GNU/Linux, with Linux 5.10.0-rc5.bm.1-amd64+' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-rc5.bm.1-amd64+-advanced-f3257130-7310-45a9-990b-d0393ee336f5'

Тогда я могу сделать grub-set-default "GNU/Linux, with Linux 5.10.0-rc5.bm.1-amd64+"чтобы установить эту запись по умолчанию. Вы можете убедиться, что это сработало, проверив grubenv(хранится на моей машине по адресу /boot/grub/grubenv). Мой говорит

      saved_entry=GNU/Linux, with Linux 5.10.0-rc5.bm.1-amd64+

Убедитесь, что у вас есть GRUB_DEFAULT=savedв твоей /etc/default/grubфайл.

Вы также можете установить однократную загрузку с помощью команды grub-reboot, так же, как указано выше.

Это можно легко сделать без каких-либо кодов. Просто следуйте этим шагам. 1. Откройте файловую систему. 2. Откройте папку "etc". 3. Откройте папку "по умолчанию". 4. Найдите файл 'grub' и откройте его с помощью leafpad (или любого другого текстового редактора). 5. Установите GRUB_TIMEOUT в соответствии с вашими потребностями и сохраните его. 6. Теперь откройте терминал и введите "update-grub". 7. Перезагрузите вашу систему. Вот и все.

Другие вопросы по тегам