Как установить время ожидания grub и выбрать стандартный пункт загрузки grub?

Вопрос или проблема

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

  • Отредактируйте файл /etc/default/grub от имени root. Для этого откройте терминал, нажав Ctrl+Alt+T, и выполните эту команду (вас попросят ввести пароль):

    sudo gedit /etc/default/grub
    
  • Вы увидите следующее содержимое в текстовом редакторе:

    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=""
    
  • Вы можете изменить значение по умолчанию с 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), вы заметите, что первые несколько строк instruct вам выполнить update-grub после внесения изменений, чтобы обновить фактический файл, который grub читает для “получения инструкций” (/boot/grub/grub.cfg). Обратите внимание, что вы должны фактически выполнить его с помощью команды sudo, так как вам нужны права root для выполнения команды (поэтому автор предыдущего поста сказал ввести sudo update-grub). Это приведет к тому, что изменения, которые вы внесли, будут записаны в /boot/grub/grub.cfg. Следующие несколько строк говорят вам, что вы можете прочитать полную документацию по параметрам в этом файле (опять же, /etc/default/grub), введя info -f grub -n 'Simple configuration'.

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

В конце концов, чтобы ответить на ваш вопрос, вот описания тех “скрытых строк grub” прямо из вышеуказанной документации:

GRUB_HIDDEN_TIMEOUT
    Ждать это количество секунд, чтобы нажали клавишу, прежде чем отобразить
    меню. Если клавиша не нажата в это время, загрузка
    немедленно. По умолчанию отключено.

GRUB_HIDDEN_TIMEOUT_QUIET
    В сочетании с `GRUB_HIDDEN_TIMEOUT`, установите это в `true`, чтобы
    подавить подробный обратный отсчет, ожидая нажатия клавиши
    перед отображением меню. По умолчанию отключено.

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

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

Вы можете установить его следующим образом:

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

Если у вас возникают ошибки при добавлении ppa, возможно, grub-customizer уже включен. Попробуйте установить его без добавления ppa.

Существует статья How-To Geek об этом, Как настроить меню загрузки Linux GRUB 2 простым способом. Также есть решенная тема на форумах Ubuntu, Изменить порядок загрузки в GRUB 2, которая упоминает этот инструмент.

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

Скриншот

Скриншот

Использование номера для определения стандартного пункта ввода удивило меня, так как это было представлено в GRUB. Это действительно плохая идея. Есть много ситуаций, которые приведут к изменению нумерации (например, обновления с резервными записями).

Вместо этого используйте SAVED, чтобы запомнить последний выбранный пункт. Обновите /etc/default/grub следующим образом:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Затем примените обновление GRUB с помощью:

sudo update-grub

Ссылка: http://www.gnu.org/software/grub/manual/grub/grub.html#Simple-configuration

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

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

b) В первой записи 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, но вы должны увидеть кнопку сохранения в верхнем правом углу экрана. Нажмите на нее.

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

e) Далее введите sudo update-grub и нажмите Enter

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

g) Перезагрузите систему.

Я обнаружил, что на моем компьютере после нескольких входов в систему процесс загрузки не будет показывать экран 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. Наконец, я перезагрузился в Windows.

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

В 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=hidden

Измените ее на:

GRUB_TIMEOUT_STYLE=menu

И закомментируйте все строки, относящиеся к HIDDEN функциям.

Это тоже не сработало для меня на 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 # закомментируйте это оригинальное
  set timeout=0 # добавьте это
fi

sudo chmod -w /boot/grub/grub.cfg
перезагрузить

Что касается установки стандартного пункта 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. Откройте папку default.
  4. Найдите файл grub и откройте его с помощью leafpad (или любого другого текстового редактора).
  5. Установите GRUB_TIMEOUT на ваше усмотрение и сохраните его.
  6. Теперь откройте терминал и введите update-grub.
  7. Перезагрузите вашу систему.

Вот и все.

Вы можете использовать Boot Selector, графический инструмент для простого задания стандартной загрузки в grub: https://github.com/mfat/bootselector

скриншот bootselector

Ответ или решение

Как установить таймаут GRUB и стандартный загрузочный пункт в Ubuntu 12.04 и выше

Если вы являетесь пользователем Ubuntu 12.04 или более поздней версии и хотите настроить таймаут GRUB (GRand Unified Bootloader) и установить стандартную операционную систему при загрузке в конфигурации с двойной загрузкой Windows (7/8) и Ubuntu, следуйте приведенным ниже инструкциям.

1. Редактирование файла конфигурации GRUB

Откройте терминал, нажав комбинацию клавиш Ctrl+Alt+T. Введите следующую команду для редактирования файла конфигурации GRUB:

sudo gedit /etc/default/grub

Вам будет предложено ввести пароль для получения прав администратора.

2. Настройка значений

В текстовом редакторе вы увидите следующие строки:

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=""
  • Изменение стандартного пункта загрузки: Вы можете поменять значение GRUB_DEFAULT с 0 на номер, соответствующий пункту в меню GRUB (первый пункт — 0, второй — 1 и так далее). Например, чтобы установить Windows в качестве стандартного, необходимо найти соответствующее значение.

  • Настройка таймаута для GRUB: GRUB_TIMEOUT определяет, сколько секунд GRUB будет ожидать выбора, прежде чем загрузить стандартный пункт. Установите это значение на нужное количество секунд, например 10.

  • Отображение списка загрузки: Для отображения списка загрузки измените параметры GRUB_HIDDEN_TIMEOUT на 0 и GRUB_HIDDEN_TIMEOUT_QUIET на false. Это позволит увидеть меню GRUB.

  • Чтобы сделать изменения постоянными, добавьте (или измените) следующую строку для того, чтобы запоминался последний выбранный пункт:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

3. Сохранение и обновление конфигурации GRUB

Сохраните ваши изменения, нажимая Ctrl + S, и закройте редактор, нажав Ctrl + Q. Затем выполните следующую команду в терминале, чтобы применить изменения:

sudo update-grub

Эта команда обновит файл /boot/grub/grub.cfg, который GRUB использует для отображения меню.

4. Перезагрузка системы

Теперь вы можете перезагрузить компьютер:

sudo reboot

После перезагрузки ваша система должна загрузиться с учетом ваших изменений: таймаут и стандартный пункт загрузки должны быть установлены в соответствии с вашими записями в файле /etc/default/grub.

5. Альтернативные инструменты

Помимо редактирования конфигурационных файлов вручную, вы также можете использовать графические инструменты для упрощения этого процесса. Например, Grub Customizer позволяет пользователям без особых знаний в командной строке легко настраивать параметры GRUB. Для его установки используйте:

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

Заключение

Теперь вы обладаете знаниями для настройки таймаута и стандартного пункта загрузки в GRUB на вашем компьютере с двойной загрузкой Windows и Ubuntu. Если вас интересуют дополнительные детали, вы можете обратиться к официальной документации GRUB или специализированным форумам.

Оцените материал
Добавить комментарий

Капча загружается...