Заставить «сохраненные по умолчанию» работать с GRUB2…?


8

Я только что установил операционную систему Moblin. Это использует GRUB2. На моей Ubuntu 8.04 использовался GRUB 0.97, в котором я с комфортом использовал опцию сохранения по умолчанию . Я обнаружил, что с GRUB2 я не должен редактировать /boot/grub/menu.lst напрямую, но я сделал :), потому что мой Moblin не содержит / etc / default / grub, где говорят, что я должен сделать модификацию, которую я хочу.

Итак, я сделал следующее, что не сработало:

default=saved
timeout=1
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
#hiddenmenu
#silent
title Moblin (2.6.31.5-10.1.moblin2-netbook)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.31.5-10.1.moblin2-netbook ro root=/dev/sda1 vga=current
        savedefault=1

title Pathetic Windows
        rootnoverify (hd0,1)
        chainloader +1
        savedefault=0

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

Почти все специалисты по устранению неполадок в Интернете говорят, что я должен включить опцию DEFAULT = save в / etc / default / grub, но я не могу найти этот файл. Есть идеи, что еще мне делать?

большое спасибо

Обновить:

Я использовал знак равенства, потому что по умолчанию в моем menu.lst была запись по умолчанию = 0 . Тем не менее, по умолчанию 0 , также работает нормально.

Более того, menu.lst , который у меня есть, на самом деле является символической ссылкой на ./grub.conf . Я также заметил, что команды grub-intall и grub-set-default не работают.


Вы используете нумерацию на основе 0 для разделов диска - это не похоже на GRUB2, это похоже на Legacy GRUB.
Эфимент

если у вас есть работающий /boot/grub/menu.lst, вы не используете Grub2. Grub2 использует /boot/grub/grub.cfg . вы можете увидеть оба файла конфигурации, если вы обновились до Grub2 из более старой установки, которая использовала Grub1.
шарлатан-кихот

Ответы:


19

Правильный синтаксис для включения savedefaultв /etc/default/grub(GRUB 2) следующий:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

а не с той строкой, DEFAULT=saveкоторую предложил исследователь.

После добавления двух приведенных выше строк /etc/default/grubнеобходимо обновить конфигурацию GRUB как суперпользователя следующими командами:

grub-mkconfig
update-grub

По крайней мере, в Lubuntu 12.10 grub-mkconfigон не нужен (так как он без параметров сбрасывает файл конфигурации в стандартный вывод). Единственная необходимая команда, update-grubкоторая на самом деле вызывает grub-mkconfigправильную -o fileопцию.


Одна деталь заключается в том, что, по крайней мере, в Ubuntu записи memtest не будут сохранены, если вы решите попробовать их для быстрого тестирования этой функции ...
Дорогой

1

Я не уверен, разрешает ли GRUB =знак; моя конфигурация читает default saved.

Ваша проблема заключается в том, что Pathetic Windowsзапись не выполняется savedefault, поэтому запись по умолчанию никогда не изменяется на Windows.

Редактировать : Кроме того, savedefaultпо умолчанию сохраняется текущая запись; только если вы дадите ему номер, он сохранит другую запись, отличную от текущей.

Попробуй это:

default saved
timeout 1
#splashimage (hd0,0)/boot/grub/splash.xpm.gz
#hiddenmenu
#silent
title Moblin (2.6.31.5-10.1.moblin2-netbook)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.31.5-10.1.moblin2-netbook ro root=/dev/sda1 vga=current
        savedefault

title Pathetic Windows
        rootnoverify (hd0,1)
        chainloader +1
        savedefault

Я не знаю Moblin, но в других дистрибутивах обычно есть файл конфигурации где-то в /boot/grub, а не в /etc.


Сначала я бы поставил команду savedefault, поскольку мне неясно, будут ли вызовы загрузчика

Я использую знак равенства, потому что по умолчанию в моем menu.lst была запись по умолчанию = 0. Тем не менее, по умолчанию 0, также работает нормально. Более того, menu.lst, который у меня есть, на самом деле является символической ссылкой на ./grub.conf. Я также проверил, что команды grub-intall и grub-set-default не работают.

Смотрите также мое редактирование. Вы не должны давать savedefaultномер.

синтаксис savedefault Nне savedefault=N(опять же, если вы хотите сохранить другую запись в качестве значения по умолчанию - если вы хотите текущую запись, Nотключите).
Квик-кихот

+1 Потому что у меня это сработало (хотя ОП спрашивал о grub2)
13
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.