Drivers are the layer in between the OS and the hardware. They help the OS talk to the hardware and vice versa. If the drivers are not specifically made for ME, ME may have a problem talking to the hardware and cause everything from error messages, to the symptoms you have now.Drivers are created by the manufaturers of hardware. For instance, if you have a video card made by ATI, you would want to go to the tech support section of www.ati.com and look up your specific card. Download the dirver for ME. Then follow the instructions in the readme.txt file, generally included in the download, to install the newer driver.
If you have a system made by a manufacturer, like Dell or Compaq, they should have any newer drivers they have for you listed on their site. Just look up your model number and see what they have listed. If you can't find what you need there, you will need to look up your hardware at the individual manufacturer's sites.
BIOS updates are another matter and can be dangerous, but not hard. The BIOS is the Basic Input Output System. It is programming contained on a small chip on your motherboard that runs those first "tests" upon boot up to make sure at least the RAM and the video card(and some other things) are working correcly). It is what loads first, then hands over the reins to the Operating system. It can also affect how your hardware talks to the OS.
The BIOS contains the lowest level of the programming for your computer that can actually be changed. But if it is done incorrectly, or something goes wrong when updating the BIOS, it can be hard to recover.
This is not a complete explanation, but it will have to do in this limited space.
For the two folks that are having this problem... it can also be caused by badly written software not clearing itself out of memory upon shut down. There are progams on your computer that start upon boot up and continue to run in the background the entire time you are up. They are called TSR's(Terminate and Stay Resident). Most of them have Icons down by the clock, but some of them do not.
If a programmer does not instruct these programs to clear themselves out of memory upon shutdown, you will sometimes get the hang that you are talking about. The computer cannot shut down if something is still in RAM. It thinks it is not done yet.
My suggestion here would be to narrow down what is causing the issue by using some linear troubleshooting.
Go to start>>run>>msconfig.
Choose selective startup.
Take the checkmark out of everything underneath.
Click apply>>ok and reboot when prompted.
When you get up... attempt a shut down.
Did it hang?
It shouldn't... if it did... you're looking at a more basic problem. I could be the BIOS, or it could be hardware. If you hang here, post back, you can test some more from safe mode.
If it didn't hang...
Go back to msconfig.
Under selective startup, put a check in System.ini.
Click apply>>ok>>reboot when prompted.
When you get back up, attempt a shut down.
Hang?
If yes... it is a driver for one of your devices that is hanging you up. From experience, it is most likely the sound or video card driver, but you will have to test some devices by disabling them in the device manager and testing on subsequent reboots.
If no... it's not the drivers doing it.
Go back to msconfig.
Put a check in Win.ini.
Click appy>>ok>>reboot when prompted.
When you get back up, try a shut down.
Hang?
If yes... it shouldn't be... I've only seen one case of win.ini hanging a computer and that was due to a virus being loaded from the load= line in the Windows section of the win.ini file. If it hangs there...
Go to start>>run>>win.ini.
Copy and paste the file that pops up in notepad here and I will take a look.
If no...
Go back to msconfig.
Put a check in Static VxD's
Click apply>>ok>>reboot when prompted.
When you get back up, test with a full reboot.
Hang?
If yes... now we're getting somewhere... there are some known issues with some NIC virtual drivers and antivirus virtual drivers and ME. If it hangs with Static VxD's check, you will want to go back to msconfig and go the the static vxd tab. Uncheck them all and then start testing with the above formula checking things one at a time. Test NDIS.Vxd and anything that has to do with your antivirus software first. Reboot after each checkmark... and test with a full reboot.
If no...
Go back to msconfig.
Put a check in Environemt Variables.
Click appy>>ok>>reboot when prompted.
Test with a shut down when you get back up.
Hang?
If yes... you have loaded a legacy device or piece of software that insisted on putting itself in the autoexec.bat or config.sys file. Since ME migrates these items to the registry and processes them differently... that program/driver is what is hanging you up. Take a look in the environment variables tab. You should have 4 entries there. If you have more... post them here and I will have a look.
If no... then it is a program that is causing your problem. Something loaded on this box is not clearing itself out of memory fast enough for you to reboot properly. You will need to do some troubleshooting to find out what it is.
Go back to msconfig.
Go to the startup tab.
Start checking things five at a time, reboot and then a shut down to test after each set of checkmarks... until you get the hang.
A warning here... the startup entries tend to "rearrange" themselves, so you may want to bring along a piece of paper and pencil to write down what you are checking and unchecking to test.
If you get the hang after testing with five items, you will know the problem lies in that group.
Go back and uncheck them all... then check them one at a time until you find the culprit.
I know it's a lengthy process, but sometimes it is the only way to tell what is causing the problem.