Problems with giveio.sys on a reboot
There was a brief power interruption early this morning and afterwards my PC wouldn't start again (ARGH!) I went through the usual steps and the safe-mode startup gave me what I thought was a clue. The last message it gave before freezing up again was that it was loading a driver called giveio.sys, which was installed by a fan speed controlling program.
A quick google search revealed a bunch of people reporting the same thing. I followed the suggested fixes but nothing worked. I realized, though, that this was a red herring! I'm typing this on my resuscitated and fully working PC because I noticed something else was ACTUALLY wrong.
Loading giveio.sys was the last successful thing the boot process managed to do. It could be that it was trying to do something else that it didn't tell you it was trying to do and that's what froze up!
If you have this problem too, try the following:
1) Insert your Windows XP CD-ROM into the CD drive
2) Start the PC and let it boot from the CD.
3) Choose the "Repair" option - you'll be taken to the "Recovery Console"
4) type "c:" and press enter, then type "dir" and press enter.
5) Do the same with your other hard disks (d:, e: etc)
6) One of them (it was my windows drive) might not report its directory contents - instead you'll get "an error occurred during directory enumeration", meaning the disk is discombobulated.
Type "chkdsk" when you're "in" this drive and let it do its thing. Mine took a few minutes and when it was done I could do a "dir" command successfully. Type "exit" to leave the console and reboot, and you're back in action.
There's an interesting lesson to be learned here about reading log files; one I've seen confuse users in my own working life. If your software is about to try something that might fail, you should show that's what you're doing. Otherwise users will naturally assume that the last thing on the log file (giveio.sys in this case) is actually at fault, especially if you don't include a message that says you successfully completed that LAST task.