grub2 startup freeze

I got a dual boot with grub2, but everytime I turn on the computer and the booter is loaded, I can't handle the menu, so I am forced to wait the countdown and choose the default option.

I'd really like to know why!

This is my grub.cfg,

# # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub #  ### BEGIN /etc/grub.d/00_header ### insmod part_gpt insmod part_msdos if [ -s $prefix/grubenv ]; then   load_env fi set default="0" if [ "${prev_saved_entry}" ]; then   set saved_entry="${prev_saved_entry}"   save_env saved_entry   set prev_saved_entry=   save_env prev_saved_entry   set boot_once=true fi  function savedefault {   if [ -z "${boot_once}" ]; then     saved_entry="${chosen}"     save_env saved_entry   fi }  function load_video {   insmod vbe   insmod vga   insmod video_bochs   insmod video_cirrus }  set menu_color_normal=light-gray/black set menu_color_highlight=red/black  insmod part_msdos insmod ext2 set root='(hd0,msdos7)' search --no-floppy --fs-uuid --set=root 278bc72e-d985-4f5b-b4a3-b905f913b46e if loadfont /usr/share/grub/unicode.pf2 ; then set gfxmode=1024x768   load_video   insmod gfxterm   insmod part_msdos   insmod ext2   set root='(hd0,msdos5)'   search --no-floppy --fs-uuid --set=root 04ac1245-d0fd-4808-9ab9-ea0a63041e23   set locale_dir=($root)/grub/locale   set lang=it_IT   insmod gettext fi terminal_input console terminal_output gfxterm set timeout=5 ### END /etc/grub.d/00_header ###  ### BEGIN /etc/grub.d/10_linux ### menuentry 'Arch Linux, with Linux vmlinuz26' --class archlinux --class gnu-linux --class gnu --class os {     load_video     set gfxpayload=keep     insmod part_msdos     insmod ext2     set root='(hd0,msdos5)'     search --no-floppy --fs-uuid --set=root 04ac1245-d0fd-4808-9ab9-ea0a63041e23     echo    'Loading Linux vmlinuz26 ...'     linux    /vmlinuz26 root=/dev/disk/by-uuid/278bc72e-d985-4f5b-b4a3-b905f913b46e ro  quiet splash     echo    'Loading initial ramdisk ...'     initrd    /kernel26.img } menuentry 'Arch Linux, with Linux vmlinuz26 Fallback' --class archlinux --class gnu-linux --class gnu --class os {     load_video     set gfxpayload=keep     insmod part_msdos     insmod ext2     set root='(hd0,msdos5)'     search --no-floppy --fs-uuid --set=root 04ac1245-d0fd-4808-9ab9-ea0a63041e23     echo    'Loading Linux vmlinuz26 ...'     linux    /vmlinuz26 root=/dev/disk/by-uuid/278bc72e-d985-4f5b-b4a3-b905f913b46e ro  quiet splash     echo    'Loading initial ramdisk ...'     initrd    /kernel26-fallback.img } ### END /etc/grub.d/10_linux ###  ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ###  ### BEGIN /etc/grub.d/20_memtest86+ ### ### END /etc/grub.d/20_memtest86+ ###  ### BEGIN /etc/grub.d/30_os-prober ### menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {     insmod part_msdos     insmod ntfs     set root='(hd0,msdos1)'     search --no-floppy --fs-uuid --set=root 143C83163C82F252     chainloader +1 } ### END /etc/grub.d/30_os-prober ###  ### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries.  Simply type the # menu entries you want to add after this comment.  Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ###  ### BEGIN /etc/grub.d/41_custom ### if [ -f  $prefix/custom.cfg ]; then   source $prefix/custom.cfg; fi ### END /etc/grub.d/41_custom ###

My computer is a toshiba L655-121, with a intel i5-450m processor, wich got an integrated vga. Maybe is this the cause?

How should I handle it?