How to automatically boot from Linux distro to Windows?

Solution 1:

I suggest reading this article by PC World on: Auto reboot and Switch Default OS on dual boot XP and Vista and here's an excellent article by HowToGeek on the same subject: Create Shortcuts to Quickly Reboot to the Alternate OS in a Vista/XP Dual-Boot

Update: You should be able to use the grub-set-default command to tell grub to boot into an alternate option just once.

Hope HowToGeek can help edit this post into something that switches between Linux and XP.

After reading quite a bit of the Microsoft BCD publicaton and doing some extensive research on .bat files and bootloaders I came up with this. The procedure below employs DOS, Bootloaders and a nifty little program called wizmo. At this point and time I have a shortcut on each of my desktops that once clicked upon automatically reboots the system to the other OS. This feature I couldn't live without as I am constantly using XP for work stuff and Vista for personal stuff. So, if you want a nifty auto reboot button that takes you to your other OS... READ ON. Dangerous and exciting walkthrough follows. IF this sounds like something your going to do, read this walkthrough a couple of times as making a mistake can be costly...see the last disclaimer below.

Disclaimer: Caution be very carefull, messing with your master boot record and bcd store is dangerous and could cause your system not to boot at all, thus leading to more pain and suffering, proceed with caution.

Solution 2:

You could write a script that would modify grub.conf to select your Windows installation as the default, write a new grub to your boot loader area, and then reboot. The problem with this is that now you'd have the opposite problem rebooting into Ubuntu.

You could get a copy of GRUB that will run under Windows, but then you'd also have to either have a duplicate grub.conf or somehow mount the grub.conf from your Ubuntu installation under Windows. Maybe you could create a tiny FAT partition that holds your grub.conf and make /etc/grub.conf a link to there?