Welcome to the QA Tech-Tips blog!

Some see things as they are, and ask "Why?"   I dream things that never were, and ask "Why Not".  
Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.  
Old Chinese Proverb

Saturday, May 7, 2011

Hot Smokin' Weapon! Award for May 2011:
EasyBCD by NeoSmart


  . . . . And a Big HELLO to all my friends out there in Television Land!

I have decided that it's time for another one of my famous (sort-of) "Hot Smokin' Weapon!" awards.

And the lucky winner is. . . . . . (Envelope please. . . .rrrrrrip, shuffle, shuffle - pregnant pause)
NeoSmart Technologies and their EasyBCD product!  (Enthusiastic canned applause. . . .)

Seriously now, EasyBCD is one of those cute little utilities that really should have been included with Windows Vista, 7, etc., because it's so darned handy and useful to have.  In a sense it's a lot like sex.  If you've never had it, you don't miss it - but once you've gotten it you wonder how you ever lived without it.  Not only is it so darned useful that, (IMHO), it should be standard equipment on modern computers, it is also absolutely free.  Yea, I know - I can hear the yawns already - however try not to fall asleep before I finish here, you'll be glad you stayed awake - Promise!

To really appreciate the magnitude of EasyBCD's contribution, we need to take yet another Stroll Down Memory Lane. . . .

The earliest versions of both DOS and Windows - up until about the time of Windows '98 - use a hard-coded boot "pointer" in the Master Boot Record, (MBR), of the hard drive to tell it where - on that particular hard drive - the boot and start up files were so that it could get the computer up and running.  The advantage of this system was that the boot process is a trivial exercise:  Follow The Yellow-Brick Road and you eventually get to Oz.

If you've been paying attention, you will see the big, glaring, disadvantage of this boot method.  It assumes that any bootable operating system is on the first hard drive in the logical chain - which, by the way, is the only one that would boot natively.

If you wanted to boot to a different partition on the first, (root), hard drive, you'd have to re-create a new MBR that points to the partition to be booted.  If you want to boot to an entirely different hard drive you'd have to, (somehow or other), change the logical order of the drives to make the new drive the root drive in the logical chain.  (And then muck around with the MBR!)  Both of which, (as many a user will tell you), are among the fastest ways to bork a system into utter oblivion unless you were particularly careful.  And lucky.  And had backups.

In order to make these additional partitions - or disks - bootable without having to hack the MBR, (Yow!), or fuss around with the logical sequence of the drives, (Say WHAT?!), whenever someone wanted to change the boot order; people were forced to purchase specialized applications, (like System Commander), that could show them a menu of bootable operating systems and let them pick the one they want.  It was a hack, but it was a hack that actually worked and people gladly shelled out their hard-earned pesos to buy these utilities.  These utilities, because of what they did, were also fraught with danger.  I can personally testify that if you screw up just THIS MUCH. . . . Well let me just say that it wasn't a pretty sight.

Starting with Windows NT Microsoft worked out a way to fix this problem by providing a "boot.ini" file in the root of the first logical drive that was used to boot the system.  The function of the boot.ini file was to tell the system what operating systems were installed and on which disk and/or partitions they could be found.  Creating a multi-boot environment became as simple as editing the .ini file.  No hack required!

Of course, making things that easy for the end user goes against Microsoft's Corporate Policy, so they fixed that with the release of Vista by scrapping the boot.ini file in favor of a special, hidden, "database" called the Boot Configuration Data (BCD) store.  Supposedly, this was done to support an entirely new boot paradigm called the Extensible Firmware Interface (EFI) - something that may well become significant when 3 terabyte (+) disks become more common.

The end result of this was to make changing the boot process virtually impossible without using a Microsoft Supplied Utility called BCDedit.  BCDedit is a pure command-line tool and is about as obtuse and cryptic as Egyptian Hieroglyphics, thus giving Microsoft the lead in the mad rush to make boot configurations as insanely difficult to maintain as possible.  (Though Grub2 is a close second, with FreeBSD and Solaris right behind them.)

Enter NeoSmart and EasyBCD.  EasyBCD transforms the management of the BCD store from alchemy and fervent prayer to something as easy as a point-and-click interface.  With this you can make a nice little menu for yourself with each bootable O/S listed - without having to jump through flaming hoops or do the high-dive into a cement filled bucket.

You can change the existing boot order around, add or remove operating system boot entries, change which O/S boots by default - along with tweaking all kinds of interesting parameters - like creating an "if all else fails, this should boot" entry in your O/S list.

Probably one of the best features of this utility, (IMHO), is that it allows you to make BACKUPS of your finely tuned boot sequence - just in case!

Even more useful is that the latest versions allow you to make a bootable "recovery" USB stick with EasyBCD on it, to help you in those cases where an operating system install has hijacked your carefully crafted boot process and stubbornly refuses to let you get it back.  Or even provide a workable substitute.

Now, admittedly, there are some things that EasyBCD can not, and will not help you with:
If you decide that you're crazy enough to mess around with, (or actually re-arrange), the logical volume GUID's, (Yikes!), or you're maddeningly insane enough to hand-edit the drive's MBR and partition tables to change the logical order of the partitions on the drive, (Double Yikes!!), EasyBCD can't help you.

For these tasks you need particular and specialized tools, a double-shot of fine Kentucky Sour-Mash Bourbon, And a straight-jacket!

For everything else related to booting, EasyBCD is the obvious winner.  So much so that, (surprise! surprise!), even the folks at Microsoft use it instead of their own tool.  Which should tell you something about both EasyBCD, and Microsoft's BCDedit utility.

P.S.  Just in case you missed the cleverly hidden hyperlink at the beginning of this article, you can go check out EasyBCD right here:  http://neosmart.net/dl.php?id=1   I'd do it if I were you.  You really will be glad you did.

What say ye?

Jim

Thursday, May 5, 2011

I've Got a Tiger in my Tank!


No, this is not an Esso/Exxon commercial.  (Of course, you do realize that I am severely dating myself with that reference!)

Neither is this a commercial for Mac's OS-X.

Instead, this article is about a little known - and probably even less often used - SATA drive mode called AHCI which stands for "Advanced Host Controller Interface".  There's even a nice Wikipedia article about it that goes into all the gory details if you're interested.

AHCI supports all kinds of fun features like the ones listed below.
(Taken from the AHCI Spec - Rev 1.3, available on IBM's web site here.)

AHCI specifies the following features:
• Support for 32 ports
• 64-bit addressing
• Elimination of Master / Slave Handling
• Large LBA support
• Hot Plug
• Power Management
• HW Assisted Native Command Queuing
• Staggered Spin-up
• Cold device presence detect
• Serial ATA superset registers
• Activity LED generation
• Port Multiplier
The support for port multipliers is important, especially if you want to get a nice shiny new External SATA RAID box - as most of them require port-multiplier support nowadays.

The large LBA support is especially important because it allows you to connect HUGE drives to the system - and the staggered spin up helps avoid smoking your computer's power supply when you fire up that monster 32 drive array!  Though you would hope that any array that size would have its own dedicated power supply, right?

There are - as always - a couple of flies in the ointment:
  • Many self-booting utilities, (like Apricorn's hard drive backup/cloning software), haven't even thought of AHCI, let alone support it.
  • If you're running anything older than Vista or a Hot Smokin' Linux Kernel, fuggedaboutit!  Don't even try.
  • If you ARE running Vista or better, (trust me, anything you might be running is much better than Vista!), or a Hot Smokin' Linux Kernel - and didn't install with AHCI enabled at initial install time - when you change to AHCI and reboot, your computer is liable to look at you with a puzzled expression and ask "What's a Cubit?"
I have no idea how to mitigate this in Linux as I have neither tried it, nor have I researched it.  On the other hand, Microsoft has already released a Knowledge Base Article describing the registry hack you must do - before making the switch - to clue your computer in on what's about to happen.

All in all, especially as multi-petabyte RAID arrays become common attachments to the average X-BOX game console, AHCI is going to become increasingly important.

What say ye?

Jim

Sunday, April 17, 2011

OOPS! - When disaster strikes
System Restore (Part 1 of a series)


Usually, mostly, and as a general rule, your computer starts up and runs well.  You turn it on, enter your password if required, and proceed to have a, (hopefully), happy day on the other side of Alice's mirror in Computer Land.

Sometimes things don't work out so nicely.  You turn the computer on and things go awry in weird and bizarre ways.

Or there's that sickening, sinking feeling you get in the pit of your stomach when your computer starts up with a "no boot device available" message, or sits there - black-screened - with a little white underline cursor blinking at you in the upper left hand corner, as if to say "Ha! Ha! Ha!  You're thoroughly hosed now!!"

Since you are reading this, your computer is, (hopefully), not borked beyond all recognition and we can begin with a machine that is still in running order.

There are certain things that can be done right now, without specialized tools, that can mean the difference between disaster and a successfully recovered system.

The first is System Restore



System Restore
(Note: Windows 7, Vista and XP users all benefit from this.)

This is a life-saving trick that really doesn't get the exposure it should.  Seriously!  I have done things that can only be classified as "abysmally stupid" in hindsight; and had my computer - though still bootable - in very deep sneakers, with no idea whatsoever as to how to dig myself out.  If it weren't for the System Restore feature - I'd still be in deep sneakers with no way out but a complete bare-metal re-install.

What System Restore does is to save periodic snapshots of your system's critical configuration data, (called "restore points"), which are snapshots of system files, registry entries, driver status, etc.  If, and when, your system gets corrupted by an install that went awry - or some other reason, (wink! wink!) - you can use System Restore to, in essence, return your computer to an earlier point-in-time when things were not damaged.

System Restore needs to be enabled and running.  I know, this is one of those "Ya Think?!" statements - but seriously, System Restore is often not running - or has been disabled for some reason - and the status of the System Restore service needs to be checked periodically.

Note:  You will find articles on the Internet advising you to turn System Restore off for one reason or another.  They allege it will speed up your system, (false), or that you will recover tons of disk space, (only partially true), or that it's undesirable for this or that reason, (absolute B.S.).  They actually have the gall to suggest that you should destroy your first line of defense against system destruction to gain some nebulous - and often minimal - improvement to your system.  Which, In My Humble Opinion, is absolute insanity!

Now I will admit, System Restore does reserve a chunk of your hard drive for system restore points.

Of course, Windows also reserves chunks of your hard drive's space for the system swap-file, the hibernation file, crash-dump files, Windows Update backups and so on.  If you are getting so tight on disk space that you are considering dumping your system's restore points - you really need to go buy a huge external drive to put stuff on.

It is my humble opinion that - if you need to dump something - dump all that worthless advice instead of System Restore.

To check, (and enable if necessary):
Open your START menu by clicking on the "Windows" icon in the lower left corner of your desktop - assuming you haven't moved the bottom task bar.

Point to the "Computer" menu item on the right had side of the start menu and right click.  A drop-down menu will open and you should click on "Properties" down at the very bottom.

When you do that a Control Panel window opens up with important information about your system, its setup, and the operating system running.  You should remember how to get to this point as you will very likely need this information in the future.

What you should take note of now is in the center of the screen under "System Information".  The "System Type" entry will say something about either a "32 bit" or "64 bit" operating system.  Write it down somewhere and remember it.  A sticky-label on the bottom of your computer is a good place to keep it.

Even though this has nothing to do with System Restore, it is essential information to have, and since you're there anyway, you should take note of it and record it somewhere.

After you have done that - in the upper left is a list of items one of which is "System Protection".  Click on it.

You will get a pop-up properties window that looks something like this:

The System Protection Property Sheet
Notice in this case System Restore for drive "C:" is turned on.  The "D:" drive is managed by a different operating system - with its own System Restore - so I have that turned off.

You should see your C: drive with System Restore turned on.  Click on the C: drive's entry so that it turns blue and follow the steps below.

If it is turned ON:
Click on the System Restore button.  What should open up is a window that discusses System Restore.  If you click next you should see a list of restore points that you can use.  This means you're all set and ready to roll back the clock if necessary.  Click "Cancel" three times to exit system restore and the system properties page and then close the Control Panel window.

If it is turned ON but there are no restore points available:
If, when you click on the System Restore button, you get a message saying that there are no restore points available, you should create one RIGHT NOW.  And I'm going to show you how to do it.

What has happened is either you just turned System Restore on, or (more likely), something has destroyed any previous restore points.

To create a system restore point, exit the status window and return to the system properties page.  There you will see a button that says "Create".  Click on this button and a small window will open asking you to type in a description of this restore point.  Type in some descriptive text - "Restore Point created after something clobbered them" - or something similar and then click on the button marked "Create".  A dialog will open saying that a restore point is being created; and once that finishes you will see another dialog saying that it was created successfully.

Exit the dialog and then try the test mentioned above under "If it is turned ON".  You should see a list of restore points, with only one in it - the one you just created.  Click "Cancel" several times to exit back to the control panel window, and then close it.

In both cases, you are now set for rolling back your computer if disaster strikes.  With System Restore turned on and working, Windows will - periodically - create "Automatic Restore Points" to create a trail of bread-crumbs you can use when disaster strikes.

If System Restore appears to be ON, but the dialog tells you it's OFF:
There is a rare, but real, possibility that when you go to the System Restore property sheet, select the drive that is "ON" and check for restore points by clicking on the "System Restore" button - a dialog will pop up telling you that System Restore is not enabled on this drive - leaving you scratching your head in wonder.

You check if it is really on or not by verifying that the correct drive is selected and clicking on "Configure".  When you get to the configuration page, it may even show that protection is turned on because the little dot is in the circle next to "Restore system settings and previous versions of files".

What has happened is that the state of the System Restore service and the indications in the System Protection dialogs, have gotten out of sync somehow.  This is rare, but it does sometimes happen.  In this case System Restore is actually and truly off - it only thinks it's on.

Here is how you re-sync it:  Click on the "Disable" circle to put the dot there, and then click it back on the top circle again.  Verify that the slider below shows some percentage of the disk reserved for restore points, (5% is a good starting value), and then click the "Apply" button which should now be lit.

Hit "OK" to close that window and return to the System Protection property sheet and create a new restore point by clicking the "Create" button and following the steps given.

If System Restore is OFF:
First thing we need to do is turn System Restore on.

To do that, you go to the System Protection property sheet by following the steps outlined above - but instead of checking System Restore, we're going to turn it on.

To do that, first look at the hard drive or drives listed in the System Restore window.  One of them should be your C: drive and we want to protect that.

Click on the C: drive entry in the window and notice that it turns blue.  Then click on configure.  When you open the configuration page, it should show "Do not protect this disk" selected and we want to set that to the top item: "Restore system settings and previous versions of files" by pointing to the circle next to it and clicking on it.

Further down, you will see a slider that determines how much of the hard disk should be reserved for system restore points.  Mine is set to 5%, and that should be enough, and more, to hold enough restore points to get you out of trouble.

Click "Apply" and then "OK" to activate System Restore and return to the System Protection property sheet.  When you return to the System Protection property sheet, you should see that your C: drive is set to "ON".

Now that its turned on, go ahead and create your first restore point by clicking on "Create".  You give the restore point a descriptive name, and actually create it by clicking on the "Create" button.



At this point you should have System Restore turned on and at least one good restore point set.  Now that System Restore has "got your back" so to speak, it will continue to create restore points periodically - especially when new software is installed.

You've now taken your first step toward avoiding - and correcting if it should happen - system disasters.

What say ye?

Jim

Monday, April 11, 2011

Internet Explorer 9
Preventing Automatic Install


As many of you know - Internet Explorer 9 has been released by Microsoft. . . .  And true to their usual tricks - they have released it as an "Important Update" - virtually guaranteeing that it will be installed automagically - whether you want it or not.

Since it is so new - and it is likely that there are still a few rough edges - you may want to delay automatic installation of IE-9 via Windows Update.

There is a registry entry that you can insert that will accomplish this:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Setup\9.0]
"DoNotAllowIE90"=dword:00000001
You can create a file, (xxxx.reg) that will automatically update the registry for you, like this:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Setup\9.0]
"DoNotAllowIE90"=dword:00000001
Of course, you will get all the usual warnings about modifying the registry causing Doom and Destruction - but you can (in this case) safely ignore them.

What say ye?

Jim