Как получить grub2, чтобы запомнить последний выбор?

71

Grub2 - Документация сообщества Ubuntu говорит следующее:

  

Сохранение ОС может быть достигнуто путем запуска sudo grub-set-default, если   DEFAULT = сохраняется в / etc / default / grub. Он также может быть сохранен, если   GRUB_SAVEDEFAULT = true также устанавливается в / etc / default / grub. В этом случае,   ОС по умолчанию остается до тех пор, пока новая ОС не будет выбрана вручную из   GRUB 2 или команда grub-set-default.

Я положил строки DEFAULT=saved AND GRUB_SAVEDEFAULT=true в /etc/default/grub и побежал sudo grub-set-default . Вот результат:

$ sudo grub-set-default
entry not specified.
Usage: grub-set-default [OPTION] entry
Set the default boot entry for GRUB.

  -h, --help              print this message and exit
  -v, --version           print the version information and exit
  --boot-directory=DIR    expect GRUB images under the directory DIR/grub
                          instead of the /boot/grub directory

ENTRY is a number or a menu item title.

Report bugs to <[email protected]>.

Я не правильно слежу за документацией? Каков правильный способ сделать это?

    
задан Jay Sullivan 09.06.2012 в 19:47
источник

4 ответа

107

Документация в этом случае неверна. Все переменные в /etc/default/grub начинаются с GRUB_ , поэтому это GRUB_DEFAULT=saved , not DEFAULT=saved . Я исправил Ubuntu wiki, чтобы это отразить.

Официальное руководство grub описывает это правильно: Ссылка

Поместите следующее в /etc/default/grub :

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Затем запустите:

sudo update-grub
    
ответ дан Jordan Uggla 11.06.2012 в 21:47
источник
2

Вы забываете номер (т. е. «ВХОД - это номер или заголовок пункта меню» в тексте).

sudo grub-set-default 1

для опции 1 по умолчанию.

Всегда запустите sudo update-grub после изменения файла /etc/default/grub , чтобы применить изменения.

    
ответ дан Rinzwind 09.06.2012 в 19:50
1

В моем случае он не работал для записей, определенных через /etc/grub.d/40_custom , в которых отсутствовала строка savedefault .

menuentry "Chameleon" {
    savedefault ### <<<< this must be added
    set root="(hd1)"
    chainloader +1
}
    
ответ дан ccpizza 14.09.2015 в 20:37
0

saveefault не будет работать, если в автогенерации grub.cfg нет соответствующего заголовка

Чтобы создать правильный заголовок, вам нужно установить в / etc / default / grub

GRUB_DEFAULT=saved

и сделайте grub-mkconfig, чтобы заменить вашу копию grub.cfg

grub-mkconfig -o /boot/grub.cfg

savedefault от Grub 2.02 не требует дополнительных аргументов

В файле grub.cfg можно увидеть источник спасброска

    
ответ дан Dblmok 08.09.2017 в 21:30