Files Corrupted on Save: How to Troubleshoot Source of Problem
ID: Q142116
|
The information in this article applies to:
-
Microsoft Excel for Windows, versions 5.0, 5.0c
-
Microsoft Excel for Windows 95, version 7.0
-
Microsoft Excel 97 for Windows
-
Microsoft Windows versions 3.1, 3.11, 95
-
Microsoft Windows for Workgroups, version 3.11
SYMPTOMS
Files that you save to a floppy disk or to a network disk drive may
intermittently become corrupted or damaged when you use any of the
programs 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:
- Use the right mouse button to click My Computer, and then click
Properties.
- Click the Performance tab.
- Click the File System button.
- 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
- 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 these
steps:
- 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.
- 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 that
can be changed in the [386enh] section.
32-bit Disk Access (FastDisk)
32-bit disk access technology was developed for Windows 3.1 and works
with any drive controller that is WD1003 compatible. It allows Windows
to bypass the BIOS and access the drive controller directly which allows
for better performance in Windows and MS-DOS programs running under
Windows. 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 Mode
Mapper (RMM.D32). This allows 32-bit file access to run even faster. If
your drive controller is not WD1003 compatible, contact your hardware
vendor to see if a 32-bit disk access driver is available for your drive
controller. 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 the
System.ini file. The purpose of this entry is to turn 32-bit disk access
on or off. To change this setting, choose the 386 Enhanced icon in the
Control Panel window. If this setting is not present in the System.ini
file, the 32-bit Disk Access check box will not appear in the Virtual
Memory dialog box of Control Panel.
SystemROMBreakPoint Statement
The SystemROMBreakPoint statement specifies whether Windows should use
ROM address space between F000:0000 and 1 MB for a break point. Windows
in 386 enhanced mode normally searches this space to find a special
instruction that is used as a system break point. If this address space
contains something other than permanently available ROM, you should
disable 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 the
80386/486 CPU; it is False if Windows is started in virtual mode of the
80386/486 CPU. Most 386 memory managers, such as QEMM and 386MAX,
require this value to be set to False if the memory manager running
Windows is started in virtual mode. Otherwise, Windows is started in
real mode. To change this setting, use a text editor such as Windows
Notepad to edit the System.ini file.
NOTE: It is very important that you type this line in the System.ini
file EXACTLY as it appears above. Any errors--including a difference in
case--can cause Windows to ignore the setting in the System.ini file.
VirtualHDIrq Statement
The VirtualHDIrq statement if enabled in Windows 386 enhanced mode can
terminate interrupts from the hard disk controller, bypassing the ROM
routine that handles these interrupts. Some hard disk drives might
require this setting to be disabled in order for interrupts to be
processed correctly. If this setting is disabled, the ROM routine
handles 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 is
Off for all other computers. To change this setting, use a text editor
such as Windows Notepad to edit the System.ini file.
NOTE: It is very important that you type this line in the System.ini
file EXACTLY as it appears above. Any errors--including using a
different case--can cause Windows to ignore the setting in the
System.ini file.
EMMExclude Statement
The EMMExclude statement in the System.ini file specifies a range of
memory that Windows will not scan to find unused address space. This
statement has the side effect of turning off the RAM and ROM search code
for the range. The range (two paragraph values separated by a hyphen)
must be between A000 and EFFF. This scanning can interfere with some
adapters that use the same memory area. The starting value is rounded
down and the ending value is rounded up to a multiple of 16K. For
example, you could set EMMExclude=C800- CFFF to prevent Windows from
scanning the addresses C800:0000 through CFFF:000F. You can specify more
than one range by including more than one EMMExclude line.
NOTE: If any upper memory block (UMB) provider is installed in the
Config.sys file, this switch has no effect in the region the UMB
provider is using. The UMB provider has priority in the UMB area. For
this 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 editor
such as Windows Notepad to edit the System.ini file.
NOTE: It is very important that you type this line in the System.ini
file exactly as it appears above. Any errors--including a difference in
case--can cause Windows to ignore the setting in the System.ini file.
Additional query words:
5.00c 8.00 97 damage damaged tshoot
Keywords : xlloadsave xlwin
Version : WINDOWS:5.0,5.0c,7.0,97
Platform : WINDOWS
Issue type :
Last Reviewed: April 14, 1999