3

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.

Namshum
  • 1,765
  • This is a duplicate! See here: http://askubuntu.com/questions/152661/warm-reboot-directly-to-grub – Frantique Oct 03 '12 at 07:47
  • @Frantique No, I don't think my question is duplicate as the above link speaks about directly booting to Grub bypassing the BIOS and I am talking about bypassing all those thing BIOS and the GRUB too. I also want to restart from within my Ubuntu system might be with some modification and not making any changes to Firmware(Motherboard). – Namshum Oct 03 '12 at 08:04
  • 1
    Could you please edit your question to include why you would want to restart the way you describe as opposed to doing a proper restart? –  Oct 03 '12 at 08:17
  • 1
    Ok, what about sudo kill -9 -1? – Frantique Oct 03 '12 at 08:42
  • @Frantique I used your code and it instantly makes the Screen dark just like expanded terminal (CUI) with a frozen cursor and had to restart my PC pressing the reset button. – Namshum Oct 04 '12 at 06:48

2 Answers2

1

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"

to

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=w"

and save. Then run:

sudo update-grub

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.

  • lan king I have edit grub and then update but when I click restart it still goes through all the procedure bios, grub etc. and also ubuntu now restart immediately without waiting to close for any open application. – Namshum Oct 07 '12 at 12:22
1

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.

Informatom
  • 11
  • 1
  • This actually does not make reboots faster for me ( it takes longer to shut down and then kernel takes 7 seconds to boot as compared to less than 2 when using normal reboot), is that expected? – sup May 03 '15 at 22:29
  • Absolutely not, for me it's just the same as a reboot minus the BIOS Time. I have only one idea, why that could be: A device has to be waited for (old hard disk, e.g. SCSI, ...) Anything special with the hardware? – Informatom May 05 '15 at 03:54
  • 1
    No, a standard laptop, Thinkpad W530 by Lenovo. First it flickers during shutdown (very weird graphical effects) and then it takes much longer to boot:-/. I am using an EFI install, if that might make a difference. – sup May 05 '15 at 08:29
  • @sup I also had devices, that made problems, one was an old laptop, that didn't lighten the display again after reboot. Another one failed reactivating a modem/sim card slot. Sorry, no I'm out of ideas. – Informatom May 06 '15 at 08:51
  • 1
    Ha, I messed with systemd a bit (mainly to disable unneeded services to make it boot faster) and now it is quick enough (about two seconds, so reboot takes altogether like 7 seconds). However, it still flickers: https://www.youtube.com/watch?v=2jDkEEjb0qA&feature=youtu.be- I disabled plymouth (removed quit-splash from grub config) an the flicker is gone. – sup May 06 '15 at 12:12