ИМХО удаленная железяка не должна сама генерировать конфиги загрузчика ядра. И иметь возможность их изменять во время загрузки.
При умолчальном поведении
GRUB_DEFAULT='saved'
GRUB_SAVEDEFAULT=true
Груб запомнит последнее загруженное ядро, вернее запишет (попытается) его в grubenv (со своими тараканами система). Если что то будет не так (а может быть многое), будет ждать ввода пользователя.
Быстрый выход - загрузка первой (0) записи из конфига, это всегда последнее ядро, можно скрыть меню.
GRUB_DEFAULT=0
GRUB_SAVEDEFAULT=false
# Set normal timeout
GRUB_TIMEOUT=2
# Set hidden timeout (do not show menu)
GRUB_HIDDEN_TIMEOUT=2
# Show timeout counter when hidden
GRUB_HIDDEN_TIMEOUT_QUIET=TRUE
А вообще, если машина удаленная, то отключать автоконфигурацию груба. не нужна она. Все одно сможете загрузить только одно ядро, значит оставлять минимальный конфиг, типа
/boot/grub/grub.cfg : (ПРИМЕР ИЗ ГОЛОВЫ!!!)
# по-умолчанию выбран пункт меню 0
set default=0
# при бездействии пользователя он загрузится через 2 секунд
set timeout=2
# пункт меню номер 0
menuentry "ALT" {
linux /boot/vmlinuz root=UUID=4e2f7b40-d8ca-4156-b106-aaaaaaaaaaaaaaa ro panic=30 systemd.unit=graphical.target quiet loglevel=3
initrd /boot/initrd.img
}