Grub does not autoboot the default option after upgrade to 12.10
Solution 1:
Add the following to /etc/default/grub
GRUB_RECORDFAIL_TIMEOUT=0
Save and run
sudo update-grub
Solution 2:
I have the following set of values in my /etc/default/grub
file:
GRUB_DEFAULT=5
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
I have several other operating systems on my computer and the GRUB_DEFAULT setting seems to set the specific initial highlighted item on the list starting at 0 and counting upward. During the countdown time of 10 seconds I can change between the other entries on the list.
I would suggest you try the following settings making sure that you comment the GRUB_HIDDEN_TIMEOUT
parameter:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
Then work backwards from that, gradually making the GRUB_TIMEOUT
or GRUB_HIDDEN_TIMEOUT
parameters 1 or 2 to shorten the wait on the default selected system.
Remember that you may need to Ctrl+Alt+T to get to the terminal for sudo gedit of the file.
Solution 3:
If you look at /etc/grub.d/00_header You would see these lines:
make_timeout ()
{
cat << EOF
if [ "\${recordfail}" = 1 ]; then
set timeout=${GRUB_RECORDFAIL_TIMEOUT:--1}
else
set timeout=${2}
fi
EOF
}
basically, grub2 is capable of detecting errors in boot process and fallback to manual booting.
Changing these lines to something like
make_timeout ()
{
cat << EOF
set timeout=${2}
EOF
}
and regenerating grub config with sudo update-grub
should fix the problem.
The interesting question, though is why grub keep thinking booting fails after you manually press Enter.