
У меня система с двойной загрузкой Ubuntu/Windows. Я хочу заблокировать себя от Windows в будние дни. Я собрал этот пользовательский grub, чтобы пропускать меню grub в будние дни, и сохранил в /boot/grub/custom.cfg. Он отлично работает в будние дни, но сейчас суббота, и он все равно переходит прямо в Ubuntu.
# This module creates special variables that return the current date/time
insmod datehook
# Boot "Ubuntu" on weekdays
set default="Ubuntu"
if [ $DAY != SUNDAY -a $DAY != SATURDAY ]; then
set GRUB_TIMEOUT=0
set timeout=0
set GRUB_HIDDEN_TIMEOUT_QUIET=true
fi
решение1
Камил Мациоровски в комментариях прав.
Если вы посмотрите на код модуля datehook (связь), вы можете видеть, что DAY
переменная на самом деле является днем месяца. Здесь вам нужно WEEKDAY
. Также я не уверен, но названия дней недели могут быть просто "Sunday", "Saturday", без полной заглавной буквы, потому чтоздесьвы можете увидеть, как grub_weekday_names
инициализируется.