Home : Free Tutorials : Troubleshooting : Optimizing The Windows Startup Files

Maintaining the Windows startup files:

All modern computers make use of an automated startup routine, designed to load specified programs and components every time the computer is turned on.  An important step in troubleshooting/optimizing your computer is the adjustment of these automatic startup settings.  Over time, third party programs installed by the user inevitably add components to the system startup routine.  These applications not only start when the machine is booted or rebooted (powered on) - they continue to run the entire time that the computer is working.  Each of these startup applications uses a portion of the system resources while running in the background.  The CPU dedicates part of its power and speed to running each program.  Memory and hard drive space is allocated for their use, and the operating system works to manage the performance of each program. 

Eventually, some of the startup applications may refuse to function properly alongside other programs.  They may become corrupt, lock up, crash, replicate, or otherwise cause problems with the rest of the system.  You are left to run your applications within the remaining resources of the computer.  The end result is an unnecessarily sluggish, unresponsive, overworked and unstable operating environment which crashes regularly or refuses to work properly (sound familiar?).

MSCONFIG:  When a computer begins to display undesirable performance, you should check the configuration of system startup files.  Windows 98, 98se, and ME all contain a tool called MSconfig.  This tool allows you to quickly and safely alter your startup process.  To load MSconfig, click START -> RUN -> type “msconfig” (without the quotes) -> click OK.  When MSconfig pops up (look for the “System Configuration Utility” window), click on the tab labeled “Startup”.  You will see a column of checkboxes - each corresponding to an individual program that loads at startup.

Picture

To remove any program from startup, uncheck its associated checkbox.  The following items are provided as part of Windows. You may want to leave these items alone, unless you know for sure that you don’t need or want them.

  • Scan Registry (C:\WINDOWS\scanregw.exe /autorun)
  • Task Monitor (C:\WINDOWS\taskmon.exe)
  • PC Health (C:\WINDOWS\PCHealth\Support\PCHSchd.exe -s)
  • System Tray (SysTray.Exe)
  • LoadPowerProfile (Rundll32.exe powrprof.dll,LoadCurrentPwrScheme)
  • StillmageMonitor (C:\WINDOWS\SYSTEM\STIMON.EXE)
  • Scheduling Agent (mstask.exe)
  • Statemgr (C:\WINDOWS\System\Restore\StateMgr.exe)

Uncheck any other programs that you don’t use.  Uncheck any programs that clearly cause problems when they are loaded.  Uncheck ANY programs that don’t need to be running constantly in the background while the system is on.  Remember, you can usually run those applications by clicking on their icons directly in Windows, whenever you actually use them.

Uncheck any helper apps that you don’t need.  Video and sound drivers, for example, sometimes include small applications that let you control settings (ie., volume control, display resolution, etc).  Use the settings available in the Windows control panel to do these things.  If you aren’t constantly using a program, don’t run it - take it out of startup by unchecking it in MSconfig.

VIRUS PROGRAMS AND CONTROLLER APPS:  Two special startup cases include virus programs and peripheral control programs.  Virus programs have come to be a necessary part of modern computing.  They typically run upon startup, and in the background the entire time the computer is on.  This is a healthy precaution, but it does take up a significant portion of system resources (often 15% - 20%).  A good solution is to schedule the program to scan on a regular basis, when the computer is not in use (3 a.m. everyday, for example).  Most virus programs come with a small scheduling agent that can force a scan to run at preset times (you can also use the built in Windows scheduler).  Scheduling agents are usually much smaller than the programs they control, so they require a much smaller portion of system resources.  Running virus scans with a scheduler, as opposed to constant scanning in the background, can significantly improve system performance - especially on slower machines.  Critical machines requiring extra security and vigilance against viruses shouldn’t rely on simple periodic scans.  Most users, however, will discover that the performance trade off is worth while.

Optical scanners and their control programs are another common system resource hog.  To use a scanner, you need a twain enabled photo editing program, and the twain driver that controls your scanner.  Twain drivers only run when their respective hardware is in use.  Most new scanners install an additional startup program that watches for keypresses on the physical scanner hardware.  This program may run the entire time you are using your computer, watching for a scan, print, or copy button to be pressed - whether or not you are actually using your scanner.  Some printers and various peripheral devices maintain similar programs in the background.  Internet chat software, web tools, and a host of other applications all leave portions of the program running when you aren’t using them.  Look for any program that doesn’t need to run constantly, and disable it’s automatic startup status.  Be aware that many programs will have the built in ability to modify startup options (usually in an “options” or “preferences” menu).  In the vast majority of cases, you can simply run the application from its program icon, whenever you need to use it.

You will find that many system problems can be fixed by isolating and disabling startup programs.  When a machine is acting improperly, try disabling all startup files.  If the problem goes away, gradually add back each necessary application.  You may find that loading one program causes consistent system-wide problems.  Don’t use that program unless you have to, and certainly take it out of your startup routine. 

CHECKING YOUR RESOURCES:  You can check your system resource use (memory, CPU, HD, etc. currently used by your PC) by clicking START -> SETTINGS -> CONTROL PANEL -> SYSTEM -> PERFORMANCE.  The “System Resources” listing shows you the percentage of system resources currently free.  The larger the number, the better your system performance will be.  You will never get 100% free, because some overhead is always involved in running the operating system.  Most systems, however, should be able to achieve a resource status in the range of 80%-98% free upon startup.

Picture

In order to achieve consistent reporting results, it’s best to check system resources just after the computer has been turned on. Make sure to check system resources before you run any additional programs.  Keep in mind that every program you run will temporarily decrease your amount of available system resources.

To see a list of all currently running programs, hold down the [CTRL] + [ALT] + [DELETE] keys together (depress all three keys at the same time).  To immediately shut down any individual application, highlight the task, and click the “End Task” button with the mouse.  The only task necessary to the fundamental functioning of Windows is “Explorer”.  Any other task may be ended if it is locked up, or otherwise not needed.  Any of the tasks that are loaded by the system startup routine will be run again the next time the computer is started.

MANUAL EDITING:

MSconfig brings together startup components loaded from a number of places on the computer.  Unchecking a startup file in MSconfig doesn’t actually remove the program installation from your system.  It simply disables the program’s automatic startup status.  In some cases, it becomes necessary to permanently remove the program from the startup routine (ie., some viruses need to be removed this way), and in Windows 95, MSconfig is not provided by default (you can copy the msconfig.exe program from a Windows 98 machine, and it will work properly under Windows 95).  In these cases, you may need to manually edit the startup configuration files. 

Startup routines controlled by MSconfig are found in the following locations:

  • DOS startup files - “Config.sys” and “Autoexec.bat”
  • Windows Configuration Files -  “Win.ini” and “System.ini”
  • Programs in the C:\Windows\Start Menu\Programs\Startup folder
  • Windows Registry Entries

TEXT FILES:  DOS startup files and Windows configuration files are text entries that can be edited and saved in plain ASCII format with any text editor (notepad, wordpad, etc.).  Config.sys and Autoexec.bat are found in the root directory of the hard drive (“C:\”).  Win.ini and System.ini are both found in the C:\Windows directory.  All versions of Windows contain a program called “sysedit” which will bring up each of the text configuration files for manual editing (go to START -> RUN -> type “sysedit” (without the quotes) -> OK).

In the early days of DOS, config.sys was used to load device drivers and system components such as CD-ROM drivers and memory management software.  Today, most of those operations are taken care of automatically within Windows.  If you use real mode DOS apps (DOS programs which run from a command prompt, as opposed to an icon in Windows), your config.sys may still contain necessary listings.  Device drivers are loaded into the config.sys text file in the format “DEVICE=DRIVER_FILENAME”.  The following line is an example of a typical CD-ROM device driver entry in config.sys:

DEVICE=C:\MTM\MTMCDAI.SYS /D:MTMIDE01

The “rem” command is used to place remarks into configuration files.  Any text following the word “rem” will be ignored by the operating system. The following entry, for example, might be placed in the config.sys file to help the user remember that the middle line loads a CD-ROM driver:

rem ---------------------- MTM ATAPI CD-ROM ----------------------
DEVICE=C:\MTM\MTMCDAI.SYS /D:MTMIDE01
rem ---------------------- MTM ATAPI CD-ROM ----------------------

The two “remmed” lines will be ignored by the startup routine.  If you were to REM out the line containing the CD-ROM device drive (the middle line), that CD drive would most likely continue to work in Windows, but it will NOT work in DOS real mode.

Other entries found in config.sys include FILES=, BUFFERS=, and DOS=HIGH.  These entries help DOS applications manage memory and file resources on the computer.  They are usually added by DOS installation programs.  If you no longer use the DOS apps which make use of such entries, they can be remmed out.  Below is a sample config.sys file in which none of the entries were needed by the current Windows configuration (this machine had been upgraded from Windows 3.1).  All entries have been remmed to improve start speed and resource availability:

rem device=C:\OPTi931\CDSETUP.SYS /T:X
rem device=C:\WINDOWS\HIMEM.SYS
rem DEVICE=C:\WINDOWS\EMM386.EXE 2048
rem dos=high
rem files=30
rem buffers=30
rem STACKS=9,256
rem DEVICE=C:\WINDOWS\SMARTDRV.EXE rem /DOUBLE_BUFFER

REM Following line added by AOL install program
rem DEVICE=C:\DOS\SETVER.EXE
rem DEVICE=C:\NANSI.SYS

Autoexec.bat is used to automatically run programs from the DOS prompt (before the Windows graphic interface is loaded).  Today, it is still common to see virus programs run a quick check in DOS mode, before Windows loads.  Other entries in the autoexec.bat file include DOS mode mouse drivers, screen clearing commands, PATH entries, etc.  Many of these entries can be remmed out if they are not currently in use on your computer.  The PATH command should NOT be altered or remmed.  It tells the operating system to check in certain directories by default, whenever performing system wide operations.  Here is an example of an autoexec.bat file with all unnecessary entries remmed out (the remmed entries are unique to the machine this specific autoexec entry came from).  Notice that the PATH entry has not been remmed:

rem SET BLASTER=A220 I5 D1 T4
rem SET SOUND16=C:\OPTi931
rem C:\WINDOWS\SMARTDRV.EXE
path=C:\WINDOWS;C:\WINDOWS\COMMAND;c:\;c:\utils
rem SET TEMP=C:\WINDOWS\TEMP
rem mouse
rem C:\OPTi931\sndinit /b
rem cls
rem echo off

The win.ini and system.ini files contain headers enclosed in brackets.  The first such entry in the win.ini file is [windows].  Entries under the [windows] category include:

load=
run=
device=

These entries are used to automatically load certain types of programs when Windows starts.  Unnecessary items may be remmed.  The system.ini file includes the headers [boot], [386Enh], and [drivers32] which may contain similar startup options.  A typical win.ini [boot] section may appear as follows:

[boot]
oemfonts.fon=vgaoem.fon
shell=Explorer.exe
system.drv=system.drv
drivers=mmsystem.dll power.drv
user.exe=user.exe
gdi.exe=gdi.exe
sound.drv=mmsound.drv
dibeng.drv=dibeng.dll
comm.drv=comm.drv
mouse.drv=mouse.drv
keyboard.drv=keyboard.drv
*DisplayFallback=0
fonts.fon=vgasys.fon
fixedfon.fon=vgafix.fon
386Grabber=vgafull.3gr
display.drv=pnpdrvr.drv

The above section does NOT contain any unnecessary entries.  You should be absolutely sure not to remove or rem out any headings that are required by Windows.  Manual editing of this type does require care and experience, but you can keep an eye out for specific program entries that are clearly not part of Windows.  Look for the names of third party manufacturers, and unneeded applications that you know you have added.  Items may be remmed by placing the “rem” command, or the “;” (semicolon) character at the beginning of any text line.

THE WINDOWS STARTUP FOLDER:  In Windows, any program may be added to the startup routine by copying its icon to the C:\Windows\Start Menu\Programs\Startup folder.  Icons in this directory can be found on the start menu under START -> PROGRAMS -> STARTUP.  Each of these programs will be loaded every time Windows is started.

To manually remove a program from this area of the start routine, simply delete its icon from this folder.  The program will not be uninstalled, it simply won’t be run automatically upon startup.  You can access this folder by Right Clicking the START button (click the right mouse button on START), then left click EXPLORE -> C: -> WINDOWS -> START MENU -> PROGRAMS -> STARTUP.   To remove programs, select an icon, and press the [Delete] key on the keyboard.

THE WINDOWS REGISTRY:  The registry is a centralized database/repository in which Windows stores all current software settings and configuration information.  You can edit registry settings with the “REGEDIT” program:  click START -> RUN -> type “regedit” (without the quotes) -> OK.  BE CAREFUL WHEN EDITING THE REGISTRY.  One incorrect deletion or change in the wrong registry entry could bring your system to its knees.

Startup entries are found in regedit by clicking:  My Computer -> HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows -> CurrentVersion -> Run, RunOnce, RunOnceEx, RunServices, and RunServicesOnce.

Picture

Registry keys in the above folders may be deleted by highlighting the entry and pressing the delete key.  It is recommended that instead of deleting, the entry be remmed out by double clicking the key and inserting a “;” (semicolon) character at the beginning of the data value.  

Picture

Whether you use MSconfig, or manually edit the startup files/groups/registry entries, tweaking your startup settings is essential for optimized performance and troubleshooting.  The above tools are needed to perform standard computer maintenance and software repair.  Experienced computer techs know exactly where to isolate problems and improve performance related to the system startup routine.

Copyright © 2004-2009 Nick Antonaccio. All rights reserved.