Detailed Notes on
SYS.COM

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...


Versions of SYS.COM used in the Boot Record Studies:

   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


General Comments 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.

 

 

Comments on Specific Versions of SYS.COM

MS-DOS 5.0

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.


MS-DOS 6.0

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).


Windows 95(A)

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 ).



Windows 95B, 98 and 98 SE

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