Используя превосходные ответы от этого потока я смог запланировать начальную загрузку в различные Ose в разное время дня.
Однако я хотел бы надеть совет сообщества, как загрузиться в Ubuntu в рабочие дни и Windows по выходным без trial-erroring сам в облицованный кирпичом ноутбук.
Мое существующее /boot/grub/custom.cfg
похож на это:
insmod datehook
if [ $MINUTE -lt 10 ]; then PADDING="0"; else PADDING=""; fi
TIME=$HOUR$PADDING$MINUTE
if [ $TIME -ge 0 -a $TIME -lt 559 ]; then
set default="Windows Boot Manager (on /dev/nvme0n1p2)"
fi
if [ $TIME -ge 1000 -a $TIME -lt 1659 ]; then
set default="Ubuntu"
fi
if [ $TIME -ge 1700 -a $TIME -lt 2359 ]; then
set default="Windows Boot Manager (on /dev/nvme0n1p2)"
fi
Даже если кто-то знает о режиме песочницы, который позволит мне эмпирическому мой путь к ответу, это было бы большим, но я буду также ценить некоторый вход лучшей практики от сообщества.
Спасибо!
Если Вы хотите экспериментировать с личинкой, можно использовать командную строку личинки (хит c
когда Вы находитесь в меню личинки). Необходимо видеть подсказку личинки:
grub>
Если бы Вы хотите быть безопасными для экспериментирования, я предложил бы использовать виртуальную машину (с VirtualBox, например).
Однажды в интерфейсе командной строки личинки, можно войти, команды как Вы были бы в Вашем /boot/grub/custom.cfg
.
grub> insmod datehook
grub> date
Я не нашел datehook документацию модуля; однако, исходный код datehook показывает этому a $WEEKDAY
переменная доступна.
grub> echo $WEEKDAY
Так, можно сделать
grub> if [ $WEEKDAY = "saturday" -o $WEEKDAY = "sunday" ]; then
echo "Setting Windows as default"
set default="Windows Boot Manager (on /dev/nvme0n1p2)"
else
echo "Setting Ubuntu as default"
set default="Ubuntu"
fi
Знайте, что $WEEKDAY мог бы быть локализован, таким образом протестируйте перед использованием этого кода.
Если Вы не используете QWERTY-клавиатуру, следуете этим инструкциям для установки контурной карты в личинке: Как измениться, командная строка личинки (копайте оболочку), раскладка клавиатуры?