21

I am dual-booting Windows and Linux on my SSD and find myself often switching between the two OSes. The SSD is really fast and both OSes boot in about 3 seconds once selected in GRUB. However, it takes forever (about 30 seconds) for my BIOS, RAID and second SATA controller to initialize before I'm finally in GRUB.

So I was wondering if it is possible to skip these initializations and just "return" to GRUB once I have booted Linux. Ideally I would also be able to do the same from within Windows but my hope is not very high there :)

I did a little search online and found nothing but a somewhat out-dated linux loader - loadlin.exe, which one could run from within Dos or Windows 95/98 to boot Linux. So at least the concept of switching OSes without rebooting is not new. Anyone know of a current tool that does this?

If not, is there a technical issue that prevents us from writing such a program or is there simply not enough demand?

UPDATE: A friend of mine just told me about Kexec. Using that it seems to be possible to start a different Linux kernel from within a running kernel, but is it possible to go back to GRUB or start a windows installation directly?

7
  • 4
    Interesting question. One reason I can think of for there not being much interest in this is that VMs have improved recently. Most people just run their secondary OS inside a VM on their primary one instead of dual booting. Commented Sep 9, 2011 at 6:16
  • I was also considering using a VM but I need fast graphics performance and so far VMs don't deliver satisfactory performance. Maybe things will change now that Xen (and soon others) has a complete passthrough option for graphics cards. Nevertheless it would still be interesting to see if there is a way to fast switch. With regard to the second comment, I was actually not aware of unix.stackexchange.com. I will certainly have a look and maybe post there if I don't get an answer first. Thanks for the suggestion.
    – Mitko
    Commented Sep 9, 2011 at 9:27
  • 1
    30 seconds ? i think on an ibm server its like 5 minutes.
    – Sirex
    Commented Sep 9, 2011 at 10:28
  • 1
    Should be possible with EFI bootloaders (no idea how). Somewhat harder with MBR ones, since they expect to be started in 16-bit real mode and set up everything themselves, which might not be possible after the system has been initialized once. Commented Sep 9, 2011 at 12:10
  • @Sirex: But who dualboots IBM servers? :) Commented Sep 9, 2011 at 12:11

5 Answers 5

7

Using kexec you can solve the problem. There is no need to involve GRUB. You can use kexec-loader to boot directly into different operating systems from within Linux. (Make sure kexec support is compiled into your kernel.)

2
2

Check if you have UEFI support. That can DRASTICALLY improve booting speed.

4
  • This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post.
    – Jawa
    Commented Feb 5, 2014 at 14:34
  • 1
    @Jawa the OP is having a problem because his POST is taking an unacceptably long time. UEFI definitely cuts this time : the very purpose of its creation.
    – Milind R
    Commented Feb 5, 2014 at 14:51
  • 2
    Two things here: 1) The question is not "how do I boot faster" but "how do I return to GRUB after booting?" 2) One line answers are probably best as comments. Commented Feb 5, 2014 at 15:41
  • Thanks for the suggestion. Since I posted the original question, I've changed my hard disk configuration and just now, I optimized some settings in the bios to improve boot times. In essence I could disable things related to RAID (which I do not need any more) and also enabled EFI boot. The overall effect is a much faster boot. Nevertheless, the original question is still interesting to me and so far I haven't found a reliable solution. Commented Feb 21, 2014 at 22:38
1

Long story short, not with the way things work now. A better approach may be to find why your BIOS/RAID/SATA controller is taking so long. There might be BIOS updates available, and possibly firmware updates for the raid controller.

1
  • One possible reason for a slow POST is that you have your HDD controller configured to auto-detect non-existent drives in the BIOS. If you have a single HDD and a single CD/DVD there is no point trying to auto-detect for the other 2 (or 4) slots, these tests have to time out and can take some time.
    – Haqa
    Commented Oct 26, 2011 at 15:22
1

No. Unless your BIOS has a specific setup option to skip POST during a reboot (I saw it once) this hasn't existed since Windows 98/ME (the Fast Reboot trick which really only reloaded Windows.)

Maybe someone with enough time boot hacking could reproduce that and reload GRUB, but it would have to change how INIT restarts the system.

0

If you can't find the updates as Zeroedout suggested, you may want to run your host system in virtual machines, so reboot is almost free.

Also, some systems have a fast/quick boot mode where some checks are ommitteed. You may want to check that.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .