• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

XP bootloader problems w/ Linux (And yes I have read the FAQ)

afropick

Senior member
I have followed the Anandtech FAQ on "How to use Windows 2000 Boot Loader to Dual Boot with Linux and Windows 2000" (I'm sure it's the same for XP) and folllowed it to the best of my ability.

I couldn't get the bootloader to work a while back, and assumed it was because of my RAID controller, but I recently set the jumpers on the motherboard (Asus A7V133) to ATA100, and still cannot get it to work. I have XP installed on my first drive (hde) and ReHat Linux 7.3 on the second drive (hdg).

From the FAQ i used this line to create "bootsect.lnx":
dd if=/dev/hdg2 of=/bootsect.lnx bs=512 count=1
(I also tried hdg, hdg1, and even fd0 since the floppy disk will allow me to boot)
The best any of these options did was boot me to "LI" and then hang.

It's such a pain having to boot from the floppy to access my Linux drive. Is it the ATA100 controller that's causing the problem. What am I doing incorrectly?
 
I don't follow where you are and where your problem is.

a more detailed explination regarding where your failure occurs would be helpful... How far through the faq's did you make it before you encountered a problem?

Did you make a boot disk?
Did you tell Linux to instal Lilo on the same drive as your root directory?
Which drive is your root directory on (make sure your looking on the drive with the root and not the drive with the swap)?
 
I get to the WinXP boot screen and I can choose "Windows XP Professional" or "RedHat Linux 7.3".

When I choose "RedHat Linux 7.3" I get a screen that says "LI" and it just hangs there.

I made a boot disk and it works fine.

I told LILO to install to the "superblock of the root partition of Linux drive" which, in my case, is hdg.
 
First open up lilo.conf and make sure the linux stanza points to the drive where you installed Linux. Run /sbin/lilo.

While your still in Linux put a floppy in the drive and type mount -t msdos /dev/fd0 /mnt/floppy.

Next, type this command to copy the first 512 bytes of the boot sector to the floppy.
dd if=/dev/hdg bs=512 count=1 of=/mnt/floppy/linux.bin, then umount /mnt/floppy. Remove the floppy.

What this did was copy the boot sector to the floppy and named the file linux.bin. Now boot into Windows and copy the linux.bin file to the root of C:\. Open boot.ini with notepad and add C:\linux.bin="Linux" at the very end. Don't forget the quotes.
 
I still can't get it to work...

When I get to the XP's boot menu and I choose Linux having created linux.bin from the following ways, here are my results...

dd if=/dev/hdg bs=512 count=1 of=/mnt/floppy/linux.bin - machine will reboot

dd if=/dev/hdg1 bs=512 count=1 of=/mnt/floppy/linux.bin - machine will hang on a black screen w/ "LI" in the upper left hand corner

d if=/dev/hdg2 bs=512 count=1 of=/mnt/floppy/linux.bin - machine will reboot


Here's a copy of my lilo.conf file if that may help someone help me with this problem:

prompt
timeout=50
default=linux
boot=/dev/hdg1
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear

image=/boot/vmlinuz-2.4.18-3
label=linux
initrd=/boot/initrd-2.4.18-3.img
read-only
root=/dev/hdg2
append="hdc=ide-scsi"

Please help me... 🙁
 
image=/boot/vmlinuz-2.4.18-3
label=linux
initrd=/boot/initrd-2.4.18-3.img
read-only
root=/dev/hdg2
append="hdc=ide-scsi"


The line I above in bold on my computer needed to be tweaked to get the loader to run. It may be as simple as telling the machine to run hdg instead of hdc (didn't you say linus was on hdg?) or changing it to hdc=ide (i.e. dropping the '-scsi') unless the drive is scsi.

I'll check my desktop when I get home.

edit:
Upon further revied of your top section of the boot file, why isn't the hdc=ide-scsi the same as hdg1?
 
We need a complete listing of the drives and partitons on your system.
Why don't you have an hda?
 
wjsulliv, I will try editing that line when I get home (I was scared to mess with that line because the installer said if you were unsure about the default setting it gave, ie. "hdc=ide-scsi", then leave it alone).

Tiger, here's how my drives are setup:

ON-BOARD, REGULAR IDE CONTROLLER
hda = Pioneer DVD
hdb = none
hdc = Plextor CDRW
hdd = none

ON-BOARD, ATA100/RAID CONTROLLER (jumpered to ATA100 mode)
hde = IBM 75GXP-30GB loaded w/ Windows XP Professional
hdf = none
hdg = IBM 75GXP-30GB loaded w/RedHat Linux 7.3 (hdg1=/boot, hdg2=/, hdg3=swap)
hdh = none

Basically each device is set as master on its own ide channel for maximum efficiency.
 
Good idea posting the drive configuration. That helps put the system into perspective.

If hdc is your Plextor CD-RW, then it won't do you any good to try and boot linux from that location.

hdc should probubly be hdg1 or hdg2 based on your configuration listing.
 
The line "hdc=ide-scsi" is what will let your burner work under Linux, don't change it.
Which distro have you got installed and what choices did the installer give you when it asked where you wanted to install LILO?


 
I haven't followed every detail, but I can say that the "LI" message means that the boot loader can't find the kernel image needed to boot - usually this is a disk geometry problem. Could be the controller messing things up - I couldn't get my XP bootloader to boot Linux, as described in the FAQ, using a RAID'ed Promise controller. Don't think I even got the "LI" though. While there may well be some way to get it work, I just decided to use LILO to boot XP instead of vice versa. That might be easier to do in your case.
 
Where are you running the 'dd if=/dev....' command from?

Here's the gig: You have to make the bootstrap image in linux, and then place it on your Win2K disk, so that Win2K can see it. So, based upon your lilo.conf, you need to do the dd statement like this:


dd if=/dev/hdg1 of=/bootsect.lnx bs=512 count=1 // This looks like where lilo is placing it's bootstrap file.
Then you need to copy the bootsect.lnx to your c:\ (I have mine mounted as /cdrive, so mine looks like: dd if=/dev/hdg1 of=/cdrive/bootsect.lnx bs=512 count=1).
Then you need to modify your c:\boot.ini to use the new bootsect.lnx (Mine looks like this: c:\bootsect.lnx="Debian 2.2")

This should make everything work out, and your XP loader should be able to bootstrap your LILO stuff.....

One Caveat. You will need to do the 'dd if=...' command EVERY time you update lilo. I put this command in a script called 'fixNT', and everytime I run lilo, I run fixNT. Has now become a habit.

Good Luck.....
 
Back
Top