Another Point for Open Source

Last week I wrote about the trials of upgrading my machine.  Since then sent the motherboard in on an RMA, New Egg replaced it, I spent a pretty penny on a new case and PSU and am now in gamer heaven.  As a result of my upgrades all my old hardware was available to get a tad more performance out of my wife’s machine until we can afford to upgrade hers. Needless to say when messing around with 5-6 year old computer parts from two separate computers hilarity ensues.

I won’t get into the details aside from the fact that at one point in an effort to deduce why her machine wasn’t booting I had ripped out the motherboard, video card and PSU from her case and had them plugged in with nothing else (no drives, case, etc) just so I could easily swap parts in an out to determine what was good and what wasn’t.  The last time I had to tear a machine down that far was when I was building them professionally at half my age.

However, this isn’t about the frustrations of hardware.  No, this is about the completetly avoidable frustrations from the software.  At one point her machine would boot about 1/3rd of the time.  It would get into the Windows loading screen and hang.  I was thinking that the file system needed a good chkdsk because there have been several hard reboots in the middle of file operations.  However Windows (in this case 2k but XP is no better) does not automatically perform a disk check when the system shuts down unexpectedly.  To do such an operation requires some manual intervention.

Method one involves booting into windows and scheduling a disk check.  A useless option when you can’t boot far enough into the OS to log in much less schedule any sort of operation.

Method two involves booting onto the install CD, dropping to the rescue console and running chkdsk from there.  Since this is a Windows 2000 install from 3 moves ago the install media is long gone.

Now I could easily say that Open Source is superior because the Open Source UNIX variants perform that check automatically.  That only covers the first case above and honestly it is conceivable that one couldn’t boot far enough for fsck to run.  Which would leave us with the second case, booting to a rescue CD and running the disk check from there.

Why does Open Source get another point?  Because every install disc for Linux (or, I imagine, OpenBSD, etc) doubles as a rescue CD.  Furthermore I can’t perform a Google search on the word “Linux” without tripping over dozens of locations to download install CD ISOs or even ISOs for purpose built rescue CDs.  As long as I have one machine with a network connection that can burn a CD I can have a rescue disc in the time it takes me to download and burn it.

Windows?  Lost your original isntall media?  HA!  Too bad!  Searching for a bootable CD with an NTFS version of chkdsk yielded next to no hits.  After spending some time digging I found one post on one obscure forum which had one link to an ISO that would get to the recovery console and be able to run chkdsk.  I am not sure if it worked since it hung while booting up.

In the end the problem was that the PSU in the case was going bad.  Since my bench tests were using the PSU from my wife’s machine it would all work fine in a bench test, fail in the case.  I swapped PSUs and all was good.  A conclusion I could have gotten to much, much sooner if I could have been able to rule out file system corruption.  Which is something that I could have done in minutes on any of my Linux installs and I gave up after at least an hour of frustration because of closed source policies and poor information on the net.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s