See, usually (with all the virii I've been dealing with anyway) the first things they do (not necessarily all of them, but I have seen all of them used and it's quite possible to do all of them) are:
1) Disable your AV software if not delete it
2) Brick your safe mode. Literally, if you try it, it will BSOD the machine (no big deal, just restart in normal mode and it works, albeit with the virus still running). Basically, it deletes a registry key that contains a list instructing Windows which of the basic drivers should load in safe mode. No drivers, no boot, so no erasing the virus from safe mode.
3) Deny even the hidden Administrator account (and any other accounts) access to:
a) System Restore (usually wiping all restore points from the system in the process - another tactic is to infect the System Restore files themselves)
b) Registry Editor
c) msconfig
d) Internet Options
All of that can be fixed (e.g., with Malwarebytes and software like
Re-Enable) once you have gotten rid of the virus by booting from a clean CD, and usually the virus doesn't do all of the things listed above. But when it does, your only hope of saving the system without reformatting is to boot from a clean CD or other boot device that has AV software on it.
(Re-Enable enables access to the following, many of which virii disable):
Windows Registry
Command Line Tool
Windows Task Manager
System Restore Config
Folder Options
Run command
My Computer
Task Scheduler
Right Click Context menu
Ms-Config (Xp only)
Control Panel
Search
EDIT: Oh, and be sure to check that your DNS settings are set to automatic or to whatever DNS server you changed them to (if you did, if you don't know, set it to automatic) as some Virii change that setting to a DNS server that sends you to bad sites that have virii instead of real sites.
Also, be sure that your proxy settings are correct (Internet Options - Connections - LAN Settings -- by default, proxy is unchecked, if you have a proxy, make sure it is set to the one you actually use). Virii also can change this value.
You can run this command to reset your TCP/IP stack (a lot of internet settings will get set to what Windows had in the beginning by default - you know, out of the box when it worked with everything you connected it to) Vista or 7, start - type in cmd and right-click on the result and hit "run with administrative priviledges" XP, just hit start - run type cmd and hit enter.
In the command prompt, type:
netsh int ip reset resetlog.txt
and hit enter -- do NOT forget the resetlog.txt -- if it doesn't have a logfile specified it fails for whatever obscure reason
then type
netsh winsock reset
and hit enter
then
exit
and hit enter