У меня установлена двойная загрузка Ubuntu - Windows 7, и я хотел бы, чтобы мой ноутбук загружал Windows 7, если я не нажму клавишу Shift сразу после загрузки и не открою меню Grub2, из которого я могу выбрать Ubuntu.
Я исследовал на GRUB2 и варианты , etc/default/grub
и я пытался играть с комбинациями с GRUB_TIMEOUT
и GRUB_HIDDEN_TIMEOUT
значениями, но безрезультатно. Я попытался установить значение GRUB_HIDDEN_TIMEOUT
выше, чем GRUB_TIMEOUT
ожидалось, что оба обратного отсчета начнутся одновременно, а нет - GRUB_TIMEOUT
начнутся только после завершения другого.
Это поведение достижимо?
Если так, то как?
Ответы:
Я думаю, что я нашел более простое решение. Измените следующие строки в файле / etc / default / grub:
GRUB_HIDDEN_TIMEOUT = 0.0
GRUB_TIMEOUT = 0.0
Конечно, мы наконец запустили обновление-grub. Это работает на моем ПК.
источник
Это для Ubuntu 16.04.
Я решил это с небольшой комбинацией некоторых ответов, найденных выше, поэтому нет необходимости изменять 30_os-prober, чтобы избежать будущих слияний при обновлении пакета grub ...
Надеюсь, это поможет.
Изменены некоторые переменные в / etc / default / grub, чтобы они отражали то, что я хочу;
Затем создал новый файл;
наполнил это этим содержанием;
и обновил grub;
Приветствия.
источник
В Kubuntu 14.04 это не работает, если вы установите
GRUB_TIMEOUT= 0
, как ни странно, после применения этого и перезагрузки, меню grub остается видимым в течение 10 секунд.Причина этого в том, что в другом скрипте grub есть фрагмент кода, который устанавливает grub_timeout равным 10, если он имеет значение 0.
Так вот как я заставил это работать:
сделайте копию обоих
grub
и30_osprober
файлов !!! Когда что-то идет не так, вы можете положить исходные файлы обратноВ
/etc/default/grub
в
/etc/grub.d/30_os-prober
, есть фрагмент кода, который устанавливает тайм-аут grub на 10 с, если он установлен в ноль/etc/default/grub
, я не знаю, почему разработчики помещают его туда, но он не позволяет скрыть меню grub.После этих изменений запустите
sudo update-grub
для создания новой последовательности загрузки grub.Я документирую все свои исправления / моды для Linux на https://sites.google.com/site/marcshomesite/Home/linux-tuning
источник
=
вGRUB_TIMEOUT= 0
.Для автоматической загрузки Windows без необходимости выбора из меню GRUB нам нужно отредактировать
/etc/default/grub
файл со значениями, подобными этим:Всегда полезно сделать резервные копии этих файлов перед их редактированием. После внесения изменений нам нужно активировать их
Значения для GRUB_DEFAULT зависят от нашей отдельной системы. Чтобы всегда загружать Windows, мы можем
"Microsoft Windows XP Professional"
вместо имени записи указать имя записи точно так, как оно было показано в меню Grub (например ).Важное примечание: на некоторых машинах меню GRUB не может отображаться при нажатии и удерживании левой кнопки Shiftпри загрузке (см. Ошибка # 425979 ). Поэтому может быть хорошей идеей сначала проверить это с загрузкой Ubuntu (не Windows), установленной в качестве ОС по умолчанию. Тогда вы сможете легко отменить свои настройки GRUB в случае, если вы затронуты.
источник
Я пытался сделать то же самое, и я нашел большую помощь на форумах Ubuntu, особенно в этой теме.
Предполагая, что вы все сделали правильно
/etc/default/grub
, правильно установивGRUB_TIMEOUT
иGRUB_HIDDEN_TIMEOUT
(и я бы сказал, соответственно, 0 и 5) и дажеGRUB_DEFAULT
указав образ по умолчанию для загрузки, вот процедура для правильной работы.Добавьте эти строки
до конца
/etc/default/grub
Сделайте
/etc/grub.d/30_os-prober
резервную копию вашего и перезаписать его с версией, найденной здесьПопробуй это! Для отображения меню нажмите
SHIFT
клавишуЭта проблема связана с настройкой нескольких ОС, и редактирование сценария является одним из способов исправить это.
30_os-prober :
источник
sudo update-grub
после изменения/etc/default/grub
файлаНа Ubuntu 16.04 я сделал следующие изменения. Конечно, для этого вам нужно быть привилегированным пользователем.
Первое изменение в
/etc/grub.d/30_os-prober
файле:sudo gedit /etc/grub.d/30_os-prober
quick_boot="1"
наquick_boot="0"
После этого вы можете установить значения тайм-аута в
/etc/default/grub
ноль или другое значение:sudo gedit /etc/default/grub
GRUB_HIDDEN_TIMEOUT=0
иGRUB_TIMEOUT=0
.Последний шаг - обновить grub.
sudo update-grub
Изменения в первом файле вызваны тем, что по умолчанию установлено, что при обнаружении других ОС (например, Windows 10) значение времени ожидания всегда устанавливается равным 10 секундам и поэтому не может быть изменено с помощью
/etc/default/grub
. Это достигается с помощью функции с именем,adjust_timeout
которая спрашивает,quick_boot
установлена ли и присутствует ли другая ОС.источник
установить оптимизатор grub
Grub Customizer теперь будет отображаться в меню «Приложения»> «Системные инструменты».
Или вы можете открыть его из командной строки.
источник
etc/default/grub
?grub-customizer
(не «оптимизатор»), и во время работы это не помогает мне скрыть меню GRUB, если не нажата клавиша Shift.У меня была такая же проблема на одной загрузочной системе. Если GRUB_TIMEOUT был ненулевым, меню всегда будет отображаться независимо от GRUB_HIDDEN_TIMEOUT. Если GRUB_TIMEOUT был равен нулю, он не будет работать в течение GRUB_HIDDEN_TIMEOUT секунд, но ни SHIFT, ни ESC не отобразят меню.
Я исправил это, добавив условие else к статистике сна в конце Adjust_time () в 30_os-prober. Теперь, если оно не прервано, время ожидания равно нулю, и оно загружается без меню, но если оно прервано, я устанавливаю время ожидания равным 10.
Это на самом деле кажется обратным, поскольку сон должен возвращать 0 (false), если он не прерван, и 1 (true), если он есть, но, похоже, он работает для меня.
источник
Создание загрузочного меню GRUB2 в автоматическом режиме
По некоторым причинам редактирование
GRUB_GFXMODE=640x480
настроек в Grub Customizer обычно делает меню загрузки видимым:Я понятия не имею, почему это сработало для меня, но это сработало на обоих моих компьютерах, так что, надеюсь, это сработает и для вас!
источник
Shasteriskt, одна из альтернатив решения 'SHIFT' - просто создать скрипт, который выполняет некоторые операции перемещения для вас. Я имею в виду создание файла,
grub.bak
который называется точной копией вашегоgrub.cfg
файла, с той лишь разницей, что, например,set timeout=0
строка изменяется наset timeout=10
. Создайте сценарий оболочки, который выполняет переключение, позволяющее вам перезагрузиться в соответствии с вашими потребностями. Я создал эквивалентный скрипт на python, который отвечает этим требованиям, но, конечно, его нужно вызывать с помощьюsudo
. Я просто включил его в/usr/bin
мои настройки как символическую ссылку на сам скрипт. Примечание: я запускаю fluxbox на Arch, поэтому я не уверен, есть ли какие-либо расхождения между этим сценарием и Ubuntu, но я думаю, что изменений должно быть мало или вообще нет. Сценарий выглядит так:Сценарий в основном просто определяет, есть ли у вас меню для загрузки или нет (автозагрузка или нет). Основываясь на полученных данных, он спрашивает вас, хотите ли вы включить или выключить его, а затем спрашивает, хотите ли вы перезагрузить компьютер. И наоборот, если вы хотите, чтобы он работал наоборот (то есть в Windows), и у вас есть Windows, настроенная для доступа к файлам в Linux, вы можете запустить тот же сценарий и в этой среде, если хотите. Надеюсь, это поможет.
источник
Так что даже если вы установите GRUB_TIMEOUT на 0, если у вас есть GRUB_HIDDEN_TIMEOUT, 30_os-prober установит тайм-аут на 10, нравится вам это или нет. Другие решения здесь редактируют этот скрипт, но это может вызвать проблемы с обновлением, которые вам придется объединить, если GRUB обновлен.
Лучшее решение: напишите следующее
/etc/grub.d/50_goddamnit
(новый файл):По сути, это будет выполнено последним и будет последней строкой в /boot/grub/grub.conf, тем самым переопределяя все остальные глупые ошибки в конфигурации по умолчанию.
источник