Ask the Experts: I recently reinstalled Windows on my dual boot system and now Linux no longer boots...
Question: I recently had to reinstall Windows on my dual boot system and now Linux no longer boots. Rather than booting to the grub boot manager it now boots directly into Windows. How do I recover my ability to dual boot?" --Tara Ryan, Mountain View, CA
Our friends at Apress have kindly offered one free book or ebook of your choice if we publish your Ask the Experts question. Readers, send your Ask the Experts question in to get in on the action. A free book and free tech support if your question is selected -- pretty cool right? Now on to our responses to this week's question:
Tom Metge responds: You'll need to reinstall GRUB to the MBR of your disk- Windows overwrites it on installation. If you've got a live Linux disc handy (the rescue function on your distro's install disk, for example), boot into the rescue environment and do the following:
- mount your boot and root partitions
- chroot to the root partition
where [dev] = the drive you boot from, in grub format (hd0,0 for the first drive in the system, for example).
Bill Childers, an IT Manager in Silicon Valley responds: Tom's instructions are dead-on. Alternatively, though -- in the event the BIOS doesn't want to probe the drive properly from the chroot you can also re-install grub outside the chroot. Ensure your boot and root partitions are mounted as in Tom's instructions, then run "grub-install --root-directory=/mnt/hda1 /dev/hda" (substitute /mnt/hda1 and /dev/hda for your actual mountpoint and device nodes).
Luis Cerezo responds: When using rescue mode the root part and boot, depending on how your system us set up may need to be mounted in rw mode. Mount -I remount,rw /.
Chris Stark of the University of Hawaii College of Education responds: Hi Tara. Tom, Bill, and Luis all had perfect answers for recovering from this sort of problem. For now, follow their advice for getting your GRUB installation back, then follow my advice for a strategy to help avoid the problem from happening again.
As I'm sure you know, there are hundreds of Linux distros out there, each with a slightly different audience or purpose. A specific distro I'd like to bring to your attention is the Clonezilla Live CD, http://clonezilla.org/.
Download the ISO image and burn it to CD as usual. Set the disk aside for now.
Next, get your Windows installation updated and configured to your liking. I tend to do a fairly minimal amount of tweaking: install any drivers & updates, install an anti-virus and Windows Defender, and turn off the annoying interface sounds.
Once you're satisfied with your Windows installation, reboot using the Clonezilla Live CD, and follow the prompts to create an image of your Windows partition. Clonezilla is very flexible in that it lets you save the image to a network share, external drive, or even a local partition. Now that you have an image, you can confidently go about your business, knowing that the next time Windows blows itself up (...and you know it will...), you'll be ready to get back up and running quickly and painlessly.
Be sure the read the "How to use" link from the Clonezilla homepage. You'll find that Clonezilla is very easy to use, albeit a bit quirky, and restoring your perfectly configured Windows partition means no overwriting the Master Boot Record (thus leaving GRUB intact and ready to dual boot).
If you're like me, and only need Windows around for testing purposes, consider running Windows in a virtual machine, like VirtualBox, http://www.virtualbox.org/.
James Ward of Adobe Systems responds: Boot any Live CD and then run the following command:
sudo grub-install --no-floppy /dev/sda
Assuming that /dev/sda is the device you want to install the boot loader on. Since your Grub configuration should still be intact this should just work.
>> Ask the Experts is a new weekly column featured exclusively on LinuxJournal.com.
>> Question for our experts? E-mail them.