[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Date: Wed, 10 Mar 2004 14:46:26 +0300
- From: eugeny.mints at auriga.ru (Eugeny Mints)
- Subject: DOSFS problems
Sorry I join the discussion only this time but I had no chance to do it
> -----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.
> 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
> 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).
> Adriano Verardo wrote:
> > Victor V. Vengerov wrote:
> >> Adriano,
> >> As I remember, partition table is located at the end of first
> >> 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