Segment Load Failure Errors in Windows

This information was provided by Claris Corporation on 16 March 1998, and incorporated into Apple Computer's Tech Info Library.
If the error message "Segment Load Failure" appears during installation, the likely cause is that the Files= setting in the CONFIG.SYS file is set too low. You should edit the CONFIG.SYS file and change the number after the Files= line to a higher value.

"Segment Load Failure" errors are generated if a discarded code segment has been damaged or moved, or if Windows lacks the system resources to load a file, as in the case when there are not enough MS-DOS file handles.

Microsoft Windows loads programs into memory in segments (64K blocks of memory) marked fixed, movable, or discardable. Windows can unload discardable segments when it needs more memory for other applications. When an application needs to access a segment of code that is not in memory, Windows loads it from the hard disk. If Windows cannot load the segment for some reason, it generates a "Segment Load Failure" error.

If You Are Running Windows for Workgroups 3.11:
When you try to open or copy a file larger than 2 megabytes (MB) with Windows for Workgroups 3.11, you may receive one of the following error messages: "Segment Load Failure" or "Insufficient Memory."

These errors occur if both of the following conditions exist:

- You are using a permanent swap file without 32-bit disk access enabled. This causes paging to occur through MS-DOS.
-and-
- You are using 32-bit file access. Since 32-bit disk access is disabled, the real-mode mapper (RMM.D32) is used to provide 32-bit file services.

These errors do not occur if the permanent swap file is on a drive with 32-bit disk access enabled or if 32-bit file access is disabled.

To work around these errors do one of the following:

- If your hard disk controller is WD1003 compatible, enable 32-bit disk access, or disable 32-bit file access.

Microsoft has confirmed this to be a issue in Microsoft Windows for Workgroups version 3.11.

This size of the file needed to trigger this error is not always 2 MB. The limit is 512 multiplied by the size of the allocation unit for the drive where the target file resides. The allocation unit size is commonly 4096 bytes, thus the apparent 2 MB limit. In cases in which the allocation unit size is different, the limit is also different.
Published Date: Feb 18, 2012