Link to home
Start Free TrialLog in
Avatar of aCp
aCp

asked on

lilo lba32 boot problem (1024 cylinder problem)

Hi experts.
I just bought a new maxtor HD (40 GB) and a PCI IDE controller so that I can use it, my motherboard being somewhat old. I managed to install linux on this HD (after a series of difficulties), anyway, the problem is now with lilo in booting all OSes installed.
On the 40 GB HD I have installed linux and then WinME.
On the old 8.4 GB I have Win2k installed.
I can boot on linux and win2k but not on winme. WinME was the last OS I installed and after the setup process was over, it rebooted so as to finish up the work and install necessary drivers, as it did. This means that apparently I can boot on WinME.

Anyway I then reconfigured lilo and installed it once again on hda (Win2k) in the MBR.
Now I was forced to use the linear option (I don't know exactly why, maybe because of the pci controller). When I added the WinME entry I got an error message when the winME entry was installed:

Warning: device 0x1604 exceeds 1024 cylinder limit.
   Use of the 'lba32' option may help on newer (EDD BIOS) systems.
Warning:  LINEAR may generate cylinder# above 1023 at boot-time.
Fatal: Sector address 53319735 too large for LINEAR (try LBA32 instead).

But I must use the linear option, if I change it to lba32, lilo hangs on boot up and I can load any of the OSes... Now as far my motherboard is concerned, I flashed the BIOS (it is an ASUS P2-99), the fixes where for some boot loaders as said by Asus. Didn't changed my problem.
I launched a utility in linux, can't remember its name, which said that the motherboard didn't support lba. Still when I enter the setup tool of the motherboard, in the autodetection of the HDs, I can choose between NORMAL, LBA, LARGE. The problem is that winME is installed on the 40 GB HD which is connected on the PCI IDE controller, therefore not seen by the motherboard during the setup. So I can't set it as LBA.

I know that I can fix the problem by reinstalling linux, win2k and winME by paying attention to the 1024 cylinder limit which seems to be the problem, but I can afford it, it will take me too much time!

So, this is a somewhat delicate problem. Please post some comments even if you don't think it will help, maybe it will! :)

A solution might be using the boot loader of win2k and reconfigure lilo so as to boot on linux or windows. When selecting the windows entry, the win2k boot loader will take the lead and allow me to choose between winME and win2k. Any ideas on how I make win2k boot manager work, because for the moment it doesn't seem to load at all, win2k are immediatly booting...

Few, I think that's all...
Oh yes, one last thing. When I enter the lba32 option, after the timeout lilo will boot in the default OS, but if I try to choose one myself (even if it is the default one), it will hang. Don't understand why, well anyway maybe you do. ;)


Thanks in advance!

aCp
Avatar of aCp
aCp

ASKER

So no one has any idea about this ?!

aCp
Avatar of aCp

ASKER

I will ask from the EE team, for the third time this 2 last months!!!, to delete this question too (yes that's my third one), since I found out that this subject is somewhat "tricky" for experts here.

aCp
(Caveat: my experience is with WinNT, not Win2K)

Win2K uses NTLDR, which reads the boot menu from C:\boot.ini, a hidden, read-only text file. Change its attributes and you can edit it with notepad.

If you get a copy of what LILO put in the MBR to boot Linux, and store this in a file on the Win2K partition, you can add this to boot.ini:
C:\linux.mbr = "Linux"

If the timeout in boot.ini is currently 0, set it to 10.

Alternatively, since LILO's lba32 seems to be broken, try GRUB. This will give you a different set of bugs, but if you're lucky it'll work for you.

For an easier life, I'd recommend starting again, this time with ME first, followed by 2K and Linux. You can avoid cylinder limits by creating a small /boot partition for Linux near the start of the disk.
ASKER CERTIFIED SOLUTION
Avatar of Gns
Gns

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of aCp

ASKER

Hi Experts. Since you posted a comment, and I thank you for that, I'll just say to you what the situation is now. I found myself a couple of days after deciding to remove this question, "obliged" to "destroy" my win2k installation. Therefore, there were no reasons for me not to start again, right ?

Fortunately, as pj1008 stated, I had already a small (30 MB I think) partition onto my new drive, mounted on /boot, so as to avoid boot problems with linux. By this time I didn't knew that the problem also concerned lilo. Anyway, I repartitioned the old drive which didn't have any problems with my old motherboard, its size not being "enormous", I was below the 8 GB limit... I made a 6 GB partition for win2k and a 2.4 GB for win98, which will only contain the OS but not the apps, and yes I know I could take less than 2.4 but I didn't mind.

Well, now everything works, still with the linear option in lilo, and I do think that I can now start "using" my PC! :)

Anyway, I thank you both for posting your comments here, despite the fact I was intending to delete the question.

See yah!

aCp
Repeat: Lilo has no problems that others don't either. It is the BIOS that has problems with large drives, and thus anything that relies on it's twisted opinion of what CHS is valid:-). So lilo has problems due solely to the badness of the BIOS, as would grub, as dos anything based on DOS (such as graphical shells like w9x/me).

Good to hear you got something working though.

-- Glenn
Well what GNS said is true. Old BIOS cannot support the boot loader that is something beyond the first 2GB (something that is beyond cylinder 1024 is not acceptable as far as I know.)
If you reinstall:
Install ME first, then W2K. W2k will see ME.
Then install Linux as the last OS.
If you install Linux first, W2K will screw Linux loader as M$ systems don't like to play with their little friends.
Don't forget to make emergency booting disk for every system.
Now on which disk to install?
I would suggest ME on first master, then W2K on the second master and Linux on top of the first master. I would definitively use GRUB which is more advanced than lilo with no 1024 limitation.

As I can see, the last M$ system screw the Linux MBR so your Linux is no more bootable. If you manage to boot into linux, I will try to run lilo again so it will rewrite the MBR.

Grub is almost as dependent on BIOS as LILO. It will "degrade" to geometric addressing in certain cases and thus fall under the same limitations vis-a-vis the 1024 limit.
On a modern system, grub generally has less problems though.
This system isn't modern so, all things being equal, grub is not necessarily better than LILO on this setup.
'Nuff 'bout that.

-- Glenn
Avatar of aCp

ASKER

anyway sorry for the long delay but I have to close some questions now, this one included. I'll therefore give the points to gns who was much helpful with his comments and was one of the first to respond... :)

Thanks again!