Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My team is developing an application that needs to work on multi-platforms (linux [32/64], windows [32/64]), and involves 3D-rendering (OpenGL). We want to automate our tests, using a server, with an nvidia board.

We've tried to use Xen Server (Free Edition) to virtualize all platforms we want to test, but we weren't able to make the virtual servers to work with the nvidia board. Then we did some tests with VirtualBox, but it's 3D acceleration didn't work well for our purposes.

Now we are thinking about install all OS's in the server, as a multi-boot configuration. Does anyone know of some solution that allows remote control of this server, so we can remotely boot and reboot it, with the OS of our choice? In this way, it would be easy to automate the test process on all platforms.

I'm also open to other possible solutions.

share|improve this question
in xen you you may need to give a pci pass trough option on the video card. – silviud Apr 26 '11 at 13:10
up vote 2 down vote accepted

If you use grub for your boot loader, when you're ready to switch to the next OS you can change the grub.conf to have a different default boot partition and then on reboot it will go to the next OS. On windows you would have to install the ext2 driver but that's not too hard.

share|improve this answer

Using grub and modifying the default OS in grub.conf as @Dan suggests isn't a bad way to go, but I would instead suggest an IP KVM, which will allow you to remotely control your machine -- including the BIOS and bootloader operations -- from literally anywhere you have an internet connection.

If you go this route, I recommend setting a long automatic boot delay to compensate for the inevitable network latency, or perhaps even disabling the automatic boot altogether to require manual selection of the OS to load each and every time. It's not "automated" per se, but it is the ultimate in giving you control over booting up a remote system, and doesn't require that you make any changes to any of the underlying OSes.

share|improve this answer

Other than Dan's suggestion (which is probably the best choice if you use GRUB) the only thing I can think of for "automating" a boot loader is to hook up a serial console to a separate machine & use Expect or something similar to interact with the boot loader.

The general assumption with boot loaders is either (a) nobody will be around, in which case the "default" OS should be started, or (b) someone will be at the console to pick the OS they want. It doesn't seem like an area that gets much attention from the automation folks...

share|improve this answer

With one machine this might be more trouble than it's worth, but if you had several devel machines that needed to boot up various configurations, you might consider using GRUB-PXE to load your boot configuration over the network. This would allow you to change the values of what was going to be booted in one location without a dependency on the box being booted and the file system accessible.

share|improve this answer

On Windows, iReboot will do what you need, letting you select an OS to reboot your PC into (just the one time or repeatedly) from within the logged-in environment. You'll need to have the different operating systems configured in a multiboot controlled by BOOTMGR/BCD rather than GRUB/GRUB2, though.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.