Files Corrupted on Save: How to Troubleshoot Source of Problem

This article was previously published under Q142116
This article has been archived. It is offered "as is" and will no longer be updated.
Symptoms
Files that you save to a floppy disk or to a network disk drive mayintermittently become corrupted or damaged when you use any of theprograms listed at the beginning of this article.
Cause
This problem may occur for either of the following reasons:

  • The method that is used when Microsoft Excel reads and writes files

    Microsoft Excel uses a technique called "back seeking" when reading and writing files. "Back seeking" means that when Microsoft Excel opens a file and reads from it, it does not necessarily read or write in a sequential manner. It may start at the first record in the file, jump to the fifteenth record, go back to the third record, and so on. This "jumping back" part may be what is causing the intermittent corruption of files especially when you are saving to a floppy disk drive. Microsoft Excel is one of a few programs that uses this technique when reading and writing files. Often these disk problems appear to exist only in Microsoft Excel. Having the floppy disk drive heads realigned should correct this problem.

    -or-
  • A conflict occurs when Microsoft Windows virtualizes the hard disk controller.

Testing for a conflict with Windows

To test for a conflict with Windows, use the following appropriate method.

Method 1: Microsoft Windows 95 Only

If you are using Microsoft Windows 95, do either of the following:

  • Start Windows 95 in Safe mode. To start Windows 95 in Safe mode, press the F8 key when you see the "Starting Windows 95" message, and then choose Safe Mode from the Startup menu.

    -or-
  • Disable the File System Properties Settings. To disable the File System properties settings, follow these steps:

    1. Use the right mouse button to click My Computer, and then click Properties.
    2. Click the Performance tab.
    3. Click the File System button.
    4. Click the Troubleshooting tab. Select the following check boxes:

                Disable protect-mode hard disk interrupt handling          Disable synchronous buffer commits          Disable all 32-bit protect-mode disk drivers          Disable write-behind caching for all drives
    5. Restart your computer.

Method 2: Microsoft Windows 3.x or Windows for Workgroups Only

If you are using Windows 3.x or Windows for Workgroups, follow thesesteps:

  1. Start Windows with the following diagnostic switches:

    WIN /D:FSVX

    NOTE: The /D switch is used for troubleshooting problems when Windows does not start or run correctly. The following table lists each of the WIN.COM switches and its function.

                                           Which is equivalent to                                       using this in the      This                             [386enh] section of      switch   Does this               System.ini file      -------------------------------------------------------      :F       Turns off 32-bit disk  32BitDiskAccess=FALSE               access.      :S       Specifies that Win-   SystemROMBreakPoint=FALSE               dows should not use               ROM address space               between F000:0000 and               1 megabyte (MB) for a               break point.      :V       Specifies that the ROM   VirtualHDIRQ=FALSE               routine handles               interrupts from the hard               drive controller.      :X       Excludes all of the      EMMExclude=A000-FFFF              adapter area from the              range of memory that              Windows scans to find              unused space.						
  2. After you determine which switch or combination of switches, allows you to save Microsoft Excel files to be to an external drive without corruption, use a text editor such as Windows Notepad to add the corresponding line, or lines, to the [386enh] section of the System.ini file.
More information
The following is a detailed description of the System.ini settings thatcan be changed in the [386enh] section.

32-bit Disk Access (FastDisk)

32-bit disk access technology was developed for Windows 3.1 and workswith any drive controller that is WD1003 compatible. It allows Windowsto bypass the BIOS and access the drive controller directly which allowsfor better performance in Windows and MS-DOS programs running underWindows. In Windows for Workgroups 3.11, 32-bit disk access allows 32-bit file access to be a client to it instead of using the Real ModeMapper (RMM.D32). This allows 32-bit file access to run even faster. Ifyour drive controller is not WD1003 compatible, contact your hardwarevendor to see if a 32-bit disk access driver is available for your drivecontroller. The System.ini setting for this setting is as follows:
32BitDiskAccess=<Boolean>
The default setting is Off if your hard disk is capable of supporting 32-bit disk access. Otherwise, this setting is not present in theSystem.ini file. The purpose of this entry is to turn 32-bit disk accesson or off. To change this setting, choose the 386 Enhanced icon in theControl Panel window. If this setting is not present in the System.inifile, the 32-bit Disk Access check box will not appear in the VirtualMemory dialog box of Control Panel.

SystemROMBreakPoint Statement

The SystemROMBreakPoint statement specifies whether Windows should useROM address space between F000:0000 and 1 MB for a break point. Windowsin 386 enhanced mode normally searches this space to find a specialinstruction that is used as a system break point. If this address spacecontains something other than permanently available ROM, you shoulddisable this setting. The System.ini setting for this is as follows:
SystemROMBreakPoint=<Boolean>
The default setting is True if Windows is started in real mode of the80386/486 CPU; it is False if Windows is started in virtual mode of the80386/486 CPU. Most 386 memory managers, such as QEMM and 386MAX,require this value to be set to False if the memory manager runningWindows is started in virtual mode. Otherwise, Windows is started inreal mode. To change this setting, use a text editor such as WindowsNotepad to edit the System.ini file.

NOTE: It is very important that you type this line in the System.inifile EXACTLY as it appears above. Any errors--including a difference incase--can cause Windows to ignore the setting in the System.ini file.

VirtualHDIrq Statement

The VirtualHDIrq statement if enabled in Windows 386 enhanced mode canterminate interrupts from the hard disk controller, bypassing the ROMroutine that handles these interrupts. Some hard disk drives mightrequire this setting to be disabled in order for interrupts to beprocessed correctly. If this setting is disabled, the ROM routinehandles the interrupts, which slows down system performance.

The System.ini setting for this is as follows:
VirtualHDIrq=<Boolean>
The default setting is On for AT-compatible computers; the setting isOff for all other computers. To change this setting, use a text editorsuch as Windows Notepad to edit the System.ini file.

NOTE: It is very important that you type this line in the System.inifile EXACTLY as it appears above. Any errors--including using adifferent case--can cause Windows to ignore the setting in theSystem.ini file.

EMMExclude Statement

The EMMExclude statement in the System.ini file specifies a range ofmemory that Windows will not scan to find unused address space. Thisstatement has the side effect of turning off the RAM and ROM search codefor the range. The range (two paragraph values separated by a hyphen)must be between A000 and EFFF. This scanning can interfere with someadapters that use the same memory area. The starting value is roundeddown and the ending value is rounded up to a multiple of 16K. Forexample, you could set EMMExclude=C800- CFFF to prevent Windows fromscanning the addresses C800:0000 through CFFF:000F. You can specify morethan one range by including more than one EMMExclude line.

NOTE: If any upper memory block (UMB) provider is installed in theConfig.sys file, this switch has no effect in the region the UMBprovider is using. The UMB provider has priority in the UMB area. Forthis reason, you should disable the UMB provider (such as EMM386.EXE),restart the system, and then try the WIN /D:X switch.

The System.ini setting for this is as follows:
EMMExclude=<paragraph-range>
There is no default setting. To change this setting, use a text editorsuch as Windows Notepad to edit the System.ini file.

NOTE: It is very important that you type this line in the System.inifile exactly as it appears above. Any errors--including a difference incase--can cause Windows to ignore the setting in the System.ini file.
5.00c 8.00 97 damage damaged tshoot
Properties

Article ID: 142116 - Last Review: 10/26/2013 13:51:00 - Revision: 2.0

  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 5.0 Standard Edition
  • Microsoft Excel 95 Standard Edition
  • Microsoft Windows 3.1 Standard Edition
  • Microsoft Windows 3.11 Standard Edition
  • kbnosurvey kbarchive KB142116
Feedback