You’d have noticed that Windows (and any other custom OSes other than Linux) always gets to be the last option in the grub menu. If you were to change the order in /boot/grub/grub.cfg, the next time you reinstall grub or run update-grub, or upgrade your OS, the order gets messed up.

The solution is to rename the os-prober script which is responsible for inserting entries for Windows.

What I do is:

mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober

The default OS is chosen from the fileĀ /etc/default/grub

Once you make your changes, update grub: