The day started like any other sweltering July dog day in the country between Farmville and Keysville, Va...
Ok, I won't quit my day job.
I scored a snappy new Dell Red XPS 1530 in early May. About a month ago I started getting blue screens - something I hadn't seen in my year and a half experience with Vista.
I Can Fix This
It's been a while, but I used to build my own servers. Back in the day*. "I can fix this," I thought.
I started in safe mode and everything was happy. I started in safe mode with networking - still happy. I tried to run a disk check and repair errors, the device was in use (the C: drive, duh) so it has to be scheduled. Scheduled scan and fix. Restart. No scan. And worse, another blue screen. Boogers. Phooey. Safe mode with command prompt. Execute chkdsk. Errors - aha!
Apparently my master file table's (MFT) BITMAP attribute is incorrect, along with the volume Bitmap - also incorrect. Stupid bitmaps.
Obviously there's a problem with the hard drive.
* The days of Windows 2000 Server...
The Plot Thickens
Sure, I could've called tech support to have them rubber-stamp my excellent diagnosis, but who has time for all that? Besides, Dell Support has better things to do than listen to me tell them what's wrong with my new computer. And I have this notion of repaving the old drive and installing Windows 2008 on it... so worst-case (impossible to me at this point): if I'm wrong, I'll have two good drives - which I planned to have eventually anyway.
Rather than bother those rookies at tech support, I just ordered another drive.
All is well. My new drive arrives, I install Vista Ultimate 64, fire up Carbonite for a day or so and voila! I'm back.
And then I start getting blue screens again. What the ?!? Dell must be having a bad run on drives. Or something else is wrong and is corrupting my drives. Perhaps worst of all, I misdiagnosed it. Ego bruise (still healing... this post is part of it...).
Time to bug the rookies. I call Dell Support and get a guy named Michael. I explain to him that I have another bad hard drive but would like for him to walk it through his diagnostics to confirm this before shipping me two replacement hard drives. (I know. I wish I weren't making this up. Or that I weren't so honest about this kind of thing...)
Michael has me walk through diagnostics. I fire up Witty Twitter and begin tweeting about this as it all happens. You know, for posterity's sake. Anyway.
We do the Dell onboard diagnostic: hold Fn and boot. Pretty impressive utility. It churns away for a good 15 minutes and then tells us the hard drive - and everything else - is all ok.
Next, Michael requests permission to start a remote session. Sure. We fire up the Dell connect site and he begins poking around. He finds the dump files from the blue screens. He asks permission to download a reader and I tell the machine is his. He puts me on speaker / mute, I do the same and work on the desktop.
Occasionally I look to see what he's doing.
He's fixating on this file called NetIO.sys that the dump files say are causing the issue. I pick up the phone and say "Michael? If that file is sitting on a bad sector of the hard drive, won't that cause a problem?" Michael reminds me the diagnostic software told him the hard drive was ok. I say "ok" and let him get back to walking through his script. Like Fezzik, "I just want you to feel you're doing well."
Just for giggles, I start poking around Live Search for stuff about Vista 64-bit and NetIO.sys. Holy smokes! There's a bunch of stuff about blue screens.
Maybe Michael's onto something here after all. Time for some research on NetIO.sys. It's a VMWare file. Interesting. And not.
I have this rule of thumb. I use Microsoft stuff. If I hit a wall and cannot figure out how to get something I need from Microsoft stuff, I will look elsewhere. I hit a wall a month back while writing Mastering Database Edition Volume 2. I'm working on stuff that will publish post Visual Studio Team System 2008 Service Pack 1, so I'm running CTPs... and one of them wouldn't load correctly in 32-bit. And I couldn't figure out how to get Virtual PC and Virtual Server to do a 64-bit guest OS, so I used VMWare.
Back to our story...
This makes no sense. I have a desktop sitting right here with the same OS (Vista Ultimate 64) and VMWare Workstation installed and it's having absolutely no problems. It simply can't be a conflict with VMWare.
To prove the installations are identical, I start searching for the location of the VMWare installation on the desktop. And... hey, look at that - it's installed on the second (non-boot) drive.
My installations are not identical. "Apples, meet oranges. Oranges, apples. Let's compare you guys..." :|
I've Gathered You All Here...
... to announce the obvious (in hindsight): NetIO.sys was interfering with Vista Ultimate 64 booting. I uninstalled VMWare Workstation for now. There are a couple patches from Microsoft, which have been applied. Theoretically this should address the problem.
I am not blaming VMWare. I am not blaming Microsoft. I'm just raising awareness: these two don't get along well. What's worse: it started small for me (both times). A blue screen here and there. Then built to blue-screening most of the time - remarkably similar to one way a hard drive would fail.
My current plan is to install VMWare to another drive - maybe an external USB or thumbdrive. I can't add another physical drive to my laptop like I did my desktop.
Like I tell anyone who attends the SSIS training classes I deliver, good engineering always works. I suffered several lapses of good engineering during this episode, and it pains me to admit it.
I do have an extra drive upon which I will install Windows 2008 Server (and likely post about the search for drivers). But still...
Catharsis achieved, I feel better now. Feel free to learn from my mistakes - I certainly do.