Copyright©2003 by Daniel B. Sedory
A Reference Guide
for the Boot Record pages:
The MSDOS 5.0 Floppy Disk Boot Record created by the MS-DOS ( 5.0 through 6.22 )
SYS.COM or FORMAT.COM files that come with those DOS distributions.
The "MSWIN4.1" (Windows 95B/98/98SE/ME) Boot Record created by either the
SYS.COM or FORMAT.COM files that come with those Windows distributions.
Confused? Send me an email if you have a specific question about the MBR or other Boot Records...
OS Type Filename File Size Release Date ----------- -------- --------- --------------- MS-DOS 5.0 SYS.COM 13,440 04-09-91 5:00a MS-DOS 6.0 SYS.COM 9,379 03-10-93 6:00a MS-DOS 6.2 SYS.COM 9,432 09-30-93 6:20a MS-DOS 6.22 SYS.COM 9,432 05-31-94 6:22a Windows 95(A) (MS-DOS 7.0) SYS.COM 13,239 07-11-95 9:50a Windows 95B (MS-DOS 7.1) SYS.COM 18,967 08-24-96 11:11a Windows 98 (MS-DOS 7.1) SYS.COM 18,967 05-11-98 8:01p Windows 98 SE (MS-DOS 7.1) SYS.COM 18,967 04-23-99 10:22p Windows ME (MS-DOS 8.0) SYS.COM 21,943 06-08-00 5:00p
on all versions of SYS.COM
The DOS versions of SYS.COM (MS-DOS 6.22 and earlier) were often compressed (such as MS-DOS 5.0) on the install diskettes, or first packed with PKlite (version 1.15) and then compressed too; which helped to save space on floppy disks when Microsoft had to copy multiple diskettes for each version. However, with the release of Windows 95 which was mostly distributed on a CD (Compact Disc), Microsoft stopped packing its SYS.COM files.
The boot record code found
in all SYS.COM programs is the same as that found in FORMAT.COM
for the same DOS version. However, the writing of this boot code to some media
is not the primary function of the SYS.COM program! For
example, if you partition a D: drive with FDISK and then try running SYS.COM
on that drive, it will display this error message:
Invalid media type reading drive D
Abort, Retry, Fail?
SYS.COM cannot write a boot record to a newly partitioned drive. What about a blank floppy diskette? You'll get the same error message!
But if you start out with a diskette that has already been formatted and then zero-out most of the code in the boot record, you'll see that some new code is written to the boot record when you run SYS.COM on that floppy disk. Therefore, the boot record code is included in SYS.COM only to make sure that running it against a non-bootable partition or diskette (that still has a healthy file system on it!) will not fail to boot next time due to an error in the the existing boot record's code section. The main purpose of SYS.COM is to copy "system files and the Command interpreter" to a diskette or partition that has already been formatted.
For all versions of SYS.COM since MS-DOS 5.0 (except for Windows ME which does not function the same as the others; see Windows ME below), entering SYS /? at a DOS prompt displays:
Copies MS-DOS system files and command interpreter to a disk you specify. SYS [drive1:][path] drive2: [drive1:][path] Specifies the location of the system files. drive2: Specifies the drive the files are to be copied to.
Although this SYS.COM program was not packed; it did start out as a compressed file of 9,672 bytes on the install diskette (as "SYS.CO_") which was expanded during installation to a size of 13,440 bytes. Beginning at offset 2cd0 hex, you'll find the phrase MS DOS Version 5.00 (C)Copyright 1981-1991; with its embedded floppy disk Boot Record (of 512 bytes) beginning at offset 2e42 hex.
This SYS.COM program was packed with PKLITE 1.15 and expands to a size of 13,760 bytes if you unpack it. In that form, you will find the phrase MS DOS Version 6 (C)Copyright 1981-1993 beginning at offset 2de7 hex. You can also find Its embedded 512-byte floppy disk Boot Record at offset 2f75 hex in the unpacked file.
MS-DOS 6.2 and 6.22
Both of these SYS programs are packed with PKLITE 1.15 and expand to a size of 13,824 bytes. Each contains the phrase DOS Version 6 (C)Copyright 1981- with version 6.2 ending in 1993 and version 6.22 ending in 1994 in their unpacked files. The embedded floppy disk boot record is found at offsets 2fb5 hex through 31b4 hex for both versions (in the unpacked files).
The Windows 95 SYS.COM file contains the DOS Copyright phrase: MS-DOS Version 7 (C)Copyright 1981-1995 starting at offset 16ec hex. The embedded floppy disk Boot Record is found at offsets 28f8 hex through 2af7 hex which had the very first OEM ID without the letters DOS in it ( MSWIN4.0 ).
All three of these Windows OS versions contain the same exact DOS Copyright phrase as the one found in the original Windows 95 SYS.COM file showing that DOS was far from being dead; it still existed in many different files inside all of these Windows Operating Systems including Windows ME. The OEM ID for all of the boot records embedded in these versions is MSWIN4.1.
Beginning with Windows 95 "B" (which
introduced the 32-bit FAT file system), every SYS.COM file clearly contains
two different and complete copies of that particular OS version's
Boot Record: The first is used for FAT12 and FAT16 file systems on either floppy
or hard disks. The second is for just the FAT32 file system on hard disks only.
The Floppy Disk Boot Record has, of course, always been 512 bytes in length,
but beginning with Windows 95B (and FAT32) the size of the Hard Disk Boot Record
increased to 1,536 bytes (or three whole sectors); even though most of the second
sector is nothing but zeros.
Windows ME (Millennium Edition)
Windows ME contains the phrase MS-DOS Version 8 (C)Copyright 1981-1999 and functions much different than previous versions of this program. If you enter SYS /? at a DOS prompt, it responds with:
Restores Windows boot file, IO.SYS, to drive C:. SYS C: C: Specifies the drive the files are to be copied to. Must be C:
And attempting to SYS a floppy disk using " sys a: " causes Win ME's SYS program to respond with:
You can only SYS drive C: to try and repair the boot hard disk. Use the Startup Disk option in Add/Remove programs to create an emergency boot disk.
In light of this restriction, it might seem weird that a FAT12/FAT16 Boot Record is still inside its SYS program. One would not normally be using Win ME on a hard drive that's small enough (under 512 binary MB) to require a FAT16 boot record, but it's still here if you do.
I guess there are some people who still want to
continue using FAT16 on their hard drives rather than switching to FAT32, but
they are limited to a capacity of only 2047 binary MB (or about 2 GB) per partition
and must use a very wasteful cluster size of 32 KB in order to do so! Before
FAT32 was available, I had always tried to keep my partitions under 256 binary
MB so I could use a cluster size of only 4 KB (which is what you'll normally
end up with when using FAT32 on drives in the Gigabytes). For
those doing dual-booting on their computers who use FAT32 and NTFS or
FAT32 and Linux file systems on the same drive, it used to make sense
to have a small FAT16 partition near the beginning of a large hard disk in order
to swap files between the operating systems. However, with the release of Windows
2000 (also known as Win2k or NT5), the need for a FAT16 partition
is far less likely these days. Why? Because almost every Linux distribution
available today can access and write to a FAT32 partition, and so can Windows
2000 / XP.
Last Update: August 20, 2003.
You can write to me using this: online
reply form. (It opens in a new window.)
The Starman's Realm Index Page