Writing

Booting Windows and Linux from seperate SATA/SCSI HDs

This might be the most usefull post that I have written so far! This is just my lilo.conf from my battle to get Linux and windows to boot from separate SATA HDs and all of this information should also be applicable to SCSI HDs and maybe even regular HDs if users replace the sda with hda.

First, Here is my configuration.

  • AMD Athlon 64 3500+ Venice
  • MSI Neo2 Platinum (Nforce 3)
  • 1GB Corsair CS2 DDR400 RAM
  • BFG 6800GT
  • Audigy 2 zs Platinum
  • 2xWD Raptors SATA 34.7GB 10,000RPM

One should mention that this configuration works! With 3d acceleration and everything. So don’t hesitate to install Linux on a similar configuration.

Next, the current OSes that I’m running…

  1. SLAMD64 (Slackware port for the AMD64 architecture)
  2. Microsoft Windows XP professional

It might also be good to mention that this setup has worked with Gentoo, Slackware and Debian, 64bit and 32bit. It doesn’t matter! Which is also logical because its only boot loader dependent ;) . The same should hold true for any flavor of Windows you select. Especially if it is NT/2000/XP or any other “NT” Windows.

Also i want to again make this clear, I am running Windows and Linux on separate SATA HDs within the same system.
Now a quick word to Grub vs. Lilo. I always hear…

“Why don’t you use Grub?! Grub is so much cooler! Bootscreens and the fact you don’t have to rerun after recompiles is the greatest thing that has ever happened to me.”

Well theres a couple of things i can say in response to such a comment.

  1. You are leading a sad life if what you just said is true
  2. I personally, could not get Grub to work with my configuration.

I spent many, many hours browsing the Internet for ways to get Grub to work with this configuration and i couldn’t get it to work. Since then i use Lilo.

Ok here’s the good stuff… My /etc/lilo.conf file (Lilo configuration file)

boot=/dev/sdavga=normal
default=SLAMD64
lba32
prompt
timeout=30
image=/boot/vmlinuz
label=SLAMD64
root=/dev/sda3
read-only
other=/dev/sdb1
label=Windows
table=/dev/sdb
map-drive=0×80
to=0×81
map-drive=0×81
to=0×80
other=/dev/fd0
label=Floppy
unsafe

Of course get rid of the flppy if you don’t need it (I actually just noticed that i still have it there ;) ). The most important part is the “map-drive” bit. As soon as I added this my configuration began to boot! Just to reiterate, the windows harddrive is the only partition on that HD and the root of my Linux harddrive is the third partition of its HD (/dev/sda3).

A word to installing Windows… I currently have Linux on my first HD and when installing Windows, Windows wants to be #1. Basically if windows is the second SATA HD it will complain that it needs to write to the first, probably because it doesn’t know that you have a working bootloader there. Anyway during a reinstall of windows just disconnect or disable your Linux HD temporarily in BIOS, install windows, and re enable your Linux HD with such a configuration and you should be good to go!

So now you know! Get *NIXing!