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, ви можете запустити той самий сценарій, що і в цьому середовищі, якщо хочете. Сподіваюся, що це допомагає.