Microsoft KB Archive/269524

From BetaArchive Wiki
Knowledge Base


Overview of Real Mode Removal from Windows Millennium Edition

Article ID: 269524

Article Last Modified on 1/27/2007



APPLIES TO

  • Microsoft Windows Millennium Edition



This article was previously published under Q269524

SUMMARY

This article provides general information about the removal of real-mode support in Microsoft Windows Millennium Edition (Me).

MORE INFORMATION

With real-mode support removed, there is consistent improvement in the length of time it takes a computer to start, without loss of Windows functionality. On tested systems to date, startup time has decreased 4 to 12 seconds when the Autoexec.bat and Config.sys files are removed. The greatest impact is on computers that have heavily populated Autoexec.bat and Config.sys files.

Real-mode drivers can no longer be loaded in the Autoexec.bat or the Config.sys for availibility in the system VM, an example of a real-mode driver that can no longer be loaded from the Config.sys is "DEVICE=C:\WINDOWS\COMMAND\ANSI.SYS".

When terminate-and-stay-resident real-mode drivers are removed, a large percentage of issues that users experience are eliminated. When only true Windows drivers run, the computer is more stable.

In Microsoft Windows 98, the Autoexec.bat and Config.sys files are used to set global environment variables. When real mode is removed, another method is required to set global environment variables (PATH, SET=, and so on). Windows Me solves this issue by migrating current environment variables during Setup and placing them in the registry under the following subkey:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\Environment


During startup, the environment values are read from the registry, and then Dosmgr loads them into the main MS-DOS environment. Because there is no support for real-mode programs, these environment variables can be loaded later in the startup process than in earlier versions of Windows. These environment variables are loaded before the RunServices key is processed, so that they are already available if, for example, a PATH statement is required.

Msconfig is modified to show the environment variables registry key in the same way that Msconfig shows startup items. When this modification is complete, you can select, clear, add, remove, and edit the registry keys that apply to the main environment settings. These settings are loaded into the main system virtual machine (VM) during every startup. The performance impact from doing this is minimal.

After the initial migration during Setup, the environment variables that get added later must still be migrated. During shutdown, Windows Me checks if the Autoexec.bat file has been modified. If it has not, the computer shuts down as normal. If the Autoexec.bat file has been modified, Windows Me removes everything in the registry under the following subkey:

HKEY_LOCAL_MACHINE\SYSTEM\currentcontrolset\control\session manager\environment


It then merges with the current values in the Autoexec.bat file. This registry key does not run programs; it only loads environment variables into the main MS-DOS VM.

Most programs that are classified as MS-DOS-based run in an MS-DOS VM in Windows. To run these programs, run the same .exe file you would run in MS-DOS, but run it in a command window. If you experience unexpected behavior with an MS-DOS-based program or game, please contact the product manufacturer.


Additional query words: winmedos

Keywords: kbenv kbinfo KB269524