The Windows 95 OSR2 debug page
Please note: the first two fixes are for Windows 95b (OSR2) only. If you are not sure about what version you are running, simply open a DOS prompt and type "ver" (whithout the quotes). Windows 95b (OSR2) responds
   Windows 95. [version 4.00.1111]
The third fix (Starting Windows 3.x in DOS 7.10) works for Windows 98, too.

Download fixes for all three bugs mentioned here in one file:

And, hey, be sure to check out Uwe Sieber's genuine hardware UMB driver UMBPCI!

The "himem bug"
The Evidence Some non - US english versions of Windows 95 OSR 2 have a bug in the file io.sys, causing the driver himem.sys (needed to start the GUI) to allocate more than 45 KBytes of conventional memory. Normally, this file needs only 1168 Bytes of memory. You can determine himem.sys' current memory usage by the command
   mem /c /p
at a DOS prompt. There HIMEM is listed along with other modules. This bug is currently known to be present in the following localized versions of OSR2:

Spanish, Portuguese, Norwegian, Italian, German, French, Finnish, Dutch, Danish, Brazilian

This shortage can lead to memory problems with older DOS applications, especially games. Wolfgang Nothdurft has taken the trouble to compare the US - english and german version of io.sys until he found the buggy byte: Using a Hex - Editor, the value at adress 51f6h in io.sys has to be replaced with 58h. But this can also be done using the tool debug.exe, that comes with Windows. At a DOS - Prompt type the following commands (Note that io.sys is normally found in root directory of c:):

   attrib c:\io.sys -h -r -s
   debug c:\io.sys
This brings up the debug command prompt (-). Now type in:
   e 52f6 58

   attrib c:\io.sys +h +r +s
Within debug, the adress must be set to 52f6h, because debug always load files at offset xxxx:0100h, so 0100h has to be added to the real adress. This method works for any localized OSR2, I got approbiate feedback. If you don't like typing so much, you may also download this patch. The next time you restart your machine, himem.sys should use 1168 Bytes of memory (may be verifyed with mem /c /p). Finally, Microsoft has released Bug fixes in several languages too.

Further information about known bugs of OSR2 are at the Windows 95 OSR2 FAQ.

The "dual boot bug"
Old DOS Under Windows 95 OSR2 you can boot an previous DOS for exactly one time. It works fine for the first attempt, but results in complete boot failure the next time you restart your machine. Dual boot capability has been disabled in OSR2. There is no update by Microsoft, but some other ways to get back this feature:
  • A convient Windows based installation of DOS 6.22 into an existing OSR2 installation. The setup script installs DOS 6.22 from your original DOS 6.22 setup diskettes to C:\DOS and simultaneously fixes the dual boot problem. You can uninstall DOS 6.22 at any time by Add/Remove programs in control panel.

  • More complicated:

    1. If you have just installed OSR 2 over an existing DOS, go to step 4.
    2. Install DOS 6.x.
    3. Install Windows 95 OSR 2.
    4. Copy all files (hidden too!) from the root directory of c: to a subdirectory or any other safe location.
         attrib c:\*.* -h -r -s
         copy /b c:\*.* c:\temp
    5. Now you need a startup disk of the "retail" (older) Version of Windows 95 (4.00.950).
    6. Boot from that disk and type "sys c:" (without the quotes) when the A:\> - prompt appeares (Transfers system files, that's why the backup in step 4).
    7. Now copy all the files that has been backed up in step 4 back to c:\, (Answer "yes" to overwrite existing files) and set attributes of io.sys and msdos.sys back to Read Only, Hidden and System:
         attrib c:\*.* -h -r -s
         copy /b /y c:\temp\*.* c:\
         attrib c:\io.sys +h +r +s
         attrib c:\msdos.sys +h +r +s
    8. Reboot and you should be able to dual-boot between DOS 6.x and Windows 95 OSR 2.

What's the trick ? The lack of dual booting capability in OSR2 is caused by the slightly modified boot program in Windows 95 OSR 2 compared to Windows 95 A, that resides in the first physical sector of your boot drive, the boot sector. This method just installs the boot code of the retail version of Windows 95, where dual booting was possible.

Starting Windows 3.x in DOS 7.10 (OSR2/Windows 98)
Good old times ... Under the first release of Windows 95 (4.00.950, DOS 7.0) it was possible to install (in a different directory of course) and run Windows 3.x in Windows 95 DOS mode without any problems. Not so with Windows 95 OSR2 and Windows 98 (DOS 7.10). It was possible to install, but not to start Windows 3.x . It hung, saying that there is an incompatible DOS version. Now I found a way to solve that problem. You can download the patch here.

Special thanks go to Samuel Leo, who provided the necessary information.

[Back] [Home]