Check /etc/default/grub if GRUB_TIMEOUT is set to 0, in which case set it to a positive number: it sets the number of seconds before the default GRUB entry is loaded. Also check if GRUB_TIMEOUT_STYLE is set to hidden and set it to menu, so that the menu will be shown by default. Then regenerate the main configuration file and reboot to check if it worked.
If it does not work, there may be incompatibility problems with the graphical terminal. Set GRUB_TERMINAL_OUTPUT to console in /etc/default/grub to disable the GRUB graphical terminal.
Volgens de Arch wiki