Archive-name: ms-windows/32bit-file-faq/ Posting-Frequency: monthly Last-modified: 1996/7/26 Version: 3.0 URL: http://www.infi.net/~gewkab/32bfafaq.html 32-BIT FILE ACCESS Frequently Asked Questions --------------------------------------------- Copyright (c) 1995 by Michael McCormick, all rights reserved. This is of mainly interest to Windows for Workgroups (WFWG 3.11) users. Windows 95 and Windows NT users may benefit from some parts also. Usual disclaimers apply. The author does not warranty or guarantee factual correctness of all details. The author does not speak here for Unisys, nor for Microsoft. "Windows" and "Windows for Workgroups" are Microsoft trademarks. Microsoft is ultimately the only real authority on their products. To be sure you are reading the latest version of the FAQ, see "How to Get this FAQ" section at the end. Generally the FAQ has an 'expiration date' one month beyond its last modification date. This FAQ may be posted to any USENET newsgroup or BBS, as long as it is posted in its entirety and includes this disclaimer section. This FAQ may be archived at any public FTP or WWW location, as long as it is archived in its entirety, following the "Archive-name" (see above: the "/partx" part can be omitted if the FAQ is stored as a single file) naming convention. If you want your site mentioned in the FAQ, contact the author. This FAQ may not be distributed for financial gain. This FAQ may not be included in commercial collections, publications, or applications without express permission from the author. Thanks to all the many people around the world who helped with comments or suggestions on the earlier versions. I am still looking for corrections and feedback. Particular areas where this FAQ needs some help are called out in a section at the end of the FAQ called NEEDS. Send to: Mike McCormick (mtm4@rsvl.unisys.com). This FAQ makes reference to MSDOS pathnames C:\WINDOWS and C:\WINDOWS\SYSTEM. If you have Windows installed elsewhere or your Windows System directory elsewhere, adjust accordingly. Before you decide to go ahead and configure 32-bit file access on your PC, you should look over this entire FAQ, esp. the INCOMPATIBILITIES section. ____________________________________________________________________________ CONTENTS (*=new,+=changed) PART ONE: Background 1. What is 32-bit file access? 1a. Why would you want to use 32-bit file access? 1b. Is it different than 32-bit disk access? + 1c. Isn't 32-bit file access a Windows NT / 95 feature? 1d. Is it provided in all versions of Windows for Workgroups? 2. What PCs can run 32-bit file access? + 2a. Does it work with CD-ROM? 2b. How is it related to the Windows cache (Vcache)? 2c. Can you run it without any cache? 2d. Does it work with a RAM drive? PART TWO: Configuration 3. How do you turn on 32-bit file access? 3a. How can you get the latest version of RMM.D32? 3b. Is it true you can't use 32-bit file access on your swapfile drive? 3c. How do you deinstall (permanently disable) 32-bit file access? 3d. How can you just turn off 32-bit file access temporarily? 3e. How do other WIN command switches affect 32-bit file access? 4. How do you tell whether 32-bit file access is working on your PC? 4a. What about the WFW3.11RK "32-Bit File Access Status" program? 4b: So how do you check 32-bit file access in Windows 95? PART THREE: Optimization 5. Should you run SMARTDRV if you have 32-bit file access? 5a. Should you use write caching or "store-through" caching? 5b. If you use write caching, how do you manually "flush" the cache? 5c. How can you optimize your cache efficiency? 5d. How does Windows cache affect system resources? 5e. What about tune-up utilities like Wintune? PART FOUR: Troubleshooting 6. PC seems slower with 32-bit file access than it did with 16-bit. 6a. There is a 5-second pause before every Windows program starts. 7. PC hangs when you exit Windows. 8. You know your PC supports 32-bit file access, but it does not take effect. 8a. What if it only takes effect on certain drives or partitions? 8b. What if it only takes effect when 32-bit disk access is on? 8c. What if it only takes effect when 32-bit disk access is off? 9. When you exit Windows after configuring 32-bit file access, Windows automatically restarts itself. 10. Sometime after configuring 32-bit file access, you start getting "File is damaged" error messages from Windows. 11. PC hangs during WIN startup, while Windows logo is on screen. 11a. You get an error message during WIN startup: "Microsoft 32-bit disk driver (WDCTRL) cannot be loaded". 11b. You get an error message when you run a Windows .EXE: "Segment Load Failure". 11c. Why do file copies occasionally fail? 11d. Why is the cache size displayed different from what you configured? 11e. Why did your network drives disappear? 11f. Why does ScanDisk report errors on your compressed drives now? * 11g. What if your CD-ROM becomes inaccessible or slows down? PART FIVE: Incompatibilities 12. You can't restore a deleted file with MWUNDELETE or MS-DOS UNDELETE. 12a. You cannot search for a deleted file with MWUNDELETE. 13. Is it safe to run 32-bit file access with disk compression? 13a. You get "compressed disk ... not currently set up for 32-bit file access." 14. You get errors from Powerpoint when you access ClipArt Gallery. 15. Is there any hard drive you can enable 32-bit file access with, but with which it is incompatible? 16. You have to manually reinitialize Microsoft Scenes each time you start Windows. 17. Can you run other disk cache utilities at the same time Windows is caching? 17a. What about Hurricane? 18. DOS command "IF EXIST *\NUL" does not work from within Windows if 32-bit file access is on. 19. Does 32-bit file access work on secondary (slave) hard drives? 20. Does the DOS SUBST command (drive letter substitution) remain in effect in WFWG with 32-bit file access? 21. Is 32-bit file access incompatible with some networks? 21a. No 32-bit file access due to a "real-mode network redirector". 22. Do some TSR programs interfere with 32-bit file access? 22a. How about UnInstaller? 23. Why does running NDOS as my shell disable 32-bit file access? 24. Why does QEMM disable 32-bit file access? 25. Why did WFWG 32-bit file access stop working when I got Windows 95? +Revisions +Needs +How To Get This FAQ ____________________________________________________________________________ BACKGROUND Q1: What is 32-bit file access? A: Without 32-bit file access, Windows has to perform every file access through DOS and the underlying BIOS. This requires switching the CPU into 16-bit real mode. With 32-bit file access, Windows stays in control of the file operation, executes in 32-bit protected mode, and uses its own fast, internal file cache. [cf. WFWG Resource Kit Manual Addendum for 3.11] Q1a: Why would you want to use 32-bit file access? A: Performance. Combined with Windows internal caching (VCache), it outperforms all previous caches (Smartdrv, Cacheclk, NCache, etc.) on standard benchmarks. It even outperforms them running on a comparatively smaller cache. Q1b: Is it different than 32-bit disk access? A1: 32-bit file and disk access are similar but different, which is a source of confusion to users. 32-bit disk access (aka FastDisk) pre-dates WFWG 3.11. It allows Windows to partially bypass BIOS, and remain in 386 protected mode while directly accessing the disk bus and remaining at CPU speeds. It does less for performance (and is less likely to work on many PCs) than 32-bit file access. It comes with its own set of problems, and is NOT the subject of this FAQ! A2: 32-bit file access does not require 32-bit disk access. (If it seems to on your machine, see question Q8b.) A3: 32-bit file access does not replace 32-bit disk access. A4: "Any INT21H calls that are processed by VFAT are handled entirely in protected mode. The performance increase obtained by 32-bit disk access is now increased further with 32-bit file access." [WFWRKMA 3.11] A5: If you have to choose between 32-bit file access and disk access (see Q8c), choose 32-bit file access. Q1c: Isn't 32-bit file access a Windows NT / 95 feature? A: This is another source of confusion. ALL file access in Windows NT and Windows 95 is 32-bit when possible. But in Windows for Workgroups, 32-bit file access is optional, and defaults to 16-bit even if your system is capable of 32-bit. This FAQ is mainly about 32-bit file access in Windows for Workgroups. Q1d: Is it provided in all versions of Windows for Workgroups? A: No. The early WFWG 3.1 release did not include 32-bit file access. It was added in the more widely released WFWG 3.11. Q2: What PCs can run 32-bit file access? A: Normally any 386 or better IBM compatible PC running Windows for Workgroups 3.11 (as opposed to regular Windows 3.11) in Enhanced Mode (normally WFWG can't run in any other mode anyway). Unlike 32-bit disk access, it doesn't usually depend on your disk type. If the 32-bit File Access checkbox appears in your control panel (see Q3A1), then Windows at least *thinks* your system can use it. (If the checkbox is dimmed out, do not try to forcibly configure 32-bit file access in SYSTEM.INI. See Q8 instead.) The only way to be sure is to configure it (see Q3), then verify your machine is actually using it (Q4). Q2a: Does it work with CD-ROM? A: No, you cannot access your CD-ROM drive with 32-bit file access. Access will remain in the slower 16-bit uncached mode, but otherwise the CD-ROM will work fine as before. MS-DOS 6.2 (or higher) users can improve their CD-ROM performance with SMARTDRV however (see Q5). If 32-bit file access seems to interfere with your CD-ROM in any way, see Q11g. Q2b: How is it related to the Windows cache (Vcache)? A: Intimately. The cache requires 32-bit file access. It dramatically improves performance by reducing the number of actual disk accesses required per average file access. Q2c: Can you run it without any cache? A: You're not supposed to. When you set the cache size in the control panel (see Q3A1a) it appears to allow a size of zero, but then it really set the cache size to 128KB. Q2d: Does it work with a RAM drive? A: 32-bit file access works in the presence of a RAM drive, but should ignore it. However Windows for Workgroups (WFWG) is known to erroneously try to apply 32-bit file access to some RAM drives. As a result, the RAM drive would actually be slower than normal (but still much faster than a hard disk) because this is a kind of double caching which slows performance and wastes memory. There are also unconfirmed accounts of DOS applications not running correctly within WFWG on a RAM drive. Note WFWG may not recognize that a RAM drive compressed with Stacker 2.0 is not a hard disk [cf. Microsoft Knowledge Base Q92466]. Because of these concerns, and because ramdrive and vcache drivers contend for the same type of memory, use of RAM drives with 32-bit file access is not recommended. ____________________________________________________________________________ CONFIGURATION Q3: How do you turn on 32-bit file access? A: Here are the configuration steps. Backing up your hard drive first is recommended. To perform these steps you will need to decide whether you wish to use Smartdrv and whether to use write caching. If you're unsure, you can peek ahead to questions Q5 and Q5a. Note when you carry out step (1) it is possible you may find 32-bit File Access is shown to be in effect already by the control panel. If so, you're done! Normally WFWG 3.11 defaults to 16-bit file access, but not (for example) if your PC was configured for a peer network. (1) [As explained in the MS Workgroup Add-On for Windows User's Guide:] Double click Control Panel, double click 386Enh icon, click Virtual Memory (if you get a GPF error here, 32-bit file access may not be compatible with your video or disk controller [cf. Microsoft Knowledge Base Q112552]), click Change, click the 32-bit File Access checkbox (it does not matter which drive is selected above). Be ready for these side-effects: (1a) The Cache Size value will probably change automatically at this point. Optimizing cache size can add considerably to the perform- ance improvement you get with 32-bit file access. The minimum is 128KB, the maximum is 24MB. Setting the cache size too large (more than your computer's available RAM) will cause the misleading message "32-bit file access was unable to run. Your hard disk(s) may not be compatible with 32-bit file access." the next time you check this control panel [cf. Micro- soft Knowledge Base Q108079]. Try one-fourth of your total memory for now (but within the range 1024KB - 4096KB) and then experiment with this later, if in doubt. See Q5c & Q5d for optimizing tips. Warning: The cache size display is truncated for very large values (see Q11d). (1b) The Swapfile settings may also change automatically at this time. Do not attempt to reset swapfile to "Temporary"; that is not allowed with 32-bit file access. Also don't set the Swapfile Size to the "Recommended Size" displayed. That is based (mainly) on disk space available, not always on what is really best for your system. (A small but non-zero amount of Permanent swapfile, typically 1-9MB, seems to work best. Don't assume the amount that worked best before 32-bit file access will still be optimal. See also Q3b.) Be careful the correct drive is selected -- it may show "C:" now even if you used to keep the swapfile somewhere else. (Note: Permanent swapfile must not be on a compressed drive.) (1c) Click OK to close the control panel. (1d) Click "Continue" -- do not restart Windows yet. (2) If you are not running 32-bit disk in addition to 32-bit file access, you are going to need the Real Mode Mapper 32-Bit Driver (RMM.D32). If that includes you, use File Manager to find RMM.D32 in C:\WINDOWS\SYSTEM. It should be there, and it should have a 12/93 date or later. (Note: an inefficient version dated 11/93 was shipped to many Windows buyers.) If it is not there (or is the older version) see Q3a before proceeding. (3) Use File Manager to find IFSHLP.SYS in C:\WINDOWS. If it is not there, obtain it or disable 32-bit File Access; running 32-bit file access without the "Installable File System Helper" (IFSHLP) is not possible. (3a) Start up the System Editor (in a pinch, Notepad will do) and examine your C:\CONFIG.SYS file. It should contain the statement "device[high]=[path]ifshlp.sys". If IFSHLP.SYS is not there, add it. If your PC is on a network, see question Q21. (4) This next step (4a) disables write caching by Windows. Skip this step if you want write caching. See question Q5a if you're unsure. (4a) Use System Editor to edit your C:\WINDOWS\SYSTEM.INI file. Find the section labeled "[386Enh]". Add the following statement anywhere in that section: "ForceLazyOff=C"; or if your PC has a partitioned hard drive, insert "ForceLazyOff=Cx", where "x" is a string of letters representing other partitions. The only partitions you can safely omit are those that contain only temporary and/or read-only data. For instance, a D: drive containing just \TEMP plus your swapfile could be omitted for even faster performance. Note documentation saying this belongs in the [vcache] section of SYSTEM.INI is incorrect [cf. Microsoft Knowledge Base Q107645, Q108109]. (5) As long as you are in the [386Enh] section, make sure you have the statement "device=vcache.386" somewhere in there. By default it is always present, but some people have removed it from their systems to prevent unwanted caching. Somewhere nearby should also be "device=ifsmgr.386" and "device=vfat.386". (And unless you run 32-bit disk access, you will also need "device=vxdldr.386" which is the virtual driver that uses RMM.D32.) (5a) And while you're still in the [386Enh] section, check for the statement "NoEMMDriver=ON". If it's there, you may need to REMOVE it, or at least make a note of it in case you get a Windows hang later when you restart WFWG with 32-bit file access (see Q11). (6) This next step (6a) removes double buffering from your SMARTDRV cache. If you want to keep SMARTDRV on your system (see Q5), this step is not required but it does seem to improve performance for many users. You may choose to skip (6a) for now, especially if you know your PC has a bus mastered DMA disk controller, or if your PC owner's manual says you need double buffering to run SMARTDRV. (6a) Use System Editor to edit your C:\CONFIG.SYS file. Look for a command of the form "device=smartdrv.exe /double_buffer". If it is there, remove it. (Or if you have DOS 6.0 or higher, you can just "REM it out" instead of actually deleting it.) (7) If you want to keep SMARTDRV on your system (see Q5), do the following: (7a) Use System Editor to edit your C:\AUTOEXEC.BAT file. Find the SMARTDRV call. If the /L switch is present, remove it. The two numbers at the end of the line are the sizes (in KB) of the DOS and Windows caches. Set the Windows cache size (2nd number) to 0 unless you use floppy disks, CD-ROMs, or optical disks heavily in Windows. If you do use any of those, then set it to 128. (See Q5c.) By the way, it is legal to LOADHIGH SMARTDRV, despite Microsoft's contrary statement in the Windows Resource Kit. However, it should load itself in upper memory automatically if it can anyway. (7b) If you do not want write caching (see Q5a), make sure none of the drive letters are followed by a "+" sign on the SMARTDRV call. Remove any "+" sign you find post-fixed to a drive letter. If any drive letters are missing (excluding compressed volumes), add them to the SMARTDRV call because omitting a [non-compressed] drive is the same as specifying it with the "+" sign.... Or add a /C switch to the SMARTDRV call to change the default mode to store-through caching on all drives, or a /F switch to force frequent cache writes. (7c) Use System Editor to edit your C:\CONFIG.SYS file. Look for a command of the form "buffers=", typically "buffers=3,0". If the typical value of "3" or "3,0" is there, do nothing. But if a larger value is present, change it to "buffers=3". (Heavy DOS users may prefer a higher value, say 10. Never set it above 48!) If a second number is present (e.g., "3,5") remove it or change it to zero. (8) If you want to disable SMARTDRV on your system (see Q5), do the following: (8a) Use System Editor to edit your C:\AUTOEXEC.BAT file. Find the SMARTDRV call, and prefix it with "REM " to disable it. (8b) Use System Editor to edit your C:\CONFIG.SYS file. Look for a command of the form "buffers=", typically "buffers=3,0". Change it to "buffers=10". (Heavy word processing users and users with FILES configured high [see next step] may prefer a higher value, say 30. Never set it above 48!) If a second number is present (e.g., "3,5") remove it or change it to zero. (9) While you are in CONFIG.SYS, look for "files=". If it is not there, or if the value is less than 30, consider setting it to 30 or more. (Maximum open files allowed is 255.) (10) Go back to AUTOEXEC.BAT and look for the command line "UNDELETE /LOAD". If present, you may want to "REM" it off to conserve resources unless you delete files a lot outside Windows (in DOS). See Q12 for more information. (11) Close System Editor. Exit Windows. (Optional: To get an extra performance boost, this may be a good time to run DEFRAG.) Reboot the PC. Restart Windows. Check whether 32-bit access is working (see Q4). Q3a: How can you get the latest version of RMM.D32? A: You may need the latest RMM.D32 file dated 12/93 or later to get the best possible performance from 32-bit file access (see Q3A2). Some PCs show no measurable improvement moving from an old to new version of RMM.D32. Other PCs show major improvement, especially on Novell networks. A few cannot use 32-bit file access at all without it; for example, if you run disk compression (DoubleSpace, Stacker) or your hard drive does not support 32-bit DISK access. You can obtain the latest version of RMM.D32 by gopher at and search the Microsoft Software Library for file WG0973.EXE. (Microsoft prefers you use Gopher, not FTP.) Download it and execute it -- it will self-extract (using PKZUNZIP) a copy of RMM.D32 and an accompanying file README.TXT into its current directory. Move RMM.D32 to C:\WINDOWS\SYSTEM. Q3b: Is it true you can't use 32-bit file access on your swapfile drive? A: No. This is a persistent but unfounded rumor. What is true though, is that you can only use a Permanent swapfile with 32-bit file access. A Temporary swapfile is not allowed. Running with swapfile set to "None" is allowed, but will not perform as well with 32-bit file access as a small permanent swapfile (see Q3A1b). Note a major change in your swapfile type or size may require you to resize your cache as well (see Q5c). Also: Do not put a permanent swapfile on a compressed drive (see Q13). Q3c: How do you deinstall (permanently disable) 32-bit file access? A: If you think disabling 32-bit file access is going to solve some specific problem, you may wish to try turning it off temporarily (see Q3d) before carrying out these drastic steps. You may find 32-bit file access was not the real cause of your problem, or that you cannot live with the slower performance of 16-bit file access. Assuming you are serious about deinstalling it, here are the steps. Backing up your hard drive first is encouraged: (1) Start Windows with 16-bit mode switches: "WIN /d:cf". (2) Double-click Control Panel, double-click 386Enh icon, click Virtual Memory, click Change, click off the 32-Bit File Access checkbox. (2a) At this moment, Cache Size will change automatically (typically to 512KB). If you are going to use SMARTDRV to cache your hard drives in Windows now, set Cache Size here to zero. (2b) If you wish, you are now free to change your swapfile to None or Temporary. In any case, make sure the correct drive is selected; it may show "C:" now even if you used to keep swapfile somewhere else. (2c) Click OK to close the control panel. (2d) Click on "Restart Windows". (3) You probably want to use SMARTDRV to cache your hard drive(s) in Windows now. If so, do all the following. (If not, skip to step 4.) (3a) Use the System Editor (Notepad will do if need be) to edit C:\CONFIG.SYS. Search for a "REM device=smartdrv" statement. If found, remove the "REM ". If not found, don't worry about it. (3b) While in CONFIG.SYS, look for "buffers=". If the value is 10 or more, consider lowering it to something in the 3-10 range. If not found, don't worry about it. (3c) Switch your System Editor window to C:\WINDOWS\SYSTEM.INI. Look in the [386Enh] section for "device=vcache.386". If found, insert a semicolon before it or remove it altogether. If not found, don't worry. (3d) Switch to C:\AUTOEXEC.BAT. Search for a SMARTDRV command. If prefixed with "REM " then remove the "REM ". Increase the last number on the command (Windows cache size) to at least 256. If the command is not found, you need to reinstall SMARTDRV -- consult MS-DOS manual and HELP. (3e) Exit System Editor. (4) You can start using Tracker or Sentry UNDELETE in Windows again. If you had disabled it due to the 32-bit incompatibility (see Q12) then you can turn it back on now. The easiest way is to double-click the MWUNDEL icon, pull down the Options menu, click on "Configure Delete Protection", click on the checkbox for Sentry or Tracker, and click OK. (5) Exit Windows. Reboot PC. Restart Windows. Make sure 32-bit file access is turned off and your applications still work. Q3d: How can you just turn off 32-bit file access temporarily? A: Start Windows with the 16-bit file access switch: "WIN /d:c". 32-bit file access will be disabled just for that single Windows session. Q3e: How do other WIN command switches affect 32-bit file access? A: Here is the list: WIN /d:c Disables 32-bit file access (32BFA). WIN /d:f Disables 32-bit disk access; does not affect 32BFA if you have RMM.D32 (see Q3a). WIN /d:t Disables *.386 drivers in SYSTEM.INI [386Enh]; disables 32-bit file access. WIN /d:v Disables virtual disk; might slow down 32BFA. WIN /n Disables networking; could enable 32BFA if it were inhibited by network driver problems. WIN /s Standard mode; theoretically would disable 32BFA, but this switch isn't allowed by WFWG. Q4: How do you tell whether 32-bit file access is working on your PC? A: Double click Control Panels, double click the 386Enh icon, click Virtual Memory. If 32-bit file access is not working, an error box will probably pop up at this point. Otherwise you get an information display window. Check the "File Access" panel at the bottom. If it says "32-bit" then 32-bit file access is now being used. (If your hard drive has more partitions than just C:, then all should show "32-bit".) If it says "16-bit" then it is not working (see Q8). Note it is normal for drives other than hard disks (RAM disk, CD-ROM) to show 16-bit access. If a RAM disk shows 32-bit file access, its performance may be degraded (see Q2d). Click Cancel. Q4a: What about the WFW3.11RK "32-Bit File Access Status" program? A: This program reports the exact same status as the 386Enh control panel. If you own the WFWG Resource Kit, you may prefer to use this to check if 32-bit file access is in effect, instead of the control panel. (It is part of Microsoft's "Windows for Workgroups Resource Kit Addendum for Version 3.11". The program is VFATSTAT.EXE.) Win95 note: This program runs on Windows 95 and says you do *not* have 32-bit file access -- it is lying! Q4b: So how do you check 32-bit file access in Windows 95? A: Through "My Computer" and then "Properties" (or though "Control Panel" and then "System") find and click the "Performance" tab. It should show 32-bit mode, not compatibility mode. If not, check the file IOS.LOG to find out why Win95 loaded a real mode disk driver. ____________________________________________________________________________ OPTIMIZATION Q5: Should you run SMARTDRV if you have 32-bit file access? A: The best answer seems to be "it depends". Removing SMARTDRV (see Q3A8) frees up about 31K of lower memory and 512K of extended memory, but DOS runs slower and Windows takes longer to load. Keeping SMARTDRV (see Q3A7) slightly reduces memory availability (including memory that could be used for the Windows cache [cf. Microsoft Knowledge Base Q106266]) but makes DOS faster and makes Windows start up more quickly. Once Windows is up and running, it will only use SMARTDRV for floppy disk (or CD-ROM or optical disk) access, but not for the hard drive (no matter what drive letters appear on the SMARTDRV command.) So the reasons to keep SMARTDRV in addition to 32-bit file access would be for running DOS applications, using floppy or CD-ROM, or booting up into WFWG more quickly. The price you pay is less memory. You can run Smartmon in Windows to determine to what extent SMARTDRV currently is caching your floppy drives. (Note DOS 6.2 or higher is needed to cache a CD-ROM. Smartmon will not show the CD-ROM caching however [cf. Microsoft Knowledge Base Q127143]. To prevent it from caching CD-ROM, add the /U switch to the SMARTDRV command in AUTOEXEC.BAT.) For caches other than SMARTDRV, refer to Q17. Q5a: Should you use write caching or "store-through" caching? A: If you cache writes to your hard disk as well as reads, you will reap even greater performance benefit for your PC. However, you also risk file corruption or data loss if a write never makes it from your cache in RAM onto your hard disk. Both Smartdrv and the Windows cache give you the option of "store-through" caching to eliminate the risk. You should probably avoid write caching if your PC is subject to unexpected interruptions (power loss, hangs, toddler hitting reset) or if it is connected to a network. If you do use write caching, both Smartdrv and Windows cache do seem to force a save to disk at periodic intervals (as short as 5 seconds during system idle, and a constant rate of every 4 seconds on Windows NT). If you use any disk compression other than DoubleSpace, then write caching in Windows is turned off by default. You can force it on with a "ForceLazyOn" statement (see Q3A4a) in SYSTEM.INI. Windows NT users note: The NT File System (NTFS) combines write caching with automatic logging and crash recovery, so it's write caching is much safer than Windows for Workgroups or Windows 95. Q5b: If you use write caching, how do you manually "flush" the cache? A: If you are about to do something risky to your PC that could possibly hang or crash it, you can manually flush all the writes out of your RAM cache and force them onto your hard disk. Note that flushing the cache to your disk does not invalidate the cache (its contents are still there to accelerate subsequent file accesses.) To flush SmartDrive, enter "SMARTDRV /C". To flush Windows cache, open a DOS box and type control-C or control-break [cf. Microsoft Knowledge Base Q110092]. If you do get hung you should use Ctrl-Alt-Del to recover. Ctrl-Alt-Del also flushes the caches when working properly. A hard reset does not. Try never to push reset while Windows is running if you use write caching! Q5c: How can you optimize your cache efficiency? A: Your goal is to maximize the cache "hit rate", but minimize its size to conserve memory and reduce "thrashing". For the Smartdrv cache, a Windows program called SmartMon will display the hit rate. Try it while running a typical heavy mix of applications, or while running a standard performance benchmark (e.g., WinBench). (If you don't have SmartMon, you can get cache hit rate by entering "SMARTDRV /S" in a DOS box.) Now adjust the cache size for Windows until you achieve the highest possible hit rate. Do all this with 32-bit file access turned OFF (see Q3d). Then re-enable 32-bit file access, and set the Windows cache size to the same amount you found using SmartMon. Disable or reset Smartdrv per the instructions in Q3A7-Q3A8. Q5d: How does Windows cache affect system resources? A: An amount of memory equal to the configured Windows cache size is consumed at Windows start-up time. It is allocated from system resources. This is not the same as the "system resources" reported by Program Manager's Help (About...) menu command, which is an aggregate measure of the system, GDI, and USER heaps. The GDI and USER heaps are not affected by the Windows cache. A good rule is to keep the Windows cache size (plus Smartdrv's Windows cache, if any) at or below 30% of your machine's total RAM [cf. Microsoft Knowledge Base Q106266]. Q5e: What about tune-up utilities like Wintune? A: Many tune-up programs, including the popular Wintune, are very helpful for checking the performance of your system. Using them to benchmark disk performance with and without 32-bit file access will give you some idea of how much it is helping you. However, Wintune gives a blanket cache size recommendation of one-fourth total RAM to all users regardless of actual disk performance, which may not be the optimal size for your system and typical program mix. Nonetheless Wintune is an excellent Windows optimizer. Wintune 2.0 is available from Windows Magazine on their quarterly CD-ROM, or a free download from their website at . The Wintune FAQ is available online at . ____________________________________________________________________________ TROUBLESHOOTING Q6: Windows seems slower with 32-bit file access than it did with 16-bit. A: First make sure 32-bit file access is really running (see Q4). Then make sure you have the correct copy of RMM.D32 (see Q3a). You can also try decreasing your Windows cache size (see Q3A1a,Q5c) or adjusting swapfile settings (see Q3b). If you have a RAM disk, see Q2d. [For more ideas, see Microsoft Knowledge Base article Q106266.] Q6a: There is a 5-second pause before every Windows program starts. A: Novell network users may experience a 5-second delay launching Windows applications. This is fixed by the new RMM.D32 (see Q3a) which reduces the delay to one second [cf. Microsoft Knowledge Base Q106140]. The delay can then be further controlled by adding a line "RMMTimeout=" in the [386Enh] section of SYSTEM.INI, where is the network file timeout value in milliseconds (e.g., "RMMTimeout=500" for a half second). Q7: PC hangs when you exit Windows. A: Make sure you disabled SMARTDRV double buffering, as explained above in Q3A6. Q8: You know your PC should support 32-bit file access, but it does not take effect. A1: Make sure you have the VCACHE.386 driver (see Q3A5). A2: Make sure you do not have a SUBST command in effect (see Q20). A3: Make sure 32-bit disk access isn't getting in the way (see Q8b). A4: Try disabling TSRs temporarily. When a TSR accesses a file while Windows is starting up, or any DOS application has left a file open, WFWG disables 32-bit file access. Common examples of such TSRs are print caches and background FAX handlers. Q8a: What if it only takes effect on certain drives or partitions? A1: Check the [386Enh] section of C:\WINDOWS\SYSTEM.INI to make sure there are "device=ios.386" and "device=vxdldr.386" commands present. A2: Try adding a command of the form "ForceMapper=", where is a string of drive letters representing the partitions that are still getting 16-bit access (e.g., "ForceMapper=C"). A3: Make sure you are not using a temporary swap file (see Q3b). A4: Scan for viruses on the affected drive and on the boot drive. A5: Maybe a TSR (see Q8A4) is opening a file on that partition. Q8b: What if it only takes effect when 32-bit disk access is on? A: There are some machines where enabling 32-bit file access without 32-bit disk access could appear not to work (some P4D Gateway PCs for example). The obvious solution is to turn on 32-bit disk access, but that can be difficult if your hard disk is not WD1003 compliant, has more than 1024 cylinders, etc. If that is not an option, try starting Windows with the non-virtual-disk switch: "WIN /d:v". If that gets 32-bit file access working for you, then make it permanent by placing this state- ment in the [386Enh] section of SYSTEM.INI: "VirtualHDirq=False". Q8c: What if it only takes effect when 32-bit disk access is off? A: Some 32-bit disk drivers create INT13 interrupt contention with 32-bit file access code in WFWG, leading to the message "The device ... cannot be loaded as there is an interrupt conflict. Press space to continue without 32-bit File Access enabled." If possible, obtain a corrected driver from the disk manufacturer. If not, disable 32-bit disk access. Q9: When you exit Windows after configuring 32-bit file access (step Q3A9 above), Windows automatically restarts itself. A: This may be a harmless side-effect of editing AUTOEXEC.BAT during the configuration process. Just reboot the PC with Ctrl-Alt-Del. Q10: Sometime after configuring 32-bit file access, you start getting "File is damaged" error messages from Windows. A: If you let system cache file writes as well as reads, you can get dangerous file corruption. If you decide to cache writes (see Q5a), this indicates you may want to rethink that choice. You can switch to safer (but slower) "store-through" caching by carrying out steps Q3A4a and Q3A7b. Q11: PC hangs during WIN startup, while Windows logo is on screen. A: Check in your SYSTEM.INI file in c:\windows in the [386Enh] section for a command of the form "NoEMMDriver=On". If you remove this command, you will probably be able to restart Windows. (However, it may not work if your PC does not use the RMM.D32 driver for 32-bit file access. See Q3A2.) This is a confirmed problem that Microsoft plans to fix in an upcoming WFWG release [cf. Microsoft Knowledge Base Q108818]. Q11a: You get an error message during WIN startup: "Microsoft 32-bit disk driver (WDCTRL) cannot be loaded". A: WDCTRL is for 32-bit disk access. First try a virus scan (eg. McAfee 2.2.0 or later). If that fails, try restarting Windows without 32-bit disk access (WIN /d:f) -- 32-bit file access should still be working. (If not, see Q8a.) Now you must either get your 32-bit disk access fixed or disable it permanently -- not the subject of this FAQ! Q11b: You get an error message when you run a Windows .EXE: "Segment Load Failure". A: This could indicate file corruption -- see question Q10. However it may also indicate insufficient file handles -- look in the [boot] section of C:\WINDOWS\SYSTEM.INI for "CachedFilehandles=" and try a higher value if the current one is less than 14 (or if the statement is not found). Q11c: Why do file copies occasionally fail? A: When memory is very tight and you try to copy a file in File Manager, you may get unexpected "Access Denied" or "Sharing Violation" errors. The real problem is lack of memory, not the file, but 32-bit file access may cause the wrong error message to be displayed. Microsoft is working to correct this bug [cf. Microsoft Knowledge Base Q107473]. Q11d: Why is the cache size displayed different from what you configured? A: The cache size displayed in the 386Enhanced control panel's virtual memory dialog box is truncated for all values greater than 9984KB [cf. Microsoft Knowledge Base Q108157]. Ignore this -- the real cache size is whatever you had input (assuming 32-bit file access is active). Q11e: Why did your network drives disappear? A: If you are connected to an IBM OS/2 LAN Server, Microsoft LAN Manager, or Artisoft LANtastic network, and network drives or their contents disappear from File Manager, or their directories appear corrupted, it is because 32-bit file access is not compatible with those networks (see Q21) [cf. Microsoft Knowledge Base Q112366]. Q11f: Why does ScanDisk report errors on your compressed drives now? A: A drive compressed with DoubleSpace or DriveSpace (MS-DOS 6.2 or 6.22, respectively) may get this harmless error when you check it with ScanDisk in DOS: " bytes of data ... might be one or more lost files or directories, but which is probably just taking up space." This is a known bug with 32-bit file access [cf. Microsoft Knowledge Base Q107651] but it is harmless. Nothing is wrong with the drive, but feel free to have ScanDisk repair the bad spots just to be safe. Q11g: What if your CD-ROM becomes inaccessible or slows down? A: Look for a call to MSCDEX in your AUTOEXEC.BAT, and try adding a '/S' switch to that command line. Also if there is a SMARTDRV call present, make sure it comes after the MSDCEX. ____________________________________________________________________________ INCOMPATIBILITIES Q12: You cannot restore a deleted file with MWUNDELETE or MS-DOS UNDELETE. A: Files deleted in WFWG (File Manager, or even a DOS box) while running 32-bit file access in conjunction with IFSHLP (see Q3A3) cannot be undeleted in Windows (MWUNDELETE, or UNDELETE in a DOS Prompt box). The following full screen error message will appear: "Exit Windows and run the MS-DOS version of this utility." Then if you return to Windows Undelete (MWUNDELETE) you will see "Disk drive failed - could not perform operation." Or if you return to a DOS prompt, you will see: "You attempted to write a protected diskette." Don't worry! Nothing is wrong with your disk drive. To restore the file, you must exit Windows and do it from MS-DOS. The sooner you do so, the better your odds of getting the file back! "CD" to the directory where the file was deleted, and enter "UNDELETE /DOS". You will be shown which files are recoverable in this directory one by one. The /DOS switch is required if you have currently or previously ever configured Tracker or Sentry UNDELETE protection. UNDELETE's three protection modes (Standard, Tracker, Sentry) are explained in your MS-DOS User's Guide or by entering "HELP UNDELETE". 32-bit File Access users can only take advantage of Standard protection! However, Tracker and Sentry still work for files deleted from DOS. Unless you use DOS a lot, it is recommended you configure Standard mode (see MWUNDELETE Options menu) and "REM" off any "UNDELETE /LOAD" call in your AUTOEXEC.BAT. This incompatibility is caused by interrupt 26 contention between 32-bit file access and Microsoft Undelete [cf. Microsoft Knowledge Base Q109527]. Files deleted from real DOS (not a Windows DOS box) can be UNDELETEd from real DOS. Note the Undelete capability in Norton Desktop and Central Point PCTools do not work reliably with 32-bit file access either [cf. Microsoft Knowledge Base Q114264]. Q12a: You cannot search for a deleted file with MWUNDELETE. A: If you do a Find in the Windows Undelete utility, you may get the System Error "Divide by zero or Overflow error." To find the file you must exit Windows and run the MS-DOS UNDELETE [cf. Microsoft Knowledge Base Q109527]. Q13: Is it safe to run 32-bit file access with disk compression? A: The DOS 6.2 version of DoubleSpace works with 32-bit file access; the 6.0 version disables it [cf. Microsoft Knowledge Base Q106248]. Stacker 3.1 does not work at all with 32-bit file access, but version 4.0 works with a patch available from ftp.stac.com in file s4up.exe [cf. Microsoft Knowledge Base Q108152] which was last seen in the pub/Support/Stacker/DOS directory. The problem was fixed in Stacker 4.05. Chili Pepper Infinite Disk versions 2.1 and earlier do not work [cf. Microsoft Knowledge Base Q122870]. There are unconfirmed rumors that SuperStor (part of IBM DOS 6.3) may not work with 32-bit file access. Note: 32-bit file access requires permanent swapfile, and you cannot keep a permanent swapfile on a compressed drive. Also note: Write caching is disabled (see Q5a) with any compression other than DoubleSpace [cf. Microsoft Knowledge Base Q107645]. For some other compression related problems, see Q11f and Q13a. Q13a: You get "compressed disk ... not currently set up for 32-bit file access." A: This error is caused by enabling disk compression after 32-bit file access was configured. It can often be fixed by getting the latest version of RMM.D32 (see Q3a) [cf. Microsoft Knowledge Base Q112622]. Q14: You get errors from Powerpoint when you try to access ClipArt Gallery. A: There is a bug in Powerpoint 4.0 that causes the clipart "thumbnail file" to get corrupted when 32-bit file access is enabled and VShare is also enabled. If you disable 32-bit file access, restart Windows, restart Powerpoint, and reaccess ClipArt Gallery, it will rebuild the "thumbnail file" from its clipart library. Q15: Is there any hard drive that WFWG will let you enable 32-bit file access with, but with which it is incompatible? A: Yes, there is a confirmed problem [cf. Microsoft Knowledge Base Q119742] with the Quantum LPR 540MB drive if installed with older versions of the driver. Contact the manufacturer for the latest driver. Also Quantum's DC4000 controller may corrupt files in Turbo mode [cf. Microsoft Knowledge Base Q110090]. Problems may also exist with Adaptec 2843VL, Compaq Prolinear 486/25 120MB IDE, and Maxtor 7850AV 850MB drives [cf. Microsoft Knowledge Base Q112552]. Also a few disks can appear to inhibit 32-bit file access if 32-bit disk access is not configured -- see Q8a. Q16: You have to manually reinitialize Microsoft Scenes each time you start Windows, in order to get the wallpaper set correctly. Then wallpaper and screen saver work fine for the rest of that Windows session. A: This is a confirmed problem in MS Scenes 1.00, which Microsoft says they corrected in the subsequent releases of that product. Either upgrade, stop using 32-bit file access, or put up with the annoyance. Q17: Can you run other disk cache utilities at the same time Windows is caching? A: Only SMARTDRV is safe. Microsoft discourages use of all other cache utilities in conjunction with Windows caching or 32-bit file access. None- theless, some do actually work. See file C:\WINDOWS\SETUP.TXT for details about your particular utility. Q17a. What about Hurricane? A: Hurrican is a third-party utility that includes a Virtual Cache feature. The Hurrican Vcache is compatible with the cache in Windows for Workgroups. In fact, Hurrican uses 32-bit file access. And unlike Microsoft's cache, Hurrican's caches floppy and CD-ROM drives. Q18: DOS command "IF EXIST *\NUL" does not work from within Windows if 32-bit file access is on. A: Referencing the null device file is a common DOS trick for checking whether a particular drive or directory exists. For example, "IF EXIST C:\NUL" checks the C-drive, or "IF NOT EXIST C:\MYDIR\NUL" checks MYDIR. Microsoft documents this technique in "HELP IF". However, the \NUL file often appears not to exist under 32-bit file access, especially on a networked PC. Q19: Does 32-bit file access work on secondary (slave) hard drives? A: It is supposed to, although some users have problems with IDE drives. This may be symptomatic of a virus in at least some cases. If no virus can be found, look at CONFIG.SYS for "FCBS=" and "buffers=" statements. Try removing the FCBS statement if present. Make sure the buffers statement conforms to the guidelines given in Q3 step (7c) if you use SmartDrv, or step (8b) if you do not use SmartDrv. See Q8a also for more ideas. Q20: Does the DOS SUBST command (drive letter substitution) remain in effect in WFWG with 32-bit file access? A: The SUBST remains in effect, but Windows disables 32-bit file access for that particular session. If you exit Windows, undo the SUBST, and restart Windows, then 32-bit file access will come on. (Note: You may not enter SUBST from within a Windows DOS box, regardless of 32-bit file access.) The related ASSIGN and JOIN commands also affect 32-bit file access. Running 32-bit file access disabled this way may be slower than running without it [cf. Microsoft Knowledge Base Q106266]. But you can safely accomplish much the same thing as SUBST for network drives (not local drives, unfortunately) by using File Manager's network drive mapping capability. Q21: Is 32-bit file access incompatible with some networks? A: It works with Novell Netware and Microsoft Windows Network. However, the IFSHLP.SYS driver (see Q3A3) is incompatible with some other networks, including Artisoft LANtastic 6.0, Microsoft LAN Manager, IBM OS/2 LANServer, and Farallon Phone-Net [cf. Microsoft Knowledge Base Q116156]. The typical symptoms of the incompatibility are described in Q11e. Also Sun PC-NFS 5.0 may cause an "Invalid COMMAND.COM" error when you exit Windows [cf. Microsoft Knowledge Base Q111472]. Q21a: No 32-bit file access due to a "real-mode network redirector". A: If you check your 32-bit file access status in the virtual memory 386Enh control panel (see Q4) and it reports 32-bit file access disabled because "you started a real-mode network redirector before starting Windows", then you may need to disable the Microsoft Network TSR. Exit Windows, enter NET STOP in MS-DOS, restart Windows and check the control panel again. If that works, you may need to NET STOP before all Windows calls in order to use 32-bit file access [cf. Microsoft Knowledge Base Q106266]. If it does not work, other possible causes of the error include IFSHLP.SYS not loaded or missing from CONFIG.SYS; VSHARE.386 missing from the [386Enh] section of SYSTEM.INI; or you need to remove POWER.EXE from a non-networked PC with an IDE hard drive [cf. Microsoft Knowledge Base Q109510]. Q22: Do some TSR programs interfere with 32-bit file access? A: Yes, some Terminate-and-Stay-Resident programs that are loaded at boot time can prevent Windows from activating 32-bit file access. See Q8A4 for details. Note that running 32-bit file access disabled by a TSR may be slower than running with 16-bit file access [cf. Microsoft Knowledge Base Q106266]. Q22a: How about UnInstaller? A: Yes, UnInstaller 3.0 is a known problem TSR (see Q22 above). MicroHelp is now providing a free upgrade to customers who use 32-bit file access. Q23: Why does running NDOS as my shell disable 32-bit file access? A: Probably because you configured NDOS to swap first to the hard drive. Reconfigure it to use memory (XMS) first. In effect, NDOS is interfering with WFWG the same way a TSR can (see Q8A4). Q24: Why does QEMM disable 32-bit file access? A: There is a known problem with stealth mode for at least some QEMM releases (e.g., V7.5). Run OPTIMIZE to turn off stealth mode. Then run QSETUP, and do not load DOS high. Q25: Why did WFWG 32-bit file access stop working when you got Windows 95? A: On a PC with both Windows for Workgroups (WFWG) and Win95 loaded, if you boot Win95, then later do a "restart in DOS mode" followed by starting up WFWG ... then WFWG will probably come up with 32-bit file access disabled. The solution is to boot (or reboot) directly into WFWG. ____________________________________________________________________________ REVISIONS 0.1 Sep. 1994 Initial version circulated within Unisys. 0.2 Nov. 1994 Circulated in Unisys & Internet. 0.3 Dec. 1994 Posted on comp.os.ms-windows.misc|setup. 0.4 Jan. 1995 More Incompatibilities, other corrections. 0.5 Feb. 1995 Added new Configuration questions, & misc. corrections. 0.6 Mar. 1995 Added info about resources, TSRs, incompatibilities, etc. 0.7 Apr. 1995 Added WFW3.11RK and more SMARTDRV info. 0.8 May 1995 More about UNDELETE, CD-ROM, and swapfile. 0.9 June 1995 32BFA turn-off, WIN switches, 32BDA, FILES=x, WDCTRL, Segment load failures questions added. 1.0 July 1995 First non-beta version. Minor changes only. 1.1 Aug. 1995 Added UnInstaller question and minor changes. 1.2 Sep. 1995 Added 32BDA, QEMM, NDOS questions. 2.0 Oct. 1995 Many new questions, expanded answers, and MS Knowledge Base references added. 2.1 Nov. 1995 More about networks, disk compression, and Windows 95. 2.2 Dec. 1995 No changes! Merry Christmas! 2.3 Jan. 1996 Added Wintune and slave drive info. 2.4 Feb. 1996 Fixes for DOS and Uninstaller problems. Fidonet access. 2.5 Mar. 1996 More info for network users. 2.6 Apr. 1996 Added RAM disk information. 2.7 May 1996 Added Hurricane info, plus minor corrections. 3.0 July 1996 Added MSCDEX info. ____________________________________________________________________________ NEEDS This FAQ still needs certain information confirmed or expanded before it is complete. If you can help with anything below, please contact Mike McCormick at mtm4@rsvl.unisys.com. Thanks! N7: Need better guidelines for Smartdrv double buffering. (see Q3A6) N8: Any explanation and/or work-around for IF EXIST *\NUL bug? (see Q18) N10: Are there Virus scanners that don't work with 32BFA? N11: Is CachedFileHandles setting in SYSTEM.INI affected by 32BFA? Is it affected by vcache? Does it default to 12 or 14 (WFWG Resource Kit manual contradicts itself on this.) N12: Is there a SmartMon-like utility for Vcache? N15: Does Vcache definitely do an automatic periodic write cache flush? Is it about every 5 seconds like Smartdrv? (see Q5a) N16: Need more info about the ForceMapper command. (see Q8a) N17: Need more info about 32BFA in Win95 and Windows NT! N18: Does VirtualHDirq=False affect 32BFA performance? N20: Is the Alaris EZDrive driver incompatible with 32BFA? N21: Does Adaptec's FastSCSI 1.1 inhibit 32BFA write caching? N22: Is there anyway to run 32BFA without any caching? N23: Looking for translators to translate the FAQ into languages other than English. Must be willing to maintain your version of the FAQ with monthly updates from the author. N24: Does activating 32-bit file access alter file checksums? N25: Is 32BFA incompatible with some features of VC++ 1.5? N27: Are some SCSI systems slower running 32BFA unless 32BDA is on too? N28: What causes 32BFA to get enabled on RAM drives? (see Q2d) *N29: Does changing Norton Desktop layout cause hangs with 32BFA enabled? ____________________________________________________________________________ HOW TO GET THIS FAQ USENET: The 32-Bit File Access FAQ is posted monthly (more or less) on Usenet to these newsgroups: comp.os.ms-windows comp.windows comp.os.ms-windows.misc comp.windows.ms comp.os.ms-windows.setup comp.sys.ibm.pc.hardware.storage comp.os.ms-windows.setup.win3x alt.binaries.misc (help file) comp.binaries.ms-windows (help file) FTP: Thanks to Kevin Martinez, the FAQ is available by anonymous FTP: The Windows Help file is also FTPable from: or you can get the latest Help file directly from author Mike Robinson: WWW: Thanks to Kathryn Bush and Jerry Wise the current FAQ is available on the World Wide Web at: The HTML FAQ is also available by FTP (for offline viewing) at: HTML markup version created by Kathryn Bush. Latest revision edited by Jerry Wise (gewkab@infi.net). E-MAIL: The latest version of the FAQ can be obtained by sending a request to the author at mtm4@rsvl.unisys.com. You have the option of getting it once (default), or getting all future revisions (approximately one a month). The monthly FAQ "subscribers" receive an advance "sneak preview" draft about 24 hours before it gets posted to Usenet. HELP FILE: Thanks to Mike Robinson of Sundial Services, revision 2.1 of the FAQ is available as a Windows Help file. The .HLP format is available by e-mail, FTP, and Usenet as described above. FIDONET: The FAQ is available by requesting NET32BFA.TXT on HDCONF, or by sending Fidonet or Internet e-mail to mike.zeleski@father.com. The message subject must be "Please Send NET32BFA.TXT" and the message body should only contain your Internet address or your BBS name and Fidonet node number. META-FAQ: The 32BFA "Meta-FAQ" gives more details about the different formats, file sizes, and locations of this FAQ. The Meta-FAQ is posted monthly to the same newsgroups as the FAQ (see Usenet above) plus comp.answers and news.answers. MSKB: The Microsoft Knowledge Base, which is referenced throughout this FAQ, is available online at .