DOSFS problems

Eugeny Mints eugeny.mints at auriga.ru
Wed Mar 10 11:46:26 UTC 2004


Hi, All!

Sorry I join the discussion only this time but I had no chance to do it
earlier. 

> -----Original Message-----
> From: Victor V. Vengerov [mailto:vvv at oktetlabs.ru]
> Sent: Tuesday, March 09, 2004 8:32 PM
> To: Adriano Verardo
> Cc: rtems-users
> Subject: Re: DOSFS problems
> 
> What we are talking about?
> 
> MBR - master boot record - stored in very first block of hard disk.
> It contains the boot code and partition table at the block end.
> 
> Fragment
> 
> 0x000-0x002  Jump instruction
> 0x003-0x00A  8 bytes OEM String ("MSDOS 5.0", for example)
> 0x00B-0x00C Bios Parameters Block - BytesPerSector
>                     Usually 00 20 = 512 and not 07 50 = 20.487
> 0x00D-...       Other BPB, Boot code etc etc.
> 
> is a layout of first block of the active hard disk partition.
> Boot loader in the MBR read the partition table, find active partition
> and load boot loader at the start of active partition. Boot loader
> in partition continue to boot OS stored in the partition.
> 
> Boot loader of DOS partition should look like you described, i.e.
> BPB - BIOS Parameter Block should be stored in the beginning.
> 
> I mean, no OEM signature, BPB and so on expected to be in the
> MBR.
> 
> Or I have missed something?

Victor, you are absolutely right. MBR is the very first block of a hard
drive while Boot Record is the very fist block of each logical drive. 

IN addition I have only one note concerning floppies. A floppy doesn't
contain MBR and thus the very first block of a floppy has format of Boot
Record (not MBR).

Bw,
				Eugeny
> 
> Victor
> 
> Adriano Verardo wrote:
> 
> > Victor V. Vengerov wrote:
> >
> >> Adriano,
> >>
> >> As I remember, partition table is located at the end of first
block.
> >> Fragment you show looks like Intel boot loader code.
> >
> >
> > The fragment shoul be:
> > 0x000-0x002  Jump instruction
> > 0x003-0x00A  8 bytes OEM String ("MSDOS 5.0", for example)
> > 0x00B-0x00C Bios Parameters Block - BytesPerSector
> >                     Usually 00 20 = 512 and not 07 50 = 20.487
> > 0x00D-...       Other BPB, Boot code etc etc.
> > 0x01BE...       Partition table
> > 0x1FE            Signature (55 AA)
> >
> >
> > DOSF requires a correct (512/1024/2048) value at 0x00B/C, so breaks
> > before
> > trying to access the other data ...
> >
> > Adriano
> >
> 
> 
> --
> Victor V. Vengerov
> OKTET Labs.
> Phone: mobile +7 812 9389372, home +7 812 4281653
> 




More information about the users mailing list