Lowercase Drive Letter in System.ini May Cause Windows 98 Second Edition to Hang During Suspend
This question was answered on June 16, 1999. Much of the information contained herein may have changed since posting.
When you attempt to suspend a computer running Windows 98 Second Edition, the computer may stop responding (hang)
The cause according to Microsoft is the name of the swapfile used by Windows 98 can be changed by adding a PagingFile= line to the 386Enh section of the System.ini file If the path specified for the swapfile includes a lowercase drive letter, it can cause Windows 98 Second Edition to occasionally hang during a suspend
To fix this, change the lowercase drive letter specified for the swapfile path in System.ini to uppercase
Microsoft has confirmed this to be a problem in the SE (Second Edition) of Windows 98 only.
The GEEK stuff!
The I/O subsystem driver (IOS) in Windows 98 (Ios.vxd) attempts to determine the paging device so it can mark it as a device that cannot be powered off until interrupts have been disabled IOS does this by retrieving the path for the swapfile, stripping out the drive letter from this string, and subtracting the ASCII value for an uppercase letter "A," to determine the drive number It assumes the drive letter is always specified using an uppercase letter, and does not convert lowercase drive letters to uppercase before subtracting to determine the drive number.
If IOS cannot determine the paging device, it will cause the drive to be powered off early in the suspend phase when interrupts are still enabled After the paging drive is powered off, Windows 98 Second Edition attempts to flush the drive If at this point there is still cached data that has not been written to disk, the attempt to flush the drive will fail because the disk is powered down and cannot accept I/O requests.
The FAT file system will attempt to display an error message about this failure; however, the display device is already powered off at this point, so it will appear that the machine is hung
About the author
Posted by Ken Colburn of Data Doctors on June 16, 1999