Windows 3.11 Startup Virtual Device Drivers

In Microsoft Windows 3.11, the primary configuration file responsible for defining which virtual device drivers load at startup is SYSTEM.INI. This article explains the role of SYSTEM.INI, details the specific section where virtual device drivers (VxDs) are defined, and covers how these drivers operated to support Windows 3.11 in 386 Enhanced Mode.

The Role of SYSTEM.INI

In early versions of Windows, system hardware configuration was governed by initialization files rather than a centralized registry. Located in the primary Windows installation directory (typically C:\WINDOWS), SYSTEM.INI controlled hardware settings, display parameters, multimedia components, and core system drivers.

The [386Enh] Section

Virtual device drivers (files with a .386 extension, commonly called VxDs) were declared inside the [386Enh] section of SYSTEM.INI. Windows 3.11 ran exclusively in 386 Enhanced Mode, requiring these drivers to manage shared hardware access between the operating system, Windows-based applications, and concurrent MS-DOS virtual machines.

To load a driver, an entry was added using the device= directive:

[386Enh]
device=*vshare
device=*vmouse
device=c:\windows\system\custom.386

Internal vs. External Drivers

The driver definitions within SYSTEM.INI fell into two categories:

  • Internal Drivers: Indicated by an asterisk (e.g., device=*vfd), these drivers were embedded directly inside the WIN386.EXE core file and did not require a standalone external file on disk.
  • External Drivers: Indicated by a full filename or path (e.g., device=vcache.386), these were standalone files loaded from disk, often installed by hardware manufacturers or specific Windows updates.

In Windows for Workgroups 3.11, the [386Enh] section of SYSTEM.INI played an even more critical role by managing 32-bit File Access and 32-bit Disk Access drivers, such as IFSMGR.386 and VCACHE.386, ensuring faster network and storage throughput.