Testing, Testing

This is a test.

Windows 7 Troubleshooters

Test System Woes Finally Solved, But Not Without a Final Fillip of Loathing and Despair

OK, so let me be clear about what has caused my latest learning adventures in Windows installation and optimization: I failed to let sleeping dogs lie, and decided it was time to upgrade my primary test system from Windows 7 Ultimate 32-bit to Windows 7 Professional 64-bit. I wasn’t using the system for media stuff anyway, so it seemed to make sense to pare back on that platform’s capabilities, especially when they weren’t being used.

My first inkling of trouble came as soon as I used my Win7 Pro x64 install UFD for the first time, built with the Microsoft Store’s excellent Windows 7 USB DVD Download Tool. (Use this tool to grab an intall ISO, and it builds a bootable USB flash drive aka UFD or a bootable DVD that you run to install the OS of your choosing. I picked the UFD version because it’s simple to build, and works both as a repair disk and an install tool, and runs faster than its optical disk equivalent). As soon as the initial phase of install completed — Copying files, which took all of 10 seconds to complete — it went into the Expanding Files stage. Running 32-bit this zoomed through to completion in a couple of minutes; in 64-bit mode that same process would inevitably hang at some point between 46 and 62 percent complete (one time I got as far as 94 percent, but still no joy).

Win7 Install Processing

Windows 7 Install Processing phases

Some quick research on the problem showed me that a corrupt or questionable ISO might be at fault, so I built another UFD using the same Windows 7 tool linked in the previous paragraph, after re-visiting MSDN to download a fresh ISO. Multiple repeated attempts thereafter all died during the Expanding files process. Additional troubleshooting turned up numerous leads that wound up down blind alleys. I even went so far as to start the install on another system with a near-equivalent motherboard (an Asus P5K on another problem-free test machine instead of the P5EQ3 in the test machine I was working on). I ran the install up to the first reboot (to get past not only the Expanding files stage, but that also took me past the Installing features and Installing updates stages as well, and into the final Completing installation phase) with my system drive on the P5K box, then yanked that drive and dropped it into the P5EQ3 box, and completed the installation. Alas, while the installation did complete, it started crashing after two to five minutes of apparently normal operation during the application of the initial large raft of updates that usually follows just after a new Windows 7 installation gets up and running.

By this point, I’d tried installing Win 7 Pro x64 on that machine 30 or 40 times in countless variations and permutations. I decided that other recent problems with the BIOS on the P5EQ3 had to be related to this problem, so I ordered a mid-range and slightly newer but lower end replacement board from Newegg for $125 or so–namely, the P5E3 Professional. I took a three day break from my “problem child” while waiting for the board to show up via UPS Ground, then got back to work on the system after it arrived at my door. After tearing down the system and replacing the old mobo with the new, I fired up the install UFD with great anticipation, only to once again fall prey to exactly the same problem — Expanding files hung at 62 percent complete on my first try!

“OK” says I to myself, “it’s time for some formal troubleshooting.” I then proceeded to isolate and replace every major component of the system, to see where the problem was coming from. Depending on how much rebuilding was involved between system components, it took me anywhere from an hour to three hours between test runs to eliminate possible sources of the trouble. Here’s the order I followed in going through these motions, having unequivocally removed the mobo as the source of the difficulty:

  • Memory: a regular culprit when chasing down odd system behavior, I switched the Super Talent DDR3-1600 2 GB modules for some older, and well-tried and trusted Super Talent DDR3-1066 1 GB modules instead. No change.
  • Hard disk: I swapped the Seagate 7200.11 320 and 400 GB drives I’d been using for a WD VelociRaptor 300 GB and a Samsung Spinpoint 1 TB 7200 RPM drive. Still no alteration in the problem.
  • Graphics card: I ditched the Nvidia 8800 GT I’d had installed in the machine for the fanless Nvidia 9600 resident in my other P5K test machine. Nothing doing.
  • Cables: I switched out all the removable cables in the system for brand-new cables still in their sealed plastic bags from my box of motherboard spares. Same hang kept on showing up.
  • Power Supply: I ran the Newegg PSU calculator and observed it said I needed 612 Watts for my system as then configured. I was using an nice little Antec 400 Earthwatts PSU at the time, so I ran down to Fry’s and picked up an even nicer Thermaltake 650W 80-plus model for about $100. Again, install hung at Expanding files.
  • Case: reasoning that a short in the case might be responsible for my problem, I yanked all of the innards from the Antec Nine Hundred in which they were housed and rebuilt the system on an open bench case (framework, really) I often use when benchmarking components for Tom’s Hardware. Same problem all over again.

At this point, there was one and only one component of my system I hadn’t swapped out, mostly because I didn’t have a spare quad core 775 LGA CPU laying around. So, after researching my options and talking with my good buddy and fellow Tom’s Hardware contributor Tom Soderstrom, I ordered a newer Q9400 processor from Tiger Direct which offered the best deal ($184, free shipping, 5% back on Bing) at the time I placed my order. Another three day break from troubleshooting occurred, and I managed to get some other work done, while once again waiting for the UPS guy to ring my doorbell and drop off my latest prize.

It was with fear and trembling that I unpacked the Q9400 from its retail packaging to rip out the QX9650 and replace it with this newest acquisition under the Zalman CNPS9500 I use as the cooler for this build. Fortunately for me, a long-barreled magnetic screwdriver let me gain access to the cooler’s hold-down screws, and the new drop-in package made the CPU swap both quick and easy. Within 40 minutes of receiving the new CPU I was running the Win 7 Pro x64 install UFD (the biggest time component turned out to be cleaning the Arctic Silver thermal paste I got on my fingers while removing the old QX9650), and watching the percentages climb during the Expanding files stage with fingers crossed and hopes high. As the number hit 100% and the install program switched over to the next phase of the process (Installing features) I heaved a huge sigh of relief and readied my license key for the next step of this seemingly interminable adventure in troubleshooting. “I’ve got it fixed” I announced to my wife, Dina, when I ran into the kitchen to tell her my troubles were behind me.

But alas, success was not to be mine until some additional troubleshooting exercises were completed. No sooner did the install complete, and the post-install Windows Updates begin to be applied than the machine started crashing at the most inopportune moments during the update process, which invariably required me to reinstall the OS from scratch. Once or twice I got past that phase, only to find the machine crashing on me as I installed various tools and utilities to complete the system image I wanted to use. Only after breaking for the evening, and literally sleeping on the problem did the solution finally occur to me.

The P5E3 Pro motherboard has a facility called A.I. Tweaker that is set to “Auto” by default, which means the motherboard itself tweaks CPU multipliers and FSB speed to maximize system performance without requiring human intervention. This is all well and good when things work after the tweaks are applied, but it was only as I began to observe a pattern of general instability and said to myself “This is just what happens when you overtweak the CPU multiplier or the FSB speed and the system starts falling over.” Sure enough, when I investigated the BIOS settings, I discovered that because the memory I installed in the system was DDR3-1600 (I’d gone back to the Super Talent 2 GB modules) the AI Tweaker had cranked the FSB speed up to 400 MHz (which results in a 1600 clock rate for quad-rate DDR3 memory). Alas, this was too much for the Q9400 to take, after its clock rate was raised from its rated 2.66 GHz setting to 2.93 GHz. As soon as I turned the FSB speed down manually to 200 (which had the FSB running at a downright leisurely 800 MHz, or half the rated speed for the memory, and the CPU down around 1.6 GHz) the install and post-install activities all worked without a hitch.

A little tinkering with FSB settings showed me I could crank the base rate up to 300 MHz (DDR3-1200) but no higher while maintaining stable operation. This now has the Q9400 running cool and collected at 2.4 GHz, slightly under its 2.66 rating. But everything is working at 64bits like it should be, and I’m now a pretty happy guy. In following up on why the QX9650 gave me such fits, I learned the unit was an engineering sample that Intel had sent me in late 2007 when the chip was brand-spanking new and before production models were available. It just so happens that these early units had “issues” executing 64-bit code and that’s what had been causing the expand files operations to fail during 64-bit installation. That problem was fixed for production mode CPUs, so only a very few users here and there reported this issue on the Internet. It never even occurred to me that a high-end CPU like the QX9650 might fall prey to such a problem, which of course is why I couldn’t figure things out until I adopted the rigors and slow, stately progress of the “full scientific method” in troubleshooting my ailing, failing system. Live and learn!

The Importance of “Opportunity Cost” in Troubleshooting

In trying to get one of my SSD-based test systems to work properly, I decided to upgrade from x86 Windows 7 Ultimate to x64 Windows Professional. And alas, I thereby willingly threw myself into the slough of despond. Even though I swapped out the SSD for a conventional HD, when I tried to run the Windows 7 64-bit installer, it would hang every time the program got to the “Expanding Windows Files” stage, usually somewhere between 52 and 62 percent of the way through that part of the process.

To put it bluntly, this drove me wild. I tried everything I could think of to get over this hurdle:

  1. I downloaded the x64 Win7 Professional ISO from MSDN again, and burned a new DVD, then tried several more times. No joy.
  2. I used the freshly-downloaded ISO and the Windows 7 USB DVD Download Tool to create a bootable UFD, then tried several more times again. Still nothing satisfactory.
  3. I cloned the Windows 7 Professional x64 installation from my other test machine, which runs an Asus P5K instead of the Asus P5Q3 in the problem machine. Got up and running, but after booting up once on the problem machine, it wouldn’t boot again after that.
  4. I hooked up the system drive from the problem machine onto the Asus P5K machine and took Windows 7 install as far as the first reboot, then dropped the drive from that machine into the problem machine to complete the install. I actually got as far as changing the machine name and the license key to get legal, but then it started freezing on me every 2 minutes or so. I switched to Safe Mode with Networking which kept the machine going for 5-8 minutes at a clip, but couldn’t get through the driver upgrades to try to make the machine right. Another useless build.
  5. Tried items 1 and 2 again just to make sure things still weren’t working. No dice.

Reluctantly, I’ve come to the conclusion that the P5Q3 motherboard is toast (or at least “severely damaged”) and have ordered a P5E3 as a replacement. I see very few problem reports on this item online, and hope that means I’ll have better luck with the newer X48 model than I did with the P35 mobo it will supplant in that PC.

Now, for an interesting question: “What else have I learned from this exercise?” Most important lesson: put a hard and fast time limit on troubleshooting and fix-it time before you start chasing problem resolutions. I spent the better part of three days trying to get this install to work before I had to admit defeat and give up. If I had spent that time working instead of chasing my tail, I would have made enough money to buy a new middle-of-the-road i7 system with 6 GB of RAM and a nice graphics card. The machine I was trying to fix is arguably worth no more than $600-700 (P5Q3, QX9650 CPU, 4GB DDR3-1600 RAM, NVidia 8800GT graphics card, blah, blah, blah…see the table at the end of this posting for details). By setting a value on my time, and limiting the amount of time I should have been willing to spend on this system, I would have been able to make the call to buy another $125 mobo much more quickly. 

I’ll report on my experiences in reassembly next week when the parts show up from Newegg (where my Preferred Account balance just took a $600-plus jump thanks to the P5E3, plus a WD 300 GB Velociraptor, and 3 Samsung 1.5 TB SpinPoint SATA drives). But I’ve also learned that by setting a repair or rebuild cut-off at between one-half and the full value of the system involved, I can limit the damage that trying to fix something intractable or difficult can do to my bottom line. It’s a good thing I’ve got a solid consulting gig right now and can put on the afterburners this weekend to catch up on my down time. Otherwise, I’d be stuck with a very expensive system that’s still inoperable — at least, for the moment (and until the new parts arrive, and I can reassemble what will hopefully be a working system).

Item Details Item Details
Mobo Asus P5Q3 CPU Intel QX9650
Graphics card NVidia 8800GT Power Supply Seasonic SS-600ET
RAM SuperTalent 2x2GB DDR3-1600 Case Antec P900
HD 1 (System) Seagate 7200.10 320GB HD 2 (Data) Spinpoint F11 HD103UJ 1TB

The only thing I plan to change is the motherboard. Hopefully that will do the trick. Stay tuned for further details, and let me know if anybody wants to see some photos of the system, before and/or after the replacement. I’ll report back on the rebuild and its outcome late next week or over next weekend. As Roseanne Roseannadanna said: “It’s always something!”

I also cashed in one of my 4 MSDN subscription support incidents with Microsoft to see what they had to say about this situation. I was both gladdened and galled to learn that I had covered my bases pretty well, and that they had little or nothing to suggest to me by way of fixing items that I hadn’t already thought of and done myself. “Run the RAM diagnostics, check your BIOS settings, and burn new media” pretty much sum up what they told me, though I did ask them to retire the incident before we really got down and dirty with the details. Nevertheless, I was pretty happy with the level of support and interaction involved, both for the initial incident start-up process and for the three follow-up calls they initiated with me after the incident got its own ticket number assigned. It’s fair to say that even at $150-plus per incident on a fee basis, MS does a good job of handling the process and pursuing solutions once you get enmeshed in their formal problem resolution machinery.

Making SSDs Work on Desktop PCs: BIOS Shenanigans (Part 1 of 3)

Being geeky enough to get myself in trouble on my PC on a pretty regular basis, I’m also geeking up enough to dig myself out of most of this self-inflicted misery. Recent case in point: I acquired a couple of SSDs, one a 128 GB MasterDrive SX from SuperTalent Technologies (with Samsung innards and controller) for my primary test machine, another an 80 GB Intel X25-M (with a slick multi-level Intel controller that treats the internals as a collection of 5 16 GB drives to offer some of the fastest SSD performance around. I lusted for the 160 GB model, but just couldn’t force myself to cough up the $599 it cost when I was shopping for same; these days that price is more like $550).

By themselves, without any special tweaking, tuning, or set-up, these SSDs do run noticeably faster than conventional spinning drives. But as I’ve been learning, there’s a lot more involved in installation, tweaking, and configuration to get the most out of your SSD than immediately meets the eye. Also, SSDs work best when configured to work with the Advanced Host Controller Interface, or AHCI, which requires different drivers and set-up to work properly on your typical desktop PC. Although SSDs and most modern conventional hard disks all use the SATA interface, conventional HDs will more happily and readily emulate IDE, work with AHCI, and even support various types of RAID configuration without too much muss or fuss.

But to get the most out of an SSD drive on a Windows PC (and so far, my in-depth experience has been limited to Windows 7, where the OS is “SSD-friendly” by design) you must upgrade its firmware to support something called TRIM. Basically TRIM is a special set of commands designed for use on a solid state disk that describes which data blocks on the drive that have been written are no longer in use (usually because a file has been written at some point in time, then later deleted, leaving its data records behind on the drive). SSD’s are also subject to a phenomenon called “write amplification” because while they can write 4KB blocks of data at a time, they can only delete larger blocks sized between 128KB and 512KB. To preserve the contents of blocks within the larger delete areas that remain in use, they must perform complex and lengthy read-erase-modify-write cycles. These become more complex and time consuming as a drive fills up, and data gets spread out all over its available memory space.

TRIM support permits the OS to pass data about now-abandoned and ready-to-reuse disk blocks resulting from file deletes on to the SSD controller, and helps the SSD to maintain its speed and avoid the slowdown that writing around occupied (but no longer useful) blocks of data on the drive after it’s been completely filled. Most vendors also offer so-called “SSD optimization” utilities that are designed to be scheduled to run at regular intervals, to zero out abandoned disk locations and mark them as fresh, available storage. Though this does add to the number of writes to SSD memory cells–which are limited to 10,000 writes for MLC NAND memory, and 100,000 writes for SLC NAND memory–it helps boost SSD performance by making it faster and easier to write data on demand and often, by short-circuiting the read-erase-modify-write cycle that otherwise slows down SSD performance over time.

Making TRIM work with today’s SSDs can be a little bit of a challenge as I discovered in working with a couple of my desktop PCs recently. In this first installment of a three part series, I’ll describe what I had to learn and do to get my Intel X25-M 80 GB SSD working properly on my primary production machine. As I discovered the Intel TRIM driver was available for my device, and downloaded and installed same, I also learned about the Intel SSD Toolbox which reports on Intel SSD status and condition, runs various diagnostics, and includes a schedulable SSD Optimizer tool to perform the aforedescribed SSD deleted block cleanup maneuvers sketched out in the preceding paragraph.

Sounds easy, right? But when I first tried to run this utility, it reported back to me that the optimizer tool isn’t supported for Intel SSDs in RAID configurations, as the documentation also clearly explains. What I didn’t immediately understand until I started looking at my drive configuration info (using Gabe Topala’s excellent System Info for Windows, or siw.exe, utility) was that by plugging my SSD into one of two ports associated with the Gigabyte re-branded JMicron JBB36X  (GBB36X, actually) RAID controller, my motherboard’s BIOS would see this as a RAID drive whether or not I actually used it as part of an actual RAID configuration.

Once I plugged my SSD’s SATA connector into the SATA0 plug on the motherboard (it’s actually labeled SATA101, so I had to download and peruse the manual to figure out which receptable to use), the Intel SSD Toolbox no longer refused to access the device. Only then was I able to schedule and run the Optimizer facility, as shown in the next screen shot. Since then, I’ve been able to notice a perceptible speedup when booting or shutting that machine down, and when launching applications. That’s not all there is to tweaking and taking care of an SSD, though, so in Part 2 of this series, I’ll explain what I had to do on the software side to get the Intel X25-M to stand up and bark, so to speak. As it turns out even in “SSD-friendly” Windows 7 unless you install the OS onto an SSD, it won’t automatically select the most SSD-friendly settings if you migrate the OS to such a drive after the fact…

With the right type of motherboard connection, SSD optimization is enabled

With the right SATA connection, SSD optimization is enabled

GUID Shortcuts

Here’s the text for the various and sundy Windows 7 only (names begin with W7) and Windows 7 and Vista (names begin with WV) GUID-based shortcuts I describe and depict in my “GUIDs, Shortcuts, and “GodMode” in Windows 7 and Vista” blog at TechTarget. Length or syntax issues prevented me from posting it directly there, so here it is in all its glory:


Grab and use these as you see fit. Again: Enjoy!