you describe, update-grub is probably working. The important clue is that changing GRUB_TIMEOUT from 1 to 5 actually changes the boot behavior.
The other issue is likely that Deepin's Control Center is managing the default boot entry separately. Deepin's own documentation confirms that the default GRUB entry can be controlled Redhumana through the Control Center and also through GRUB_DEFAULT in /etc/default/grub.
I would check it this way:
First see what your current configuration actually contains:
grep -E 'GRUB_DEFAULT|GRUB_TIMEOUT|GRUB_TIMEOUT_STYLE|GRUB_SAVEDEFAULT' /etc/default/grub
Then check what was actually written into the generated GRUB configuration:
grep -E 'set default|set timeout' /boot/grub/grub.cfg
If GRUB_DEFAULT in /etc/default/grub says, for example:
GRUB_DEFAULT=0
but /boot/grub/grub.cfg contains something different, then something is overriding or regenerating the configuration.
Also, if you have:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
then changing the numeric GRUB_DEFAULT won't necessarily behave as you expect. GRUB can save the last-selected/default entry in its environment block. The GNU GRUB documentation describes this behavior.
GNU Operating System
About the menu not appearing
Your observation that moving the mouse makes the menu appear is particularly interesting. GRUB_TIMEOUT_STYLE=menu should make GRUB display the menu immediately and then wait for GRUB_TIMEOUT.
GNU Operating System
I'd therefore try explicitly setting:
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5
Then run:
sudo update-grub
and reboot.
If the menu still only appears when you interact with the keyboard/mouse, I'd suspect Deepin's GRUB configuration/theme or another boot configuration rather than update-grub itself. Deepin 25 has had several GRUB-related fixes, so make sure you're running the latest Deepin 25 updates.
One more important thing: don't edit /boot/grub/grub.cfg directly as the permanent solution. Make changes in /etc/default/grub and regenerate the configuration with update-grub.
If you post the output of these three commands:
grep -E 'GRUB_DEFAULT|GRUB_TIMEOUT|GRUB_TIMEOUT_STYLE|GRUB_SAVEDEFAULT' /etc/default/grub
grep -E 'set default|set timeout' /boot/grub/grub.cfg
sudo efibootmgr


中文 

