Sometimes I am required to restart my Ubuntu machine and don't want to go through the BIOS then Grub. I remember that in windows we just need to hold down the Shift Key while clicking restart and trying the same procedure in Ubuntu without any success.
You can try out the kexec-tools (http://en.wikipedia.org/wiki/Kexec) by installing them using
sudo apt-get install kexec-tools
and allowing them to handling reboots on installation. Try out a reboot, if your machine comes up without troubles, you're good to go.
On standard x86 PCs address 0x472 controls whether or not one does a cold or warm reboot. By writing 0x1234 to this address, the BIOS should do a warm reboot, and if zero is written to this address a cold reboot will occur.
This can be controlled with the kernel parameter reboot=w (warm) or reboot=c (cold). So using sudo and your favourite editor, edit
/etc/default/grub and change
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=w"
and save. Then run:
and reboot. Hopefully, you should be doing warm reboots from now on. I've not tested this, but the code is there in the kernel to support this, see
arch/x86/kernel/reboot.c in the kernel source and how
reboot_type controls the reboot.