Shasteriskt, одна из альтернатив решения 'SHIFT' - просто создать скрипт, который выполняет некоторые операции перемещения для вас. Я имею в виду создание файла, grub.bak
который называется точной копией вашего grub.cfg
файла, с той лишь разницей, что, например, set timeout=0
строка изменяется на set timeout=10
. Создайте сценарий оболочки, который выполняет переключение, позволяющее вам перезагрузиться в соответствии с вашими потребностями. Я создал эквивалентный скрипт на python, который отвечает этим требованиям, но, конечно, его нужно вызывать с помощью sudo
. Я просто включил его в /usr/bin
мои настройки как символическую ссылку на сам скрипт. Примечание: я запускаю fluxbox на Arch, поэтому я не уверен, есть ли какие-либо расхождения между этим сценарием и Ubuntu, но я думаю, что изменений должно быть мало или вообще нет. Сценарий выглядит так:
#! /usr/bin/python
from shlex import split
from subprocess import call
from os import rename, chdir
chdir('/boot/grub/')
try:
with open('grub.bak','r') as alternate:
pass
if raw_input('Auto-boot is set. Un-set?> ') == 'y':
rename('grub.cfg','grub.back')
rename('grub.bak','grub.cfg')
if raw_input('Reboot system?> ') == 'y':
call(split('shutdown -r now'))
except:
if raw_input('Auto-boot is not set. Set?> ') == 'y':
rename('grub.cfg','grub.bak')
rename('grub.back','grub.cfg')
if raw_input('Reboot system?> ') == 'y':
call(split('shutdown -r now'))
Сценарий в основном просто определяет, есть ли у вас меню для загрузки или нет (автозагрузка или нет). Основываясь на полученных данных, он спрашивает вас, хотите ли вы включить или выключить его, а затем спрашивает, хотите ли вы перезагрузить компьютер. И наоборот, если вы хотите, чтобы он работал наоборот (то есть в Windows), и у вас есть Windows, настроенная для доступа к файлам в Linux, вы можете запустить тот же сценарий и в этой среде, если хотите. Надеюсь, это поможет.