I’m always a little surprised at how few people are not yet familiar with what is arguably one of the best little IT tools available for those of you needing to troubleshoot and configure what Windows is running under the hood. It’s been around for several versions (see the comments on this post for more info on use with different versions of Windows), and is still as useful today as it was when it was written.
Since I had a craving to write a basics tutorial, for those who are not yet familiar, allow me to introduce MSCONFIG.
MSCONFIG is a standard Windows utility that allows you to see and modify most everything that happens from boot-time to the initial loading and login process in Windows. It’s a simple yet powerful way to find problems, tweak settings, and generally speed things up when Windows gets slow and sloppy over time.
And the best part is, with a little education (such as this article), even your typical end user can learn to make certain changes and revert back to the original settings if they don’t work out. Of course, that may be saying too much in some cases – It is possible, regardless of the method used to tweak things, to completely kill your operating system and render the computer useless. So, be warned – unless you actually know what you’re doing and are allowed to make system changes (business users need to check with your IT departments), you should not be tackling what’s covered here.
If you’re adventurous and want to learn – and can afford to do that on your computer no matter what happens, read on.
So, power users, admins and anyone who wants to learn a little about Windows, how it works and what’s happening under the hood, back up your stuff and let’s get moving.
For the purposes of this article, I am running MSCONFIG on a Windows XP computer with Service Pack 2. So if you are running a different version of Windows, yours may look slightly different, and might be missing a few of the features (like the system restore launch button, for example).
Admonition Number One: While we’re at it, please be aware of one thing: If you are running Windows XP, and have the ability to apply updates (meaning your IT department does not do so for you), and you are not yet running on Service Pack 2 – SHAME ON YOU! Upgrade now. For stability and security purposes, it’s a no-brainer. So go get caught up with the rest of the world and come back here when you’re done. If your IT department manages your computer’s updates, go ask them if you can apply it yourself, or alternatively when they plan to apply the service pack. Hopefully it will be sometime soon. Tell them it fixes some terminal server issues, that might get their attention. And by the way, this side-rant about SP2 is not actually related in any way to MSCONFIG – it’s just a plea to make sure Windows systems are as secure as they can be. You don’t have to be running SP2 – it’s just good common sense.
Okay, anyhow – about that MSCONFIG thing. First you do this:
Click START > RUN > MSCONFIG > [ENTER]
You’ll see something like this:
There you go – that was the hard part! From this screen you should probably first launch the System Restore utility and choose “Create a Restore Point” (assuming your version of Windows includes it – meaning you’re running Windows XP). Upon completion of that wizard, you will have the ability to roll-back (or undo) most changes you make in the MSCONFIG utility. That’s a nice thing to be able to do in a pinch, so be sure to take advantage of it before you start making any changes.
There is also a utility in the XP version that allows you to choose a single file from an installation .cab file (a CABinet file, which is a compressed archive that can hold a whole bunch of other files that are to be used in computer program installation packages). Useful for especially geeky people that can find their way around messy file names and elusive .cab files. If you don’t understand .cab files, feel free to pretend that button’s not there. No biggie.
By the way – We’re not going to cover MSCONFIG in order here – We’re starting instead with the last things first…
In the real world, people who use tools like this don’t usually read articles like this one. But for those of you who are still here, even after seeing the amazing screenshot above, I am going to introduce you to the First Rule of Geeky Computer Configuration: Skip straight to the end and don’t read anything between where you are now and your intended destination.
Historical psychological note: I have worked closely with dozens of very smart, very talented technicians and programmers. Almost without fail, none of them actually reads the dialog boxes, warnings or instructions presented to them on the computer screen. They just jump ahead. This behavior typically results in 200% extra downtime of critical systems, 600% more mistakes made, and 1500% unnecessary software bugs. So, if you want to be like all the other geeks out there, please skip over everything you see and make some manager’s job a living hell. Many of us who manage this type of people refer to this phenomenon as “job security.” Very similar to police work, in that someone will always be needed to clean up after the people who screw everything up. Hey, that’s why we get paid the big bucks – we do read the info on the screen. It might take an extra 15 minutes to complete the task, but it also likely means 15 less hours spent rebuilding that damn server.
Anyhow – we’re going to skip to the end, but in a controlled fashion, mostly because it’s hard to screw it up that way. Yes, I have a method to my madness, so stay with me here...
There’s a set of tabs along the top of the MSCONFIG window. The very last one across says “Startup” – Click on that. You’ll see something similar to this:
On this page, you can control what programs run when Windows starts up (hence the name of the tab, go figure). It doesn’t present a lot of information about the names of the programs, though, so you’ll have to read carefully and do some deduction to understand what’s happening here.
For example, in the screenshot above, you can see a bunch of “Startup Items” listed and you will see that they are checked, meaning they are loaded when Windows starts. If you were to un-check a box and hit Apply or OK, the next time you start Windows (when you reboot the computer), that program would not run. So – only the programs with a checkmark next to them will run when Windows boots up.
Let’s say I wanted to disable the “Wbutton” program from running when Windows starts. PowerKey is a little program that Acer installed on this computer that allows a button near the keyboard to control the built in wireless networking card. If I don’t want it to load for some reason, I just un-check the box and hit the “Apply” button. The next time Windows loads, the Wbutton program won’t be run by the system.
Why do this? Well, over time, there are often unexpected or extra programs (often called Spyware programs) that get installed on a system, and the more programs that get loaded at startup, the longer it takes for Windows to get moving, and the less resources you’ll have available for running other programs. In other words, we do this to speed things up when they get slow and to make room for other, more important programs to do their work.
A note about SPYWARE: Spyware is a name given to programs that install themselves on your computer and collect information about you or your Internet use, and then provide that information (in some form) to others – typically the people who wrote the program or someone who pays for the information. Usually this information is only somewhat personal – things like who you are and what web sites you visited, maybe what products you looked at but did not buy, etc… But at other times, the information taken and transmitted can be stuff you want to keep very personal – the kinds of things you would never give someone if asked, unless you had confidence in and trusted them with that information. The worst kinds of spyware include keyloggers (programs that capture everything you type and send it off on the Internet to someone you certainly don’t want getting it) and programs that capture information like credit card numbers and other data you use when doing things online.
That’s not to say you should never use a credit card online, or that you cannot safely conduct business transactions. Quite the contrary: I do almost all of my banking, a lot of shopping, and a number of other regular financial and other personal transactions online. What’s important is that you understand what you’re doing, what the actual risks are and how to avoid them.
There are a number of good tools out there that can detect, clean and prevent malicious software like spyware programs. AdAware and SpyBot Search and Destroy are two that I recommend regularly. They are easy to learn how to use and can make a huge difference in terms of what types of junk tries to make its way into the depths of your Windows system.
Next step backwards: The Services Tab
The next tab in our geek-trek from the end to the beginning of the MSCONFIG window is the “Services” tab. In this section you can disable services from running. In reality this is a slightly-more-friendly and much simpler version of the native Windows interface that lets you do the very same thing – but it’s nice to have it all in one place. You will not be able to changed advanced settings for services here, but you will be able to disable ones you don’t want to have running, and perhaps the most useful thing in this section is the check-box you can select to filter out services required by Windows. If you select “Hide All Microsoft Services,” you’ll only see those services that have been installed for third-party or extra applications.
What’s a service? The term sounds very official and therefore difficult to understand, but really it’s not. A service is just a program that gets run by the computer either at startup or when needed by the system. Some services start themselves up and keep running.Others fire up, do their thing, and then quit. Still others wait for another program to send them a start command, and only run when needed. Services are generally considered to be programs that need to run to make your system or software work, and usually the are providing some kind of basic service to another program or set of programs – they are the programs that can run under the hood in the context of the operating system before you log on (as opposed to running in the context of the logged in user after you log in). Examples of services are the networking service, that handles all network communication for programs that need to access a computer network like the Internet or your home/work network, and the automatic updates service, which checks for security and other patches/updates when you are on the Internet, and can install them for you.
In a nutshell – if you stop services from loading, you can expect that certain aspects of your operating system will no longer function. If the service you make changes to is one you don’t need (Windows has a bunch of services that you may have no use for, depending on what programs you use), you won’t see an ill effect. But disable a critical service and reboot, you might encounter some problems. Google is a great place to search for what different services do, and a helpful web site to get you started is http://www.blackviper.com/ – written by someone who needed the information and chose to share it with everyone.
BOOT.INI, WIN.INI and SYSTEM.INI – At your own risk
I won’t be going into any real detail here about these three sections. Each of these three files is loaded by Windows just as the operating system starts loading on your computer at boot time. They contain some basic options that set up Windows basics. The most commonly messed-with option here is the boot.ini section, which has some nifty check boxes that you can select to control how the boot loader configures Windows startup – you can force safe mode or change the number of seconds Windows will wait for you to tell it which option for boot you wish to choose (useful if you need to get into safe mode or if you dual-boot to a second or third operating system).
First, but now last, and certainly not least: The General Tab
Back to the beginning we go. The “General” tab controls how you want to treat the changes you have made in MSCONFIG, and allows you to select what configuration files are used at startup. Here you can specify Whether or not to process the INI files, load specified services, and/or startup items (in other words, all the stuff from the other tabs). Note that in the image below, my system is set to “Selective Startup,” because I made changes to the items on the startup tab and saved the changes. You’ll also see that the “Load Startup Items” box is “partially checked,” which indicates startup items will be loaded, but not ail of them (since I disabled some).
After you make any changes and save them, when you reboot and log into Windows you will see a notification window that tells you Windows has started up in the modified mode. In that window you will have an option not to show that dialog again – your choice as to what you want to do there. Remember, you can always start MSCONFIG as described at the start of this article.
Final words of caution: Again, note the “Launch System Restore” button that we talked about at the beginning of this article. Be sure to use it before you make changes, especially if you are experimenting and are not sure what you’re up to. Also remember that your mileage can and probably will vary, and you make changes to your computers at your own risk.
Also remember Greg’s Rule for Learning Computer Tweaks: Make changes in small increments, and view the results for each change one at a time. In other words, disable one startup item and reboot, and see if it does what you expect. If you disable more than one item at a time, you may find yourself guessing at what causes some unexpected behavior.