Home » command prompt » Page 6

command prompt

Attempting to tame C:\Windows\Installer

Nobody seems to know why the C:\Windows\Installer directory sometimes spirals out of control.

All I can add is that I’ve seen this kind of behavior. At a previous job, I administered a couple hundred servers. I had web servers, database servers, domain controllers, utility servers, installation servers, and the old web servers which basically served as a playground for the people who had more clout than me.

Everything but the playground servers theoretically started out identical to each other except for the IP address. They were built following the same instructions.

But invariably, one or two servers in each team would suffer from perpetual low disk space. To keep things running, I had a few Red Green-like solutions.
Read More »Attempting to tame C:\Windows\Installer

A free SSD alignment tool

We’ve talked recently about the importance of aligning your partitions on your SSD or your RAID array. What if I told you you could align an SSD or RAID array for free? Here’s where to find a free SSD alignment tool–it’s just not normally billed as such.

Alignment helps performance, sometimes tremendously, and it also dramatically improves your SSD’s life expectancy. Newer versions of Windows automatically align their partitions, but only if you do a clean installation to an empty drive. Older versions of Windows created their partitions starting at sector 63, for tradition’s sake. Maybe moving off sector 63 made dual-booting with Windows 9x harder.

Two readers, Jim and Xrocode, suggested utilities to do the job. One costs $30 and seems fairly automatic. One is free and requires a small amount of work. Grab the freebie here. It’s a 274 MB download, so it doesn’t even take all that long.

Read More »A free SSD alignment tool

Upgrading from Windows XP to Windows 7 with USB media

I wasn’t in any hurry to switch to Windows 7, but when several places put the Windows 7 family pack on sale for $125 or thereabouts, I figured I’d better get it. The normal price on three upgrades is $100-$110 a pop. And you know how it goes. Once you get something, you really don’t want it to just sit on the shelf. Why let the software collect dust while I wait for 64-bit Firefox to arrive?

So I want to install it off USB. It’s easy, right? Well, it’s easy if you’re running Vista. But the instructions floating around for making bootable Windows 7 installation USB media don’t work if you’re running XP. At least they didn’t work from any of my XP machines.Read More »Upgrading from Windows XP to Windows 7 with USB media

My poor-man’s SSD boots DOS really fast

So, my no-name compact flash adapters arrived today. I ripped one open like a kid at Christmas, pulled a PC off the scrap heap, yanked my 128 MB compact flash card out of my PDA, and went to town.Unfortunately I couldn’t get Xubuntu to boot, let alone install a minimal configuration, because my CD was corrupt. I wasn’t sure if I could install anything in 128 MB, but my last Debian 3.0 install was smaller than that, so I held out hope.

So I grabbed a Windows 98 SE CD. Surely that would fit in 128 megs if I left out all of the optional components, right? And if not, there’s always Doublespace, right? Wrong. The installation bombed out, saying I needed 205 megs.

The original Win98 was smaller though, right? So I grabbed that CD. It wouldn’t play either. It repeated that same 205 meg line. I’ll bet it says that to all the guys.

So I grabbed my Win95B CD. I’m pretty sure I once crammed Win95B and Office 97 onto a 170 MB hard drive. It wasn’t pretty, but hey, it was an emergency. But no joy there either. The CD wouldn’t even read. I guess I shouldn’t be surprised since it’s a CD-R that I last touched sometime in 1999. I have no idea where the original CD is, but I know where the manual and COA are, not that that helps any.

I dug around for a Debian CD. I come across those fairly often when I’m looking for something else, but tonight I couldn’t find one.

I found my OS/2 3.0 sleeve, which got me thinking, but I couldn’t find the disc. I know I could make that fit in 128 megs and it would really scream–as in, it would complain loudly about the ATI video, and it would run really fast–but I never found the CD.

So for lack of anything else to put on it, I reinserted the Win98SE disc, rebooted, picked the Command Prompt with CD-ROM option, and dropped into DOS for perhaps the first time since the Clinton administration. I ran FDISK, blew away the partition table and repartitioned it, rebooted, found FORMAT.COM hidden in the WIN98 directory on the CD, formatted the drive, remembered I had to use the /S option, reformatted the drive, copied over himem.sys, oakcdrom.sys, mscdex.exe, and whatever else I could find, and built up config.sys and autoexec.bat files by hand using copy con, since I couldn’t find edit.com anywhere on the CD. I removed the CD, rebooted, and it booted fast–into an error message saying I’d neglected the /d parameter. Considering the last time I used the /d parameter was in 1999, that shouldn’t be surprising. What is surprising is that I remembered the syntax. So I deleted config.sys and autoexec.bat, built up new ones with copy con, and rebooted again.

The Win98 splash screen flashed, then I got a familiar DOS prompt, including indicators that the CD-ROM driver was working. It took about as long to boot as it did for the BIOS to do its thing–probably 1-2 seconds. Not bad for $7 worth of hardware ($5 for the adapter from Compgeeks, and $2 for the CF card from a garage sale).

Supposedly Windows 2000 can shrink down to 60MB if you get really aggressive with nLite. I’d really like to see that, but that means I’ll have to find my Windows 2000 CD. I’m sure it’s hiding somewhere in Argentina, playing cards with my OS/2 3.0 and Debian CDs.

I also ought to download Debian 3.0 again. I’m thinking 60-120 megs of Debian is probably more useful than 60 megs of Windows, but I really want to see how quickly Windows 2000 boots off flash.

Supposedly these cards support UDMA, so I probably ought to order some larger CF cards so I can do something really useful with them. Seeing DOS boot instantly is enough to convince me that these things can be useful. Who knows, I might be insane enough to try running my webserver off flash (the memory, not the obnoxious Macromedia/Adobe product).

Windows potpourri

I’ll give some random Windows tips tonight, since it’s getting late and I don’t really want to think. So here’s some stuff I’ve been putting off. So let’s talk utilities and troubleshooting.
Utilities first. Utilities are more fun. So let’s talk about a pair of reader submissions, from Bryan Welch.

Proxomitron. Bryan wondered if I’d ever heard of it because I’d never mentioned it. I’m sure I mentioned it on my page at editthispage.com because I ran Proxomitron for a couple of years. Proxomitron is a freeware proxy server that blocks ads, Javascript, cookies, and just about anything else undesirable. I’ve found that these days I get everything I need from Mozilla–it blocks popups just fine, and I can right-click and pick “Block images from this server” when I run across an objectionable ad, and of course I have GIF animation turned off and Flash not installed. That works for me, and it saves me memory and CPU time.

But if you want more than Mozilla gives you off the shelf, Proxomitron will give it to you. I used to recommend it wholeheartedly. I haven’t looked at a recent version of it but I’d be shocked if it’s changed much. If any of that interests you, I’m sure you’ve already run off to download it. It runs on any version of Windows from Win95 on.

98lite. Most of my readers run Windows 2000 or XP at this point, but about 20% of you are still running Win98 or WinMe. If you want to get a little extra speed, download and run 98lite to remove Internet Explorer and other not-quite-optional-but-mostly-useless cruft. It’s been pretty well established that Windows 9x runs 20-25% faster with IE gone. That’s more improvement than you’ll get from overclocking your CPU. Or from any single hardware upgrade, in most cases.

If you need IE, 98lite can still help you–it can break the desktop integration and speed things up for you, just not as much.

If you’re still running 98, I highly recommend it. How much so? When I was writing Optimizing Windows, Shane Brooks probably would have given me a copy of it, on the theory that its mention in a book would cause at least sales he wouldn’t get otherwise. I mentioned it (I think I dedicated half a chapter to it), but I didn’t ask him for one. I registered the thing. If I liked it enough to pay for it when I probably didn’t have to, that ought to say something.

Troubleshooting. Let’s talk about troubleshooting Windows 2000 and XP.

Weird BSODs in Premiere under Windows 2000. I haven’t completely figured out the pattern yet, but my video editing computer gets really unstable when the disk gets jammed. A power play at church forced me to “fork” my new video–my church gets its edited, censored, changed-for-the-sake-of-change version (pick one) while everyone else gets the slightly longer how-the-guy-with-the-journalism-degree-intended-it version. Re-saving a second project filled up nearly all available disk space and the machine started bluescreening left and right. After I’d done some cleanup last week and freed up over a gig on all my drives, and then defragmented, it had been rock solid.

So if you run Premiere and it seems less than stable, try freeing up some disk space and defragmenting. It seems to be a whole lot more picky than any other app I’ve ever seen. I suspect it’s Premiere that’s picky about disk space and one or more of the video codecs that’s picky about fragmentation. But if you’re like me, you don’t really care which of them is causing the BSODs, you just want it to stop.

Spontaneous, continuous Explorer crashes in Windows 2000. Yeah, the same machine was doing that too. I finally traced the problem to a corrupt file on my desktop. I don’t know which file. I found a mysterious file called settings.ini or something similar. I don’t know if deleting that was what got me going again or if it was some other file. But if Explorer keeps killing itself off on you and restarting and you can’t figure out why, try opening a command prompt, CD’ing to your desktop, and deleting everything you find. (I found I had the same problem if I opened the desktop directory window in Explorer while logged on as a different user, which was how I stumbled across the command line trick.)

I can’t say I’ve ever seen this kind of behavior before. First I thought I had a virus. Then I thought I had a corrupt system file somewhere. I’m glad the problem turned out to have a simple cure, but I wish I’d found that out before I did that reinstall and that lengthy virus scan…

Defragging jammed drives in Windows 2000 and XP. If you don’t have 15% free space available to Defrag (and how it defines “available” seems to be one of the great mysteries of the 21st century), it’ll complain and not do as good of a job as it should. In a pinch, run it anyway. Then run it again. Often, the available free space will climb slightly. You’ll probably never get the drive completely defragmented but you should be able to improve it at least slightly.

Increase the speed of your Web pages

There are commercial utilities that will optimize your HTML and your images, cutting the size down so your stuff loads faster and you save bandwidth. But I like free.
I found free.

Back in the day, I told you about two programs, one for Windows and one for Unix, that will crunch down your JPEGs by eliminating metadata that’s useless to Web browsers. The Unix program will also optimize the Huffman tables and optionally resample the JPEG into a lossier image, which can net you tremendous savings but might also lower image quality unacceptably.

Yesterday I stumbled across a program on Freshmeat that strips out extraneous whitespace from HTML and XML files called htmlcrunch. Optionally, it will also remove comments. The program works in DOS–including under a command prompt in Windows 9x/NT/2000/XP, and it knows how to handle long filenames–or Unix.

It’s not advertised as such, but I suspect it ought to also work on PHP and ASP files.

How much it will save you depends on your coding style, of course. If you tend to put each tag on one line with lots of pretty indentation like they teach in computer science classes, it will probably save you a ton. If you code HTML like me, it’ll save you somewhat less. If you use a WYSIWYG editor, it’ll probably save you a fair bit.

It works well in conjunction with other tools. If you use a WYSIWYG editor, I suggest you first run the code through HTML Tidy first. HTML Tidy, unlike htmlcrunch, actually interprets the HTML and removes some troublesome information. But in some cases, HTML Tidy will add characters, but this is usually a good thing–its changes improve browser compatibility. If you feed HTML Tidy a bunch of broken HTML, it’ll fix it for you.

You can further optimize your HTML with the help of a pair of Unix commands. But you run Windows? No sweat. You can grab native Windows command-line versions of a whole slew of Unix tools in one big Zip file here.

I’ve found that these HTML tools sometimes leave spaces between HTML elements under some circumstances. Whether this is intentional or a bug in the code, who knows. But it’s easy to fix with the Unix tr command:

tr "> indexopt.html

Some people believe that Web browsers parse 255-character lines faster than any other line length. I’ve never seen this demonstrated. And in my experience, any Web browser parses straight-up HTML plenty fast no matter what, unless you’re running a seriously, seriously underpowered machine, in which case optimizing the HTML isn’t going to make a whole lot of difference. Also in my experience, every browser I’ve looked at parses CSS entirely too slow. It takes most browsers longer to render this page than it takes for my server to send it over my pokey DSL line. I’ve tried mashing my stylesheets down and multiple 255-character lines versus no linebreaks whatsoever made little, if any, difference.

But if you want to try it yourself, pass your now-optimized HTML file(s) through the standard Unix fmt command, like so:

fmt -w 255 index.html > index255.html

Optimizing your HTML files to the extreme will take a little time, but it’s probably something you only have to do once, and your page visitors will thank you for it.

The worm that’s not a worm

I got mail at work today. The subject:
David you have an e-card from Alex.

Well, about the only person I know who calls me David is my mom. And I don’t know anybody named Alex. And why would a guy be sending me an e-card? Not wanting to explore that possibility any further, I disregarded it.

Then I remembered reading about something like that somewhere, so I went back and looked at it.

Short story: A really sleazy e-card company is sending out e-mail containing nothing but an URL at friendgreetings.com, which sends down ActiveX controls and installs some spyware that, among other things, sends bogus cards to everyone in your Outlook address book. That’s where I got that e-card message from. I was in this guy’s address book, for whatever reason. (Turns out he’s the webmaster at work. Funny how the webmaster and the hostmaster can go for long periods of time and never meet, eh?)

Officially, this isn’t a virus or a worm because it’s a company doing this crap, rather than a bored loser who lives in his parents’ basement and you have to click on an EULA (which most people do blindly anyway) for it to activate. I fail to see the difference, but I guess I’m weird that way.

I originally wrote that the anti-virus makers didn’t consider this a worm, but Symantec seems to have relented. You can get a removal tool at Symantec’s site.

If you want to protect yourself pre-emptively, locate your hosts file (in C:\winnt\system32\drivers\etc on NT/2000/XP; I’m wanting to say it’s in C:\Windows\System on Win9x; on most Unix systems it’s in /etc, not that it matters since this not-a-worm runs on Windows) and add the following entry:

127.0.0.1 www.friendgreetings.com

More cleanly, you can ask your network admins really nicely if they can block friendgreetings.com at the firewall or DNS level.

If you have inadvertently unleashed this monster, first, close Outlook immediately. Normally, I’d advise getting right with everyone else before cleaning things up, but since there’s the risk of making things worse if you do it that way, clean house, then start apologizing.

Next, download the removal tool.

If you want to be really safe, go into the control panel and remove anything that appears to have anything to do with friendgreetings.com. Next, I’d go to www.cognitronix.com and download Active Xcavator and remove anything having to do with friendgreetings.com. Next, I’d head over to LavaSoft and download Ad-Aware and let it shoot anything that moves.

Next, apologize profusely to the guy who runs your mail server (ours got clogged up for hours processing all the mail from not-our-friendgreetings.com) and to everyone in your address book. I can’t offer you any advice on the best way to do that. Except I’d use something other than Outlook to do it. Head over to TinyApps.org to find yourself a small freeware mail client. Assuming you’re not on an Exchange server, I’d suggest pulling the network plug before firing up Outlook again to get those e-mail addresses.

Meanwhile, it would do no good whatsoever if everyone who’s gotten one of these annoying e-cards (whether they opened it or not) opened a command prompt and typed ping -t www.friendgreetings.com and left it running indefinitely. No good whatsoever. It’s still a distributed denial of service attack if all of the participants participate voluntarily and independently. Right?

We’ve got problems.

It all happened two nights ago when I put a questionable disk in my Linux box that’s running a highly experimental kernel. The task crashed. OK, fine. Everything else was still happy. So I tried to close out that shell. Hello, Mr. Freeze. Well, that’s what I get for running an experimental kernel. These things happen. So I rebooted. It came up fine, except it couldn’t see the network.
Figuring I’d catch all kinds of crap about this one, I shut off the monitor and resolved to come back to it later.

Then I came home last night and figured I’d check my mail on one of my Windows boxes. It errored out immediately. So I opened a command prompt and tried to ping. The network was unreachable. What? Is this contagious? So I went to my Web server. It saw the world just fine, and the world could see it. Curious.

So my router/switch was fine. I looked under my desk. There it was, blinking away. Then I noticed something wrong down there. I glanced at my hub. No lights. No nothing.

I reached down and unplugged it. Dead. I unplugged the power cable from the power supply. Dead. I reached over to the hub’s plug and pulled it.

My Web server went dead. So much for my 270+ days of uptime. And I guess that wasn’t my hub after all.

So I traced the cable from my Windows box to the hub, and moved it to the switch. I opened a command prompt and typed ipconfig /renew. I was back in business immediately.

I tried my Linux box, but I couldn’t trace its cable. I’ll do that some other time.

And of course I needed to plug my work laptop in and VPN into the LAN to try to do a little maintenance. Every night needs to be spiced up with some adventure, you know.

I guess I’ll be finding out about Netgear’s customer service later.

Upgrading a P2-300

Case study: Revitalizing a PII-300
It took me three and a half hours one night to squeeze another year or two of useful life out of a PII-300.

A fellow member of the Board of Directors at my church approached me one night. “Would you reinstall the OS on my computer?” he asked. He had a PII-300, not a barn burner by any modern measure, but not a slouch of a computer either. But as a performer it had been very much an underachiever of late. I had walked him through reinstalling the operating system over the phone back around Christmas and it had solved some problems, but not everything. It appeared his computer needed a clean start.

When I looked at it, I agreed. It wasn’t particularly stable and it definitely wasn’t fast. He had a Castlewood Orb drive to facilitate quick backups, so I had him copy his data directories (named Documents and My Documents), along with his AOL directory, over to the Orb. I also spotted a directory called Drv. As an afterthought, I grabbed that one too.

I proceeded to boot off a CD-ROM-enabled boot floppy. Tepidly, I typed the magic words format c: at the command prompt. Quickly I noticed a problem: the words “Saving current bad sector map” on the screen. As the drive formatted, Rick asked the magic question. “What do you think of partitioning?”

Dirty secret #1: Any time you see bad sectors, you should absolutely FDISK the drive. Bad clusters can be caused by physical problems on the disk, but they can also be caused by corruption of the FAT. No disk utility that I’ve ever seen (not Scandisk, not Disk Doctor, not even SpinRite) fixes that. The only way to fix that (verified by a technicians I talked to at Gibson Research, the makers of SpinRite) is to fdisk and format the drive.

Dirty secret #2: FAT16 is much faster than FAT32. Since Rick wasn’t opposed to partitioning the drive, I created a 2GB FAT16 partition. You do this by answering No when fdisk asks if you want to enable large disk support. This partition holds the operating system.

I exited FDISK, ran it again, and this time answered Y when it asked the cryptic large-disk question. I created a partition that spanned the rest of the drive. Then I rebooted, typed format c: then format d:, and watched for bad clusters. There were none. Excellent.

End result: I had a 2-gig FAT16 C drive and a 6-gig FAT32 D drive.

Dirty secret #3: Never, ever, ever, ever, ever (unless someone’s holding a gun to your head) install Windows as an upgrade. You have a Windows 95 CD and a Windows 98 upgrade CD? So what. Install Windows 98 on the bare drive. Setup will find no Windows installation present and ask for your Windows 95 CD. You insert your Win95 CD, it investigates it to make sure it’s not a blank CD with win.com on it somewhere, then asks for your Win98 CD back. End result: a clean install. Even if you install Win95 immediately followed by Win98, you get extra garbage you don’t need. And it takes twice as long.

Windows took about 30 minutes to install. I tackled his applications. When I installed MS Office, I did a complete install with one exception. I drilled down into Office Tools, found Find Fast, and unchecked it. Find Fast is a resource hog and doesn’t do anything useful.

I installed Office to drive D.

He’d bought Norton Systemworks on sale one weekend, hoping it would help his performance. It didn’t. I showed him a trick. Rather than install Systemworks directly, I explored the CD, drilled into the Norton Utilities directory, and ran Setup from there. I intentionally left out almost everything. Speed Disk and Disk Doctor are the two superstars. I also kept the Optimization Wizard. I left out most of the rest, because the other stuff doesn’t do anything useful but it sure slows down your system. When it asked about running Disk Doctor at startup, I said no. It just slows down startup and doesn’t do anything useful. I did let it replace Scandisk with Disk Doctor. That way if you get an improper shutdown, Disk Doctor can clean up the mess before Windows starts and makes a bigger mess. But Disk Doctor should run when you need it. Not all the time.

Then I drilled down into the Norton Antivirus directory and installed it. Then I did the same for Ghost. I needn’t have done that. Just copying the Ghostpe.exe file out of that directory onto a boot floppy suffices. More on Ghost later.

I installed this stuff to drive D.

Next, I installed his scanner software, Lotus SmartSuite, and his DVD decoder.

I copied the data back over from his Orb disk, noticed his modem wasn’t working, and installed the device driver I found in the Drv directory I’d copied over to the Orb as an afterthought. (I’d much rather back up too much stuff than not enough.) Then I copied his AOL directory over to drive D and installed AOL 5.0 over the top of it. It picked up all his settings.

I cleaned up c:msdos.sys and rebooted, watching the time. It booted in about 45 seconds, including POST. I was happy. Rick was very happy.

I did the other standard Windows optimizations outlined in chapter 2 of Optimizing Windows. I cleared out his root directory on C. Then I ran Norton Speed Disk. I had it do the full file reordering and directory sorting bit (also described in Optimizing Windows). Clearing out the root directory makes disk access much more efficient, but only after Speed Disk discards the now-empty directory entries. Directory sorting makes disk access more efficient by putting the important files early in the list so Windows finds them faster. The results are marvelous.

Finally, I ran Ghost. I copied the Ghost executable to a boot floppy that contained the Castlewood device driver internal.sys, then booted from it and Ghosted his drive to the Orb drive. Fifteen minutes later, he had an image of his system, so he can return back to this state any time he wants.

End result: Rick’s P2-300 with an 8-gig Quantum Bigfoot drive (a notoriously slow hard drive) and 288 MB RAM received a new lease on life. Despite its slow processor and hard drive, it performs better than a lot of consumer-level PCs available today.

That was a good investment of 3 1/2 hours.

Ghosts from the past…

Wednesday night, 6:35 PM: I was in my South St. Louis County apartment, getting ready for church, when my phone rang. I’d had at least one telemarketing call that night already, but I picked up the phone anyway.
“Hello?” I said, maybe slightly agitated.

“Dave?” a female voice asked. So much for a telemarketer. I recognized the voice but didn’t place it immediately. And obviously she knew me.

“Yes?”

“It’s Wendy.” Ah, Wendy from church. OK.

“What’s up?” I asked. She doesn’t routinely call me–she doesn’t routinely call anyone, I don’t think–so I figured she probably needed something. That’s OK. I take care of my friends.

“What’s it mean when your computer says, ‘Bad or missing command interpreter. Enter path of a valid command interpreter, e.g. c:windowscommand.com’?”

“Oh. That means one of the files your computer needs to get started is blitzed,” I said. “What happens if you type it?”

“You’re gonna hate me,” she said as she typed the filename. “You deal with this stuff all day and now I call you wanting computer advice.”

I could never hate her. She’s too nice. Besides, guys like fixing things, especially for people they like. I probably should have told her that.

“It just repeats the same thing again,” she said.

“I see.” I had her try a couple of other locations–Microsoft OSs have always installed command.com in too many places. But no go.

“Are my other files OK?”

“Hopefully,” I said. “My computer used to do this to me once a year.”

“My whole life is on this computer, Dave,” she said, sounding a little distressed. My heart melted. I hate it when bad things happen to good people. I especially hate it when bad things happen to good people and one of Bill Gates’ or Steve Jobs’ toy operating systems is involved. But sometimes it’s just a minor inconvenience. I hoped this was one of those instances.

“I just need to boot your computer off a floppy, type a command or two, and it’ll probably come right back to life,” I said.

“Do you have time to do this? I mean, really have time to do this?” She didn’t want to inconvenience me.

“Yeah, I’m on my way to church, and you’re on the way, and it should only take me a couple of minutes,” I said as I formatted a disk and copied sys.com to it.

After assuring her again that I was sure, I told her I’d be there in about 10 minutes. I hopped in my car, disk in hand, ready to go be a hero and still make it to church on time. I rang her bell, heard her dog scream bloody murder, and she opened the door. As soon as she let me in, her Labrador warmed up to me. She led me to the computer room, where I sat down and popped in a disk. She yanked on her Lab’s leash, trying to keep her away from me. She wasn’t having much luck.

“That’s OK,” I said to Wendy. “I like dogs.” Then I turned to the dog and started scratching behind her ears. “I’ll bet the most dangerous part of you is your tail. You just like people so much you thump ’em to death, don’t you?” I turned to the computer and booted off the floppy. It didn’t work. So I restarted, and when it asked for a command interpreter, I typed “a:command.com” and got a command prompt. Meanwhile, her dog grabbed onto my hand with her paw so I wouldn’t go anywhere. Shadow, the Cocker Spaniel/Irish Setter mix I had growing up, used to do that.

I ran sys.com and rebooted, expecting to be a hero. Instead, I got the dreaded invalid media type reading drive C error.

I told Wendy I’d need the heavy artillery to fix this problem. I kicked myself for not bringing any more sophisticated tools like MBRWORK. It looked like a blitzed partition table to me.

I rebooted a couple more times to try to get symptoms. The Windows logo splashed up ever so briefly. The drive didn’t make any weird noises. That was good. That meant the boot record was intact, and that some data was intact–obviously, because it was reading the Windows logo. It looked just like the time my Pentium-75 crashed and forced me to cycle power, then didn’t come back up. I didn’t know how to fix a blitzed partition table then. But that was a long time ago.

By now, it was 7:20. “I can go get some more tools,” I offered.

“Go to church,” she said. “I’d feel really bad if you miss church. Tell Pastor John it’s my fault.”

I did my best to reassure her that I could get her data back. I told her the odds looked like about 50/50. In reality I was more confident than that, but unless I’m about 99% certain, I won’t say the chances are any better than 50/50. There’s nothing I hate more than disappointing people.

I went to church mad at myself that I hadn’t gotten her data back. I came home from church, got ready to gather up my tools, and checked my messages. It was Wendy. She said she’d gone to school to work on a paper, that we’d worry about the computer tomorrow but it wasn’t a big deal.

Maybe it wasn’t to her. But it was to me. I hate losing, especially to a computer. I have since I was in first grade and played Atari at my neighbors’ house. True, back then I got mad when I lost at Donkey Kong, but in my mind there’s no difference. Even though it’s a different game today and I lost a lot then and I rarely lose now, it doesn’t make me hate losing any less. Especially when I’m playing with other people’s stuff. Her words echoed in my mind: “My whole life is on this computer, Dave.”

I wasn’t going to let her down. I wasn’t going to let myself down by letting her down. I was going to get that data back, and I didn’t care what I had to do to get it.

I called her back, expecting her not to be there. Her mom, Debby, answered the phone. She gave me a few more clues, told me she didn’t expect Wendy home until late, said one or the other of them would be home about 3:30 the next day. I’d been at work until close to six on Wednesday and saw the possibility of having to stay that late on Thursday. I didn’t make any hard and fast promises about when I’d be there, but I started plotting how I would escape work by 4:15.

On Thursday, I loaded up floppies containing all the standard Microsoft disk tools, plus Norton Disk Doctor, plus Spinrite, plus MBRWORK and a few other partition recovery tools, along with a Windows 98 CD, and took the whole wodge of stuff to work. At 4:20, I called. Debby answered. I told her I was leaving work and I’d probably get there in about 20 minutes.

Along the way, I listened to a bunch of punk rock, really loud, and got myself pumped up. Whether it’s stepping up to the plate in the bottom of the seventh with runners on second and third and two out, or just a tricky computer problem, I get myself into the same mental place. The world fades away and I see nothing but the challenge. By the time I got to their house, I was in the zone. I was so in the zone that I walked up to the front door of the wrong house. Wendy’s Lab was in the front yard giving me the “I know you! What are you doing over there? Get over here and pet me!” look. I didn’t notice. The neighbor pointed next door. Feeling stupid, I walked over. The dog congratulated me on getting smart, Debby greeted me, and I went another round with her computer, running MBRWORK. It recovered the partition successfully, it said. I got excited. I rebooted and the computer asked me for a command interpreter again.

Cantankerous computer 2, Dave 0.

I went home, fixed myself a little something to eat, pondered the situation, and wrote my Bible study for Friday night on my company laptop. That calmed me down enough to let me think rationally again. I packed up everything I could possibly need: Norton AntiVirus, Ghost, an extra hard drive, two laptops, a couple of Linux CDs, both versions of Windows 98, utilities disks…

I booted off my disks and tried a few things. Nothing. I booted my company laptop up with the disks–that laptop doesn’t have DOS installed–and added a couple more toys. They didn’t help. Wendy got home and asked if it was a bad sign I was there. I muttered something and probably came off as rude. I was in the zone, after all. I asked her if she had any floppies she wanted me to scan for viruses. She handed me one, and I tried to boot my laptop into Windows. It showed the very same symptoms as her computer.

I’ve said it before and I’ll say it again. Virus writers, PLEASE get a life. Get interested in girls or something. Anything!

Wendy didn’t like the look on my face. I told her what happened. She said a phrase I won’t repeat here, then apologized. There was no need. I felt like saying it too. Or something worse.

For grins, I tried booting the laptop into Linux. It booted up like it was cool. Hmm. Boot sector viruses that kill Windows dead don’t even make Linux flinch. I owe Linus Torvalds a beer.

I tried mounting my main Windows partition. Linux reported NTFS errors. Visions of virus writers getting beaten to a bloody pulp danced in my mind.

Since I was now convinced we were dealing with a boot sector virus, I replaced the MBR. No joy. I booted off a Linux CD, switched over to a console, ran cfdisk, and viewed the partition table. One 4-gig partition, FAT32. No problems. Odd.

Wendy started fretting. “You’ve spent all this time and you’ve lost your laptop. I’m about to start to cry.”

I stopped what I was doing, turned to her, and looked her straight in the eye. “I take care of my friends.”

She looked back at me like she thought that was kind of cool.

“I don’t care about the laptop. I can fix that later. I can rewrite the Bible study that was on it. It took me 20 minutes to write, so it’ll take me 15 minutes to rewrite. I’m going to get your data back.”

The Bible study I lost indeed took me about 15 minutes to rewrite, and the second version was a lot better. But I didn’t get her data back that night. Eventually I gave up, pulled her drive, installed a new drive, and installed Windows and Office on it so they’d have a computer that was useful for something. Debby walked in as I was switching drives, noticed the dust inside the case, and gave it a disgusted look. She came back with a rag and Wendy started laughing at her.

“She can’t stand dust anywhere. I guess not even inside electronics,” Wendy said.

Debby lit up when she walked in the room and saw the Windows 98 screen on her computer. Later when Wendy walked back in, she let out a whoop and told her mom she was missing beautiful things in the computer room. I was pretty happy about it too. Windows 98 didn’t install easily–the intial reboot failed and installation didn’t continue until I booted it in safe mode, then rebooted. I gave the computer a lecture as I booted it, reminding it that I have enough spare parts at home to build a computer like it and would have no qualms about destroying it and replacing it with something else. I know it didn’t hear or understand a word I said, but I felt better afterward.

I felt bad about not getting the data back that night. Wendy and I talked for about 45 minutes about other things. I felt better afterward. I forgot to thank her. Around midnight, I packed up the stuff and drove home.

Wendy and I talked the next day over e-mail. I’d taken my disks to work and scanned them on a non-networked PC nobody cared about and found the Form virus. Wendy had taken some disks to school and had them scanned. They contained both Form and antiCMOS. Since antiCMOS resides in the MBR and Form resides on the primary partition, the two viruses can coexist. Form was relatively harmless on FAT16 drives, and although antiCMOS was potentially destructive in 1991, it’s much less so now that PCs autodetect hard drives at boot rather than relying on parameters stored in CMOS. My work the night before would have eliminated antiCMOS, which explained why it wasn’t present on my disks. I did a Dejanews search on Form and FAT32, to see if that would explain the apparent partition corruption. I found that the symptoms were exactly what Wendy was showing. And I found recovery methods that had a high success rate.

I haven’t put Wendy’s drive in one of my PCs yet to recover it. But I’m pretty confident I’ll get her data back. That’s a good thing. I’ve met nicer people than Wendy and Debby. But only once or twice. People like them don’t come around very often, so I’d like to do something nice for them.

Bringing their data back from oblivion would do.