Monday, March 21, 2011

Simple Ideas: Modify a SATA enclosure to make data backups easier.

If you're like me, you do a lot of system reloads for people who have OS issues due to malware or other factors. As a part of nearly all reload procedures a data backup of the owner's documents, pictures, music, etc. is performed. I always give a client the option and try to steer them toward it since the chances of recovering important information inexpensively after a system reload become very slim. While it's not something I would expect many wouldn't eventually come up with, I decided I would streamline the process of doing this step by modifying a SATA drive enclosure so that it can be used with the system's drive withoutremoving the drive from the PC.

First, I ditched the wimpy power adapter that came with the enclosure. This is the weak point on almost all drive enclosures. I've probably had ten of these fail for every other problem I've encountered with SATA drive enclosures so I opted to replace it with a unit that outputs the same voltage but has a higher current capacity.


Nice and heavy. 4.16A heavy.

I chose an enclosure that has everything required on one board rather than lots of leads going off to switches and lights that are sometimes difficult to remove from the chassis, etc. I also found that having a power switch on this particular enclosure's board was handy and there's even eSATA for added speed (though I'm just using USB right now).



USB, eSata, power switch and connector.

SATA and SATA power connectors.

"Modify the enclosure" might not be the exact phrase to describe what I did - rather, I removed the board from the enclosure. That is all. This really isn't a terribly complex operation, you just undo some screws, bend some tabs, etc. and free the board from the enclosure. Again, this is easier to do and the finished product is easier to handle if everything is integrated and you don't have to bring along extra stuff from the enclosure to get it to work.

Now, this is exceptionally simple to put into use: all you have to do is disconnect the SATA and power cables going to the hard drive in the computer being repaired and dock this little guy to the back of the drive. A word of warning, however, the SATA connections on the backs of hard drives can be fragile. I would advise against putting any undue strain on the connector with this board. Fortunately, the board itself is light enough it puts less strain than stiff SATA cables can on the board and thanks to the built-in power switch I can keep the power off (green light is dark) until it is completely seated on the drive and then apply power with the flip of a switch, rather than trying to plug in a coaxial DC connector to the back of the board while keeping it securely docked to the drive. Now plug the USB (or eSATA) into your host machine and you're in business.

Serious business.

Be mindful of the cords while they are hooked up and don't make any tripping hazards or you might still damage the hard drive being worked on. A data recovery process can sometimes take hours so it's important to keep everything clean and simple so you're not accidentally jerking cords around. My data recovery station is one table that I keep an iMac on for performing the actual recovery and I do not string any cords across gaps.

In the end this can save you several minutes on each job and help prevent the possibility of accidentally dropping the customer's hard drive or losing it either on your bench (it's perfectly clean, isn't it?) or worse, in another customer's computer. I normally label all drives with permanent marker with the customer's name before it leaves my hand after removing it from a PC, but this saves all those steps and is especially helpful on systems where you have to jump through hoops like front panel and faceplate component removal are required to remove the drive.


Who, me?

In addition to merely removing the board and using it one could also insulate it somewhat to protect it from damage and protect other things that it might come into contact with while left plugged into it's power brick. One could simply wrap the board with tape, I have done this before, but it will leave a sticky mess if you ever choose to change your design. You could also make or repurpose a small enclosure that holds just the board and perhaps integrates some form of mechanical attachment to support the device on the back of a drive. Keep in mind, however, if you make it much bigger or add tight brackets to the front side you can limit the device's usefulness, so I prefer to keep things simple.

Wednesday, March 9, 2011

Post Electrical Storm Troubleshooting Residential Wireless Systems


I've noticed something of a recurring theme over the last few years. After each thunder storm, households which subscribe to wireless internet services tend to have problems that on the surface appear to be gremlinic in nature. The provider will normally replace the roof-mounted "antenna" (which is actually an integrated wireless transceiver and antenna array enclosed in a plastic clamshell) and perhaps the PoE injector located inside the dwelling near the point of entry or the customer's computer.

I'm in ur cables, carefully opening a single pair.

In a percentage of these situations the problem is not resolved and the customer is informed that his or her computer is to blame. Often, upon separate inspection by an experienced service technician, the user's computer doesn't exhibit signs of failure with regard to the ethernet port and network functionality may be verified by a battery of tests that check for packet loss during intensive network activity. The user often will now find themselves back at square one, not knowing exactly where their problem lies.


The service provider's misdiagnosis is often compounded if a representative of the ISP uses a laptop to "test" the connection, by plugging it into the customer's wireless transceiver and browsing the internet. A novice may feel that this "rules out" the installed equipment but it doesn't address some common scenarios.

Look, I know they sent me to fix your internet and all,just please don't tell my boss I got my hand caught in this thing.

In at least one situation I have observed service technicians dispatched by the ISP verify a connection with a laptop that subsequently was found to have static assignments for IP address and DNS servers. The customer's complaint was a failure to browse the internet which was related to an inability to acquire an IP address from the ISP. In that situation, the ISP-owned on-premise equipment's built-in DHCP server had failed and was no longer assigning appropriate data to connected clients. Replacement of that equipment resolved the issue.

Another scenario occurs when there is a no link status between the client PC and the wireless transceiver. A failure in the transceiver, intermediate cabling, PoE injector or network card/port on the client PC can cause this condition. A failure of ISP equipment in this scenario, particularly the cabling and PoE injector can manifest itself differently on different systems depending on the ethernet capabilities of that system. In multiple similar situations, a client PC with a 10/100 ethernet capability was observed unable to establish a link to the wireless transceiver but the service technician laptop, equipped with a 10/100/1000 (gigabit) ethernet capability was able to connect and browse with reasonable reliability. This is due to certain characteristics of gigabit ethernet that contribute to it's robustness. Users in this scenario may erroneously believe that their original network port is bad after installing a replacement network interface card (NIC) that is designed for gigabit functionality. The link at this point may work and appear to be stable, however this is a band-aid repair and a more in-depth inspection of premise equipment should be conducted by a qualified technician


A failure of almost any one of these pairs upstream of the PoE adapter, and up to two failures downstream, can be tolerated by a gigabit ethernet controller at the host end.

A customer encountering issues with their residential wireless internet service is advised to be aware of these special situations. There are more scenarios in which a service tech's troubleshooting laptop can function when connected to a faulty internet connection, than when a customer's ethernet port can function on a different network when it has failed.

Server Woes


The question I asked myself when I set up this external blog here at Blogger was "why not just make one on the server I host at home?". After all, I run WordPress there, and I am much happier with the way WordPress works as opposed to Blogger, I like the flexibility it brings. I like the fact that there are thousands of useful widgets for WordPress as opposed to, oh, about eight, useful widgets for Blogger, the rest being "see pictures of XYZ" where XYZ is a random celebrity, etc. Perhaps today was an indicator as to why I didn't just do that.

I woke up this morning early and after spending a couple hours on work projects my wife called me from the other room "I don't think my E-mail is working.". I checked, mine wasn't either, my personal E-mail anyway. I checked our various websites, concurrently with my wife and we both came to the same result - websites were down too. That means one thing really, server's down.

The server goes down more than it should, I believe. It's not helped by the fact that it's not really connected to clean mains power, I don't even have a UPS supporting it presently. It's also not helped by the fact that it's ancient, and not really server-class hardware. Here's a stock photo:
Holy crap, one of THOSE THINGS?

Yep. One of those things. It's a Mirrored Drive Door G4 Power Macintosh Tower. Affectionately referred to as an "MDD G4" by some, or "problematic concoction of steel and acrylic" by others.

I'm falling into the group of "others".

This morning, I was pleasantly surprised to find that the machine was actually running. I powered the monitor that I had left connected to it since I set it up a few weeks ago (yes, just a few weeks ago, this iteration is young compared to others I have put in place). I logged in and at the onset, functionality was aparent.

Functionality was nothing but actual, however.

I soon noticed some oddities. The Server Admin app, that launches each time the account is logged on complained "There is no server at the address specified.". "Localhost" I thought to myself, "there is a server at localhost".

I attempted to browse the web. "You are not connected to the internet" was Safari's unhelpful reply. Perhaps it wasn't too unhelpful. I examined the ethernet cord, it was firmly plugged in. I gave it a tug for good measure, and then gave it a full re-seat for better measure and tried reloading the page. No go.

I launched the system preferences app to see if I could get at the network configuration from there. System preferences was responsive, until I clicked Networking. Then, SBBOD.

I should mention that this was at about 9 in the morning. I was still in my underwear, I was cold, I was standing on concrete with bare feet and troubleshooting was NOT on my agenda for the day. I had deduced that the night prior, when my dishwasher tripped the same breaker that accommodates the circuit that this server is powered through, more than just a temporary power cut had occurred. Something terrible and hardware related and probably costly to fix.

Remember, I'm not all together by this time in the morning really.

I checked the router - no link light. It's looking more like hardware. I switched the cable to another port on the router, then to the switch I have next to the router, no light, no matter where it's plugged in. "Could it be I fried the lan port in the server?" I asked myself. I decided that this was probably the case and I went to my plan A.

Swap the tower!

I keep a spare unit, identical to this one, but it's a slightly different revision, for just this kind of situation. It has no ram or hard drives, so I swap in my installed server drives and the 2GB of DDR ram that this unit likes and any hardware failure, related to the bulk of the hardware - the power supply, board, cpu, etc. is instantly ruled out.

Problem is, it still didn't work. I swapped the shell, the psu, the board with the ethernet chipset along for the ride, and I got the same issue. Well, now it's certainly a software problem (I'm starting to get it together by now). I'm not interested, having not showered or dressed, to start banging away at a terminal trying to find out why the core processes that support networking weren't running because I had a plan B.

Time machine go!

I had recalled that I had configured Time Machine to backup the server installation to a partition on the first boot drive (don't worry, that's only a small part of my overall backup strategy, you'll see) so I popped in the Server Install disc and went to the Utilities menu...

Wait, did I say I "popped in the Server Install disc"? I'm sorry, it's just not that simple, at least on this MDD unit. This unit, and the spare that I keep, both have flaky optical drives. They're not the easiest thing to get at so I haven't replaced them yet, but if I did, I am not sure what I'd replace them with anyway. See, I have about a half dozen IDE optical drives laying around from various computers I've owned in the past. I have been through each of those drives and while they read discs on PCs just fine, they probably read on Macs too, some of them burn with relative success, none of the spare drives that I have on hand will actually boot a Mac from an install disc. Most will boot PCs, not sure why, but none will boot, at least these MDD G4s (which might have something to do with it). I do, however, have one drive, but I don't call it a spare because it's not. It's the drive from my desktop G5. It's IDE and it, out of all the drives in the house, actually will boot these two MDD units from install media. So, when I say "popped" really mean, I dug the G5 out from under my desk, I pulled the side panel off and fished out the drive from it's latch system, unplugged it, dug out an IDE cable, laid open the MDD unit and connected the G5 optical drive in a sidecar configuration, I THEN popped the server install disc in and booted the machine.

Once inside setup I went to the Utilities menu - I wasn't ready to conduct a reload, not yet anyway and it occurred to me, briefly, to check the drive and repair permissions, so I made a brief stop at Disk Utility. Massive permissions repairs, not unusual it didn't seem. I don't run these exercises on any sort of schedule and these systems are always screwing up their permissions, not a big deal. I did a reboot to see if that fixed anything - not this problem anyway, so I was back to the installer...

By the way, it's about 11:30 now, all this digging and booting optical media takes time.

This time, Time Machine was my destination. This for sure would rescue me! I chose the most recent backup and configured it to restore to the Server HD volume. An hour later and...

Still isn't working.

And back to Time Machine, this time, the OLDEST backup available! Damn the recent configuration changes, I can make them again! Another hour and...

It's STILL not working. This is why I say, "Always have a Plan C:"...

Attack it with a clone!

Remember when I said this build was only a couple weeks old? That's because prior to this build I had a fairly long running installation, I'd say about two years old, that died because of a power failure and/or a bad hard drive. I suspect the two were related, perhaps not. Who knows. When I replaced the hard drive in this server, I bought two drives and cloned my initial, mostly configured state, to the second drive and put it away. I thought with time machine and the other backup strategies I was employing I would probably be able to ride about anything. In that probably is where I found the reason to get a second drive.

Now, rapidly approaching 2:40 PM I swapped in my spare and I was off and running. I had a few configuration changes to make, and I did so. I had, since cloning this drive, placed the web server root folder and the mail queue and database on a separate higher capacity hard drive that wasn't effected in all of this. I changed the configuration to point to those locations, executed a very handy little mailbox repair tool I had found before when I was having some problems and I would say I was back up and running within 15 minutes of calling plan C into action.

Always have a Plan C.

Saturday, March 5, 2011

Transfer Windows 7 Hard Disk To A New PC

Or, replace a motherboard in a Windows 7 system without reloading. Either way, when you do this, you're effectively going to a "new PC" - at least as far as the software is concerned. Even if you're using the same ram, cpu, drives and chassis, a different motherboard is just about as good as a whole different system.

Now, there are two complaints about this process that I can hear now:

  1. You shouldn't do that - the OEM license forbids it!
  2. You shouldn't do that - reloading is BETTER!

Well, to #1, I'd answer "I don't care, you do what you gotta do to get up and running". Microsoft actually acknowledges this and doesn't censor it's help forums for users seeking ways to do this. They understand that there are times when you just don't have the time or ability to procure a new license and do a fresh build on a system, or that this process may be a needed intermediate step for a full proper repair, they get it, you should too. To #2, well, I know. Again, time and other considerations can make this procedure more feasible, at least in the short term, than doing a full reinstallation.

This particular situation put me in territory deeming it worth my time and effort to preserve the original installation, rather than reloading it. My wife uses this PC for work and her employers provide some extremely finicky, delicate and difficult to install and configure software. Not only that, but this software, which uses Microsoft Word, has never worked well with versions of Office newer than 2003, and, unless they've done some major work on it recently, does not work at all on 64bit installations of Windows.

Rather than dig out a 32bit Windows 7 install media, then hunt around and dig out the Office 2003 media, and go through the multiple-hours long process of installing the proprietary applications, and manually installing their prerequisites because the developers couldn't be bothered to include the redistributable packages for a half-dozen required technologies, and then deal with migrating my wife's Outlook files, and over 250 gigs of other datas, I took the "easy" way out and decided I'd try my luck with swapping the motherboard into the system as-is.

Now, first, I was smart, as outlined in another post I effectively duplicated her hard drive and got that prepared for the actual procedure, leaving her original untouched just in case we had to go back to the system on the flakey but still marginally functional motherboard for some emergency work or whatnot.

After dealing with some other issues, I was able to get the system to the completely expected state of stop coding on boot. This is an extremely common happenstance when performing this kind of migration. Windows systems that are NT based, probably going back to 3.51, but certainly including Windows 2000, XP, Vista and Windows 7, are heavily dependent on the proper hardware abstraction layer (HAL) and mass storage controller drivers being installed and presently selected by an installed OS. Should some factor that these depend on change, say, you go from being a standard uniprocessor PC to an ACPI Multiprocessor PC, that's a different HAL, and you're looking at a stop code. If you go from one storage controller to another, that's another stop code (0x0000007b). That's the code I was receiving, and that's what we'll concern ourselves with for this brief how-to.

There are a few factors that we've got to be able to verify before we can proceed. I was replacing a motherboard in a system that had a somewhat bad motherboard, but was otherwise still bootable. You MUST be able to boot the system, at least into safe mode, in order to perform these steps with the ORIGINAL hardware in place. I had her old motherboard and a power supply splayed out on the kitchen table because I did not want to go back through the physical build process. I booted the copy of her hard drive and placed the following lines in a new text document and saved it as mergeide.reg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\primary_ide_channel]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="atapi"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\secondary_ide_channel]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="atapi"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*pnp0600]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="atapi"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*azt0502]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="atapi"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\gendisk]
"ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"
"Service"="disk"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#cc_0101]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_0e11&dev_ae33]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1039&dev_0601]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase \pci#ven_1039&dev_5513]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1042&dev_1000]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_105a&dev_4d33]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1095&dev_0640]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1095&dev_0646]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1095&dev_0646&REV_05]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1095&dev_0646&REV_07]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1095&dev_0648]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1095&dev_0649]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1097&dev_0038]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10ad&dev_0001]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10ad&dev_0150]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10b9&dev_5215]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10b9&dev_5219]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10b9&dev_5229]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1106&dev_0571]
"Service"="pciide"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_1222]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_1230]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2411]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2421]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7010]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7111]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7199]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

;Add driver for Atapi (requires Atapi.sys in Drivers directory)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi]
"ErrorControl"=dword:00000001
"Group"="SCSI miniport"
"Start"=dword:00000000
"Tag"=dword:00000019
"Type"=dword:00000001
"DisplayName"="Standard IDE/ESDI Hard Disk Controller"
"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,61,00,74,00,61,00,70,00,69,00,2e,\
00,73,00,79,00,73,00,00,00

;Add driver for intelide (requires intelide.sys in drivers directory)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IntelIde]
"ErrorControl"=dword:00000001
"Group"="System Bus Extender"
"Start"=dword:00000000
"Tag"=dword:00000004
"Type"=dword:00000001
"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,6e,00,74,00,65,00,6c,00,69,\
00,64,00,65,00,2e,00,73,00,79,00,73,00,00,00

;Add driver for Pciide (requires Pciide.sys and Pciidex.sys in Drivers directory)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PCIIde]
"ErrorControl"=dword:00000001
"Group"="System Bus Extender"
"Start"=dword:00000000
"Tag"=dword:00000003
"Type"=dword:00000001
"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,70,00,63,00,69,00,69,00,64,00,65,\
00,2e,00,73,00,79,00,73,00,00,00
You should just copy and paste that right into a notepad window (you may need to fix any weird wordwrapping issues from pasting from the internet), click file, save as and be sure to select *.* All Files in the type pulldown so you can specify the .reg extension.

Now, on that system, still functional and booting, double-click that reg file. You will be presented with some warnings about importing registry data from an unknown source and whatnot, you'll want to confirm this. Ok anything you see (UAC prompts, etc.) until you receive a message stating that the information has successfully been imported into the registry.

You may now shut down and perform your hardware swap, whichever way you may, be it a new motherboard into this system, or this hard disk into a new system, either way.

Upon first boot it is completely normal for a lot of things to be very slow. Your mouse and keyboard may not be responsive at first and you may find yourself staring at a login screen wondering how you'll do it without any input devices. Give it some time. I had to wait several minutes before my mouse lit up and the numlock on the keyboard toggled. Several more minutes beyond that and the mouse became responsive and I was able to select the user account and log in. That's not all there is to it, btw, you now have to install drivers for everything. I'd recommend loading the LAN driver from the installation CD that came with your new motherboard and then go online to the boar manufacturer's website to get all new drivers (including that for the LAN) and loading them. Restart the system, run any windows updates, re-activate Windows, Office if it's installed and complaining about it's status, and you should be golden!

Thursday, March 3, 2011

Windows 7 Startup Repair - Not Quite Complete

Startup Repair is nice. Let me just get that out of the way first. I've used it many times to fix many problems, mostly related to the Boot Configuration Data, bootloader, etc. on both Windows Vista and Windows 7 systems. There seems to be, however, issues that Startup Repair can detect but cannot fix. The fixes for these problems aren't always inherently "impossible" from the standpoint of the environment in which Startup Repair runs. No doubt, there can and are many situations that prevent a Windows system from booting that startup repair cannot fix, nor can it be expected to fix. I encountered a situation today that I believe should be well within it's capability to repair.

System recovery options, including Startup Repair.

This morning I resumed a fix I had been working on yesterday for Jill's PC. I was working with a copy of her hard drive made by using Windows Home Server to restore the most recent backup copy of her hard disk from the day before. I had my reasons for doing it this way, in a nutshell they include: using a larger hard drive and not wanting to screw up her original. When restoring to a new hard drive you must prepare the drive and I happened to miss a step during this process. Essentially, when booting from the WHS client restore disc, you load a preinstallation environment of windows that starts the recovery wizard, installs lan drivers if needed, finds your home server and lets you pick which backed up PC and which backup of that pc to restore to which disk. You must, during this process, partition your new hard drive and set that partition as active. That last bit in bold is what I forgot to do. Failing to do that, the WHS restore application will not complain about there being something wrong with your restore destination and will happily spend the next four or five hours restoring 280GB of data over the network to this drive.

When attempting to boot the drive for the first time I encountered an error I didn't immediately expect. BOOTMGR IS MISSING. I fully expected, say, a Stop Error (I was replacing the motherboard at the time, the subject of another post). This message, again, was completely unexpected.

Unexpected.

I began to troubleshoot this issue out and part of that process was running the Startup Repair routine. Fortunately Startup Repair logs it's output and while it could be more thorough (I'd love to know not only the result, but the commands it runs - such is findable, I'm certain, but not right there). Among the root causes determined was a line that read "" Fantastic, I thought. Something's screwy with the partition. I decided to try to read the partition. For those of you who know me, you're aware that I love exploiting things like Notepad's open dialog when booting from purposefully restricted live installations of Windows in order to do all sorts of things (perhaps the subject of yet another post). Without going into the details (yet) I was able to browse around and found what appeared to be a relatively complete installation on a very visible and browseable volume on the hard drive. So what was wrong?

I decided I should have a look at the drive with the disk management utility and figured it wouldn't hurt to just use the same copy that I had used to create the partition, so I booted from the WHS Client Restore disc once again and went through the wizard until I was allowed to launch the disk management MMC snap-in. I discovered that I was able to right-click the volume and set it as active from there. This was what led to the eventual repair of the startup function. I restarted the machine, again got the "BOOTMGR is missing" error, which, by now was expected, but I was then able to use the Windows 7 Startup Repair (two passes) to successfully restore the bootsector and Boot Manager that was so desperately needed to get on with this repair.

Now, you're thinking "well, Startup Repair probably couldn't have repaired that problem, afterall, you had to use disk management, that's not available from where you were!"

Actually, it could have. And I could have, via the command prompt, available from the Windows 7 Recovery Options window using diskpart. What was accomplished with Disk Management would have also been doable with diskpart (I went through the motions, it's capable and available). Here's what it should do (and you can do, should you run into this yourself and don't want to do all the ridiculous booting back and forth between various other media):

Boot the system using the Windows Vista or Windows 7 install media, I don't believe this procedure even requires that you use media of a proper version or bittedness since you're just working on the hard disk here, but you'll need the right one to carry on with other startup repairs so make sure you have that.

Click "Repair My Computer" on the second page of the wizard that starts from this disc (after selecting language and keyboard layout).

Cancel any windows offering to restart the machine or telling you they cannot find a windows installation, you want to maneuver to the Advanced Recovery Options window (pictured at the top of this post).

Click Command Prompt at the bottom of the list.

Now you'll use diskpart to adjust your partition's attributes, type the following minus the parenthetical remarks and inserting appropriate values where I have indicated:

diskpart
list disk (you will see a list of fixed disk drives on your system)
select disk X (where X is the number of your hard disk, usually 0)
list partition (you will see all the partitions listed that the selected hard disk contains)
select partition Y (where Y is the number of the partition where Windows lives)
active
exit

Click the X at the top of the Recovery Options window and restart the PC, again, from the appropriate media and re-run Startup Repair. If you observe the logs different root causes and attempted repairs should be indicated. You may have to run through this last step multiple times (mine took two) but in the end you should be able to nudge Startup Repair through the required steps to make your system bootable again. And then, if you're like me, you can move on to the more pressing repair of the day...

Tuesday, January 11, 2011

Playing the Devil's Advocate: WBC at The Arizona Funerals

"Good." That was my wife's first response to the news article. Admittedly, mine as well. I must say I have no respect whatsoever for Westboro Baptist's Church's habit of protesting funerals. I believe firmly that theirs is a strategy of repeated attempted self-martyrdom. So far they have failed, thankfully, but I fear one day they'll succeed in eliciting a much deserved violent response at one of their protests.

I thought for a moment about ending the previous paragraph with protests in scare quotes. "Protests". It makes a point I suppose, but not the one I'm aiming for. Technically, Westboro's actions have qualified as protests. They assemble, they form lines, they hold signs, they probably sing and do chants, catchy, cheezy and shudder-inducing rhymes... they've never gotten violent, unless you personify your sensibilities, and from what I can tell they've never violated a law.

If, however, they attend the upcoming funerals for those who died at the hands of deranged spree killer Jared Lee Loughner in their typical fasion they will be violating the law. Today the Arizona legislature unanimously passed legislation that will bar members of Westboro Baptist Church from protesting at the shooting victims' funerals.
Earlier in the day, the state legislature passed the measure, which targets a Kansas church whose members announced they plan to picket the funerals of the victims of Saturday's shootings in Tucson.
WBC protestors, should they attend and protest would not have to adjust their methods in order to be in violation of the new law. The very act of protesting, when and where they normally do has now been made illegal by emergency action of the Arizona state legislature.

"Good." It was my first inclination as well.

But that't not how we play when we're playing the Devil's Advocate. I'm inclined to do a little thought exercise that I often do when there is any action that seems to be supported by a majority of any group and especially when that action has the wholesale endorsement of aparently everyone, everywhere. "What's wrong with this?" I ask myself. "There's got to be something."

Perhaps there is.

This week, in Arizona we have the confluence of two completely crazy forces - one that's absolutely certifiably insane, and one who may not fit the clinical diagnosis but is far enough out of whack with the mainstream plus whatever amount of margin you care to pad it with to certainly warrant at least an unofficial diagnosis. Two crazy forces that have come together to do something that rarely ever happens - create a situation where partisanship can be put, not only aisde, but be put in a drawer, in the back under a whole bunch of junk, such that unanimous agreement on a bill just introduced can pass, and be immediately signed into law.

Not even the most powerful political action committee, with the most donations from the most corporations, in our nation could dream of the success that these two crazy forces have had in their commingling this week, in Arizona.

Think about that for a moment. Not even the most powerful lobbying group could have this kind of success and it could be argued that it will, in some small way, nullify at least a part of the first amendment of our Constitution. Not the second, oh the much protected second, nor the eighth, nor any other amendment that should I list it here most would have to do a quick google search to even know with what it pertains. The amendment that guarantees and protects the rights that, without question are the most important to all Americans, because of two stark raving mad entities, will lose a bit of it's bite, perhaps, this week, in Arizona.

This is about the time that one has to reinforce his ideals because for some readers they may become somewhat indistinct. I do not like Westboro Baptist Church. I think their actions are corrupt perversions of those of true Christians. They represent an ideal that likely couldn't even be effectively skewered by satire due to their already over-the-top bastardizations of philosophy - not even a supernatural conflux of the greatest satirical minds to ever live both past and present - Twain, Chevy Chase, The Onion's writing staff - not even they could effectively find even a tenuous foothold of obscene overbearing liberty with which to satirically exploit the nature of the actions of the members of Westboro Baptist Church. Not even the top writers for Cracked.com could do such, therefore they hold no shelter with me, not a single leaf's worth of shade against the blinding, burning, cancer causing sunlight of all that is right could they find with me.

Yet, a tiny, loud, nagging part of me is screaming, from it's pearch on the beanbag chair of my brain, it's screaming "hey, aren't their rights being violated here?"

The, perhaps more reasoned part of my conscious self argues back "Why shouldn't their rights be violated? Aren't they assholes?"

"Aren't you?" my annoying component questions back. It's a rhetorical question, of course I am. I know this, though I'm sure I'll be told. We, each and every single one of us, are desperate recipients of each liberty guaranteed in the Bill of Rights. Whether or not we know it. While I suppose it's very much preferable that it is two entities whose addresses have zip codes far within the boundaries of the lunatic fringe that have made such an historic legislative anomaly materialize, as opposed to the highest paid corporate lobbyists in Washington an ever growing portion of myself hopes that this new Arizona law is struck down.

Though I will not shed even a single tear if the repeal is "delayed" until the funerals for those brutally murdered Saturday has safely and uneventfully passed.

Monday, January 10, 2011

New Group

I've decided to start a new group. This is nothing new for me, I've started a few groups before, mostly just to be funny, like Tim and Eric Awesome Show: Great Job: Sucks Ass and We Think Lazy People Who Use Mart Carts Suck. In the past it's always been a rather trivial thing. Something would happen one day and knowing that there are already millions of facebook groups out there for practically everything, I would search for it, and if I couldn't find it I would make it happen. In most cases a small cadre of my friends and maybe second and third-order friends would join and I would probably never actually update it ever.

There are even times that I would stumble across posts made months ago that I was completely unaware of. On my own group. That shows you how disinterested in most of that kind of thing I've been. Always a spur-of-the-moment gag and then I'm onto the next one.

Over the moths and years I've been vaguely compelled to create something a bit more meaningful. One issue that I've always felt very strongly about, an issue that's withstood the various ebbs and flows of my own political self-adjustments, is that of personal ownership of firearms. Yes guns.



Cute, but I'd like to know she's taken a gun safety class.

Let me get one thing out in the open: I am not an extremist. I'm not a kook or a reclusive weirdo or an aspiring terrorist or a lock-step follower of everything else that a significant percentage of people might think when they notice that I'm a gun enthusiast.

That being said, I feel ill-represented. Not necessarily by my elected officials (here and there maybe) but by the groups and organizations that mostly currently exist to encompass gun owners. Notably, the NRA, but there are other groups. Nearly all of which are political action committees first and representatives of gun owners a sometimes distant second.

I fell prey to a system in which, like many divisive issues, my interest was used to keep me neatly segregated into a distinct, purportedly homogenous political group by convincing me that the only other option was a distinct homogenous political group that believed the exact opposite of everything I did.
  • They hate your race, and they hate your guns.
  • They hate your diet, and they hate your guns.
  • They hate your marriage, and they hate your guns.
  • They hate your heritage, and they hate your guns.
  • They hate your religion, and they hate your guns.
  • They hate your income level, and they hate your guns.
  • They hate your mode of transportation, and they hate your guns.
  • They hate your opinions, and they hate your guns.
They hate everything about you that you care about, in some form or another and they want to take everything from you, AND they want to take your guns. In many arguments, your gun is all that keeps them from taking everything else. They often run the gamut from petty criminals all the way up to the federal government itself, or various incarnations of a proposed "new world order" global government. For a while, growing up, at some point after I had been successfully convinced that there was no boogeyman, I was re-introduced to the concept in a new form. They are the new boogeyman, one that adults aren't embarrassed to admit to believing in. I believed in the new boogeymen for a while and then I learned something shocking.

They don't exist.

That's not some sort of nihilistic exploration of the nature of reality or anything, merely an observation. They don't exist as a proper they, not a homogenous powerful group hell-bent on stealing away all that you hold dear and leaving you both broke, dead and without a family (but remember, they want to still be able to tax you!). Sure there are individuals who can be found that hate everything about a given person in some form or another. If you find someone who actually, honestly hates more than about 3 of those things on that list about you, and they hate it so much they want to do something about any of it, at all, you've actually found the next Jared Lee Loughner. Not the next Nancy Pelosi. Not the next Barack Obama. You've found a psychopath, not a politician. Regardless of how you have felt about any politician, from whatever political party ever, it's extremely uncharacteristic for the psychotic ones to receive sufficient votes to take office.

Ah, but Matt, there IS a gun control lobby and they do have an agenda. Yes, yes made-up internet contrarian, they exist, and yes, they want things. Take a moment to actually dissect what you believe to be the modern gun control movement. What are their goals? Is it an outright ban on all firearms, or a ban on semi-automatics? Well, both actually. How about a ban on rifles with barrels of a given length, or firearms that have magazine capacities in excess of a specific number of rounds? Both of those too. There are groups who feel that hadguns should be banned and there are groups that feel that the only legitimate use for firearms are for home defense. Some groups even are permissive when it comes to hunting firearms and many support bans for only certain citizens, be they regular joes, or just civilians, or maybe just felons or those who have been convicted of violent crime.

I've got to point out, if you've been following along and you're turning those various groups over in your head then you've already violated one of the governing principles of effective special interest groups. You've inadvertently acknowledged that there are differing schools of thought, many of which are incompatible in one way or another from the others. They are not an homogenous or single-minded entity.

This fact alone deprives them of so much potential power. "But," you, the conceptualized internet contrarian interject, "what if they all got together?" To that I say, fine, be my guest. Let's round up a person in favor of a total firearms ban and someone who would ban only non-hunting firearms and let's get them to agree. Perhaps they could come to a consensus. A compromise! It could be possible!

Sure. Yeah. I can see that happening. Oh, wait, a new episode of Knight Rider is coming on in my mind's eye. And it's a good episode even.

No. None of what just happened in the two prior paragraphs has any possibility of becoming reality. They even tried to bring back Knight Rider, but it wasn't good.

I'm going to do something that all those extremist whackos that I keep reading about do from time to time and I'll quote Sun Tsu's The Art of War:
"It is the rule in war, if ten times the enemy's strength, surround them; if five times, attack them; if double, be able to divide them; if equal,engage them; if fewer, be able to evade them; if weaker, be able to avoid them."
That gem is where we get the modern simplification "divide and conquer". I don't subscribe to the notion that any backwoods good-ol-boy with an SKS and two loaded 30 round magazines could take on (and win against) the bulk of the ill-directed United States military in some sort of American Revolution II (this time, it's personal) scenario, so don't worry. This doctrine, however, does bear out in so many situations in which the conflict is something at least in broad strokes, comparable to war. Even in our most eager competitions (no, not the Super Bowl), the Presidential election, we can see this principle in play. In recent memory, even, some credit Bill Clinton's victory against Bob Dole in the 1996 Presidential Election as being evidence of such (even though Ross Perot received 0 electoral votes, carried 0 states and took only a tiny fraction of the popular vote, that doesn't count anyway).

The enemies of the gun lobby are divided. They're all over the map and they are not making any compromises anytime soon.

This just goes to address the direct competition that our pro-gun special interest groups have with anti-gun special interest groups. You'll find that as varied as the gun control lobby is, the people are even more varied, if they would just care to get out of the compartment they've been sorted into and allowed their actual opinions to be known.

The world is full of people who all have a little bit different take on things. Thanks to Saturday's events, we know who's WAY out there now, and we should now at least be able to acknowledge (even if you can't do it out loud right now, it's OK) that even our least favorite political figure ISN'T psychotic.

We encourage our children, nay, we demand that they respect those of differing races, backgrounds, interests and so forth. Then as adults we grow up and allow ourselves to be divided and compartmentalized so that we can be effectively milked for PAC donations and keep progress to a minimum. When we teach our children tolerance and respect for others do we mean it, or are we just giving hollow lip-service to the idea just so we won't have to attend another conference with the principal?

So, back to the group, what's this all about anyway and why did you just read a 5-page introduction to the ultimate subject of this admittedly long winded (and some may call pompous) post? I once felt that political organizations could only exist to divide people. I've become aware of a growing movement toward a more meaningful dialog, free of hyperbole and outright misinformation so common among most groups today and I decided that it's time. It's time for a new direction for gun owners:

Responsible Gun Owners of America

This is meant as a sort of a reboot of gun organizations. I want to get back to basics in terms of gun ownership with an emphasis on safety and responsibility and with a no-tinted-glasses policy when approaching legislation, news and rumors. This group is going to encompass all those who believe that no true freedom with firearms can exist without some sort of governance, and that no matter how hard the PACs want us to believe in boogeymen, the only people who come close are those in charge of the PACs themselves (though, they don't even really rank).

The group is now in it's infancy, I'm looking for writers and contributors and it's a strictly non-profit entity at this time. Certain mechanisms will be put in place and donations may even be solicited to help defray the operating costs so, at least presently only members and volunteer writers of all political affiliations and backgrounds are desired. I am to create a great resource for gun owners that's packed full of useful product reviews, stories of interest to hunters and target shooters, collectors and other owners. Whether you have an arsenal that requires a special government permit, or you only own a small revolver for self defense, or if you don't even own a firearm but believe in the principles of responsibility concerning them, you're invited read and contribute.
Yeah, what's this, #6 or so for me? No idea. This will be a kind of nexus for my blog posts though. I plan on taking my favorite posts from all my other attempts at blogging through the ages and put them here.

Now, I know what you're thinking. "Matt, are you off your nut? You're running WordPress at home. On your awesome web server. That you personally administer yourself. Why on earth are you here mucking about with Blogger of all things?"

That's actually a good question, nonexistent internet reader who I just made up, I'll tell you:

I'm a masochist.

Well, no, not really. Truth is, Blogger is the platform where MOST of my previous blogs live, or have lived. I probably WILL end up transitioning to my own hosted blogging platform, but until I've at least complied my previous posts into this blog I'll leave it here.

So, no comments from the nonexistant peanut gallery that exists in my head, this is a work in progress...
It begins again...