I was trying to do the same and I found great help in the Ubuntu Forums, particularly in this thread.
Assuming you did the right thing with /etc/default/grub, correctly setting GRUB_TIMEOUT and #GRUB_HIDDEN_TIMEOUT (I'd say respectively to 0 and 5) and even GRUB_DEFAULT to specify the default image to boot, here's the procedure to have it work the right way.
Add those lines
GRUB_FORCE_HIDDEN_MENU="true"
export GRUB_FORCE_HIDDEN_MENU
to the end of /etc/default/grub
Backup your /etc/grub.d/30_os-prober and overwrite it with the version found here.
Run the command: sudo update-grub to update the settings.
Test it! To show the menu you have to hold the SHIFT key at startup.
This problem is related to the multi OS setup and editing the script is one of the way to correct that.
PS: This answer is exatcly the same given to another identical question