GRUB_DEFAULT=4
Я так понимаю, чтобы по умолчанию загружалась Windows.
Не знаю точно, как происходит нумерация пунктов меню. Учитывается подменю или нет, считает в подменю или нет. Чтобы не угадывать, здесь можно указать название конкретного пункта меню, например:
GRUB_DEFAULT="Windows 11 (on /dev/sdb1)"
Мне больше нравится такой вариант:
GRUB_DEFAULT="saved"
По умолчанию, будет выбран пункт, который удачно загрузился в предыдущий раз.
GRUB_TIMEOUT=3
Вообще, многие считают, что это самый главный файл. Нет, он самый первый. Что задано в нём, переопределяется после несколько раз. Поэтому, только в редком случае, ты получишь именно то, что задано в этом файле.
Один из примеров, таймаут. Если предыдущая загрузка была неудачной, то получишь совершенно другой таймаут.
Задавай свои настройки в файле /etc/grub.d/40_custom, он для этого и придуман. Он потому и последний, чтобы уже никто не переопределил.
GRUB_DISABLE_OS_PROBER=false
Для обнаружения "других систем" включил 30_os-prober. Раньше он был включен по умолчанию, чем порождал проблемы.
Я его всегда выключал. Всё, что мне нужно, в 40_custom. И именно в том виде, как мне нужно.
Здесь можешь взять код загрузки "любой Windows". Может с ним будет лучше.