On Sat, 04 Mar 2000, Stefan Bellon wrote:
> In article <00030412273400.01344@Vagabond>,
>    Adrian <[EMAIL PROTECTED]> wrote:
> > On Sat, 04 Mar 2000, Stefan Bellon wrote:
> > Well, as long as (if) your going to be playing with dd, have you
> > tried copying out LILO to the boot sector of a floppy?
> 
> You won't believe it (well, perhaps you will ;-) I just thought that
> this afternoon as well, did it and - succeeded! :-D
> 
> That's not the ideal solution now, but much faster than booting the
> kernel from a normal boot floppy. So only 512 bytes have to be read
> from the floppy disc, then booting continues from the hard disc.
> 
> > If it is some conflict between the BIOS, the disk, and LILO isn't
> > were the BIOS thinks it should be it shouldn't matter when booting
> > from a floppy. Just copy LILO out of the MBR with:  dd  if=/dev/hda 
> > of=/dev/fd0 bs=512  count=1 LILO should now boot from the
> > floppy,which, in turn, can then boot Linux.
> 
> Yes, that works nicely. 
> 
> BUT: Why doesn't it work from the hard disc? If the BIOS detects the
> boot sector on the floppy disc as valid, why doesn't it detect the same
> boot sector on the hard disc as valid? Surely there can't be any
> ambiguity concerning sector 0 of the hard disc, can there?
> 
> Still, the question remains: /Why/ doesn't it work from the hard disc?
> Till now I suspected that the BIOS detected the boot sector as invalid.
> But this can't be anymore, as booting from floppy works. OR: floppy
> disc boot sectors aren't checked at all by the BIOS. This would explain
> it.
> 
> Greetings,
> 
> Stefan.

OK, I have a theory and a solution that bypasses the floppy boot. Here's the
theory: YOUR BIOS IS #&#!@?13 %$!*@ BECAUSE SOME STUPID @!&%$?! PROGRAMER
DOESN'T HAVE THE INTELLEGENCE TO REALIZE THERE IS MORE THAN 1 OPERATING SYSTEM
IN THE WORLD (OK, the BIOS part was obvious). For some reason, the BIOS checks
the checksum of the MBR before loading it, since all Macro$ systems (including
NT) use a DOS MBR, the system works with Macro$. Since LILO is definately not a
DOS MBR, it won't recognize it as valid. The programer had enough sense to
realize that boot disks (like network card configuration utilities) don't always
have a DOS MBR so the BIOS doesn't check the MBR of floppies.

Here's the "Will show that damn BIOS who's boss" part. Since a DOS MBR just
boots the first partion marked bootable we'll do a run around. Here's the steps:
1)  Save that LILO floppy that works.
2)  Boot into Windows and give it a "fdisk /mbr" from a DOS box. This will
over-write LILO on hda with a DOS MBR.
3)  Reboot with the LILO floppy. Give a command "dd if=/dev/fd0 of=/dev/hda1
bs=512 count=1" to copy LILO to the boot sector of the Linux partition (thats
hda1 right?).
4)  Use fdisk under Linux to turn off the bootable flag on the Windows
partition and turn on the flag on hda1.
5)  Reboot and remove the floppy and LILO will hopefully appear.

I just tried this on my old Packard Bell 486/66 w/4MB (hey, shut-up, I was
young, ignorant, and didn't know anything hardware or quality manufacturers)
and it worked like a charm. Once it is up and running make sure you change the
/etc/lilo.conf file so the line "boot=" reads "boot=/dev/hda1" so any new LILOs
youmake will go into the Linux partition boot sector and not the MBR.

Adrian

Reply via email to