Як встановити тайм-аут grub та запис завантаження за замовчуванням grub?


191

Як в Ubuntu 12.04 (або вище) встановити час GRUB та ОС за замовчуванням (що я бачу під час завантаження), оскільки я підключаюсь до ОС Windows (7/8) та Ubuntu (12.04 або вище)?


Чи можете ви дати більше інформації. Що ви маєте на увазі під терміном "grub time" і який ваш os os. У вашому меню grub, якими є різні рядки?
Жульєн Чау

1
час витримки означає час відліку часу, коли мені потрібно вибрати ОС на початковому екрані BIOS. Вибачте, але я не знаю точно, як називається це меню вибору ОС, тому я розмістив його як час груби.
метеори

Відповіді:


227
  • Натисніть 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 || відлуння Debian`
    GRUB_CMDLINE_LINUX_DEFAULT = "тихий сплеск"
    GRUB_CMDLINE_LINUX = ""
    
  • Ви можете змінити типовий з 0 на будь-яке число, що відповідає запису в меню завантаження Grub (перший запис - 0, другий - 1 і т.д.)

  • Ви можете змінити "прихований тайм-аут" (без меню); а також відобразити зворотний відлік ( GRUB_HIDDEN_TIMEOUT_QUIET=false)
  • Ви можете змусити меню показувати, прокоментувавши два GRUB_HIDDENрядки з a #на початку рядка
  • І встановіть тайм-аут меню меню, що запускається (за замовчуванням 10 секунд)

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

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

Пов'язане запитання:


Дякую, @Raja, але головна відмінність була grub / grub2. Якби у вас був правильний gru2, я б із задоволенням відредагував вашу відповідь, а не інший :)
Останній

дякую, що ваша відповідь спрацювала, але можете, будь-ласка, поясніть мені другий і третій пункт (прихований тайм-аут та приховані лінії), для чого вони призначені.
метеори

2
Будь-ласка, не рекомендуйте нікому змінювати параметр grub за замовчуванням, встановивши довільний індекс. Це жахливо неінтуїтивно і може призвести до катастрофи. Користувач може ввести неправильний або він може змінитися під час оновлення, що призведе до несподіваної поведінки.
Серін

2
Для цього потрібне оновлення, пов'язане з подвійним рівнем поточного меню груб.
Ханну

1
@ Cerin, що ти тоді пропонуєш?
Blauhirn

30

Якщо ви прочитаєте файл, який ви редагуєте, у наведеному вище прикладі (/ 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.

Я сподіваюся, що це допомагає!


14

Ви можете використовувати програму під назвою 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 Easy Way . Також на форумах Ubuntu є вирішена тема, змінити порядок завантаження в GRUB 2, який згадує цей інструмент.

Ось кілька знімків екрану цього програмного забезпечення:

екран_1

екран_2

екран_3


1
Для цього потрібне оновлення, пов'язане з подвійним рівнем поточного меню груб.
Ханну

5

Я дотримувався першої відповіді, але, здається, потрібно оновити, якщо ви подвійно завантажуєтесь з Windows 7 Pro та Ubuntu 16.04. Також переконайтесь, що захищене завантаження вимкнено в BIOS.

а) По-перше, він каже, що використовуй Alt+, F2коли я думаю, що хоче використовувати для відкриття вікна терміналу. У моєму випадку це Ctrl+ Alt+ T.

б) У першому записі команда не встановлюється за умовчанням в Ubuntu 16.04 . Щоб обійти це, зробіть наступне в Терміналі:gksudo gedit /etc/default/grubgksudo

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

потім введіть:

gedit /etc/default/grubі натисніть Enter.

в) Тепер ви побачите меню зміни груб, як показано у відповіді 1. Дотримуйтесь його відповіді, поки він не потрапить до Ctrl+, Sщоб зберегти зміни. Це не працює в Ubuntu 16.04, але ви повинні побачити кнопку збереження у верхньому правому куті екрана. Натисніть на це.

г) Ctrl+ Qкинути.

д) Наступний тип sudo update-grubіEnter

f) Тип 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. Нарешті я перезавантажився назад у вікна.

Я сподіваюся, що це допомагає.


Чи можете ви посилання на "проілюстровано у відповіді 1" - я не зміг знайти те, що ви мали на увазі.
Том Хейл

Також "я пішов за першою відповіддю". Ви можете зробити приклад мого формату "Кредит до:". Чудовий перший пост. Ласкаво просимо до AskUbuntu.
Том Хейл

У мене були перерви в X-вікнах дивними способами під час роботи графічних додатків, таких як gedit як sudo. Я пропоную використовувати текстовий редактор на зразок nano.
Артур Такка

2
Alt+F2- це ярлик для єдності для запуску команди у фоновому режимі. У меню, яке відкриється, ви можете ввести будь-яку команду, як і в терміналі. Але оскільки він не відкриває термінал, ви не побачите жодного термінального виходу і не зможете взаємодіяти з терміналом. Ось чому ви зазвичай використовуєте його для таких речей, як запуск програми GUI, наприклад, gedit. Також ви не можете використовувати sudo, оскільки для цього вам потрібен термінал. Ось чому вони використовують gksudo(судо GUI). Якщо ви виконуєте команди в терміналі, ви можете просто використовувати звичайне sudoтак: sudo gedit /etc/default/grubнемає необхідності sudo -i.
Себастьян

@Sebastian Для запуску графічного додатка sudo -Hкраще , тобто sudo -H gedit /etc/default/grub.
wjandrea

2

Використання запису за замовчуванням на основі числа мене здивувало з моменту його введення в GRUB. Це дійсно погана ідея. Як щодо оновлення ядра та автоматичної переконфігурації grub? Як щодо необізнаних користувачів, які віддають перевагу вступу в кінці списку? Оновленнями буде порушено цю конфігурацію на основі номерів за замовчуванням.

Замість цього скористайтеся опцією Збережений тут, щоб запам'ятати останню обрану запис:

GRUB_DEFAULT=SAVED
GRUB_SAVEDEFAULT=TRUE

Потім застосуйте GRUB за допомогою

sudo update-grub

1
Не велика проблема, але це не пояснює, як і де вносити ці зміни. Ви можете зв’язати іншу відповідь.
wjandrea

1

Це також не працює для мене 16.04.

Але я виправив це, змінивши файл /boot/grub/grub.cfg

sudo vim /etc/default/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

0

Це можна зробити легко, без будь-яких кодів. Просто виконайте ці кроки.

  1. Відкрити файлову систему.
  2. Відкрити /etcпапку.
  3. Відкрити defaultпапку.
  4. Знайдіть grubфайл і відкрийте його leafpad(або будь-який інший редактор тексту).
  5. Встановіть GRUB_TIMEOUTсвою потребу і збережіть її.
  6. Тепер відкрийте термінал і введіть update-grub.
  7. Перезавантажте систему.

Це воно.


0

Я думаю, у вас є такий рядок: GRUB_TIMEOUT_STYLE = приховано

Змініть його на GRUB_TIMEOUT_STYLE = меню

І прокоментуйте всі рядки щодо прихованих функцій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.