You are currently offline, waiting for your internet to reconnect

Understanding Disk Volume Tracking in Windows 95

This article was previously published under Q150582
This article has been archived. It is offered "as is" and will no longer be updated.
When users insert a disk in a floppy disk drive, Windows 95 tracks thedisk to prevent the user from opening a file, removing the disk,and inadvertently inserting a different disk. Through this behavior,Windows 95 helps users guard against corrupting the data on theirdisks. This article explains how Windows 95 tracks disks anddiscusses instances where software developers can consider overriding thedefault mechanism Windows 95 uses to perform this task.
More information

Volume Tracking Overview

One part of the Windows 95 disk system is a driver called the VolumeTracking Driver. Its purpose is to uniquely identify disks and ensure thatthe correct disk is in the floppy disk drive when data is written to afile. The Volume Tracking Driver intercepts all writes to the floppy diskdrive and, when it detects an invalid write operation, displays a text-mode blue screen prompting users to either insert the original disk orcancel the invalid write operation. There is no way to prevent Windows 95from displaying this blue screen because it serves as a warning to usersthat an error has been made that could result in data loss.

The Volume Tracking Driver uniquely identifies disks by writing avolume tracking serial number in the OEM ID field (offsets 0x3-0xB) of theboot record, which is stored in the boot sector of the disk. Thisserial number is different than the volume serial number created when thedisk is formatted and is used solely by the Volume Tracking Driver. TheVolume Tracking Driver assigns a volume tracking serial number the firsttime a disk is inserted since Windows was last started. That numberidentifies that particular disk until Windows 95 is restarted.

How to Override the Default Volume Tracking Method

There are times when the Volume Tracking Driver cannot or should not beallowed to overwrite the OEM ID field of the boot record of a disk. Forexample, write-protected disks physically prevent the Volume TrackingDriver from overwriting the OEM ID field. Also, some software programs,such as backups, rely on the OEM ID field to determine whether the diskcontains valid data. For instance, if a utility program stores a name inthe OEM ID field and the Volume Tracking Driver overwrites thisinformation, the disk becomes useless if the backup software checks forthe name.

When the Volume Tracking Drive is prevented from overwriting the OEM IDfield on a disk, it stores the disk's volume serial number andlabel in memory and uses the combination of these to identify the disk.Although this method does not modify the disk, it is slower thanstoring a unique ID on the disk itself.

Although the Volume Tracking Driver cannot be disabled, it can be preventedfrom modifying the OEM ID field of specific types of disks if thefollowing value is created for the registry key:

   HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\       FileSystem\NoVolTrack				

The values in this key form a table of patterns and offsets that the VolumeTracking Driver uses to determine which disks should not be modified.When a new disk is inserted, the Volume Tracking Driver scans thistable looking for each pattern at its corresponding offset in thedisk's boot sector. If it finds a pattern, it does not update the OEMID field in the disk's boot record, but rather identifies the diskby its volume serial number and label.

Each value of the NoVolTrack key is binary data formatted as a two-byteoffset in little-endian order followed by an arbitrarily long sequence ofbytes that make up a pattern. The Volume Tracking Driver ignores the labelof each value, but the labels are used to aid human readers inunderstanding the type of disk to which the value refers. An exampletable of values looks like the following:

   NoVolTrack      Label    Offset   Pattern      -------  ------   --------------------      MyDisk   0050h    MyDisk      COOL     0100h    COOL				

In the Registry Editor, this table looks like the following:

      MyDisk   50 00 4D 79 44 69 73 6B      COOL     00 01 43 4F 4F 4C				

If your software relies on the OEM ID in the boot record of disks ituses, you need to register your "disk type" by adding it to the tableof values in the NoVolTrack registry key.
4.00 floppy disk boot sector diskette

Article ID: 150582 - Last Review: 10/26/2013 15:29:00 - Revision: 5.0

Microsoft Win32 Application Programming Interface

  • kbnosurvey kbarchive kbapi kbkernbase KB150582