Saturday, December 3, 2016

Windows Is User Hostile

I do not understand how people can tolerate Windows computers on a daily or semi-regular basis.  The frequent reasons usually boil down to either (a) well, it's just what I know or (b) I have to use Windows for the software I need.  Of these, option (b) is only partially believable to me.  For the vast majority of non-business users, Windows is no better or worse than a Linux or Mac desktop.

First, the familiarity.  People say they just know Windows.  Really?  It's changed a hell of a lot from release to release, much like Linux and Mac releases.  Is it really that familiar to you or do you just know realize you are adapting to a new interface?

Second, the software.  People say the programs they need are only on Windows.  I call bullshit on that.  Both Linux and Mac systems offer very good alternatives (and sometimes even better alternatives) to whatever shit you're wanting to run on Windows.  And then there's even things like Google Drive where you don't even need to install things like office software because it runs right in the damn web browser.  For nearly all home users, this is more than sufficient.

There is a Windows system currently in my office.  It belonged to my mother in law.  In an effort to preserve the data (e.g., photos), I offered to help extract those files from this system so we could then either sell or donate the computer.  What I thought would be a relatively simple task turned out to be basically impossible.

Let's Get The Files
Boot up and log in.  Seems mostly familiar.  The system is running Windows 7 Home Premium.  It does not look familiar to the Windows that I was last familiar with (Windows NT 4.0), but I am able to figure some things out.  But not everything.  How do I get a listing of what's on the disk?  Can I see a file manager?  How about a command prompt?  I find a thing on the menu called Computer that lets me navigate the C: drive, but I don't really know what I'm looking for.  I could really do this faster at a command prompt.  I remember being able to type cmd in the Run dialog box and it ran a DOS prompt.  That still works.  But turns out I don't really remember my DOS and am clumsily moving around the hard disk.  OK, this is a waste of time.

How About a Shell I Know
I download and install Cygwin and launch its bash shell.  I can now access C: via /cygdrive/c and things start looking familiar.  I think now I can just tar up some key directories, scp them to a real computer, and then unpack those archives and pull out photos and so on.  I install tar and get to it.  Oh, except I start getting permission denied errors from tar despite the fact that I am logged in via an Administrator account.  What is this shit?  Tar just won't dive in to these directories.

OK, What About a Drive Imaging Program
I know these exist in the Windows world.  How about I image the entire C: drive and we can replicate it somewhere else if we need to?  I'm now getting desperate and reducing the data extraction exercise to just moving bits over to another computer and not knowing if I will be able to do anything with them.  I find and install DriveImage.  It lets me select C: and then makes a ton of files which are image chunks.  I scp these to my real computer and then that's it.  Not really sure what to do now.  This is a non-starter.

We go on vacation.

Right, Back From Vacation
Still need to get these files off the system.  But you know, I'm not really sure what files are of interest.  It would be best to save everything just in case.  In fact, it would be best to be able to have Karen go back and look through this computer if need be.  Ah ha!  I can do a physical to virt conversion, or p2v, and set this system up in a virtual environment on her laptop.  Perfect.

Pick Your Poison
All of our computers run either Linux or Apple ProDOS.  Windows is alien.  So I need to find a virtual machine system that works on her laptop.  Oh wait, it's running CentOS and we include virt technology in that.  Perfect.  Except converting a physical system to something that runs in our KVM environment is sort of a bitch and half.  I'm feeling lazy, what else can I find?

VMware is an option, as is VirtualBox.  Microsoft offers it via Hyper-V, except Hyper-V only runs on Windows.  I look at VirtualBox but they are as complicated as our procedure for doing p2v.  VMware offers a nice method to convert a local system to virt.  So I download that tool and proceed to create the .vmx file.

Error: A General Error Occurred
VMware is terrible with error messages.  The VMware vSphere Converter tool that will let you create images from physical installations is ok, except that it's also terrible.  I launch it and it immediately tells me that a general error has occurred.  Um, ok?  Google takes me to the VMware kbase where it explains that the error is because I didn't run it in Administrator mode.  What?  I am the Administrator.  But in Windows, you can right click an icon and select Run or Run As Administrator.   Seems that even being logged is as the Administrator has a default mode of dropping privileges when running programs.  From a security standpoint, that's probably better for users.  However, it's not what I was expecting nor did the error message help me at all.

I select a place to store the image and tell it to image the boot drive and C:.  I then tell it to make C: as small as possible, which gets it down to 115G.  I set some other parameters and let it run.  It runs for hours and then fails.  Awesome.  It actually wrote out the image file, but still insists that it's a failure.  Why?

One Drive Per Image, Please
VMware can't easily handle more than one disk in the image.  Or this program can't.  Whatever, I don't care.  I reran it selecting just C: and it ran fine.  The other disk was the EFI boot partition, so I don't really care.  The VMware kbase tells me that the image won't be bootable and I will need to boot from the install media and repair the image.  Ugh, what the hell?  This is entirely too annoying.  But I now have an image.  Time to get it on the laptop and get it working there.

I Ransomwared Myself
Remember I said I was feeling lazy?  Well, that's a mistake I had to pay for.  VMware Workstation costs money.  Should have seen that coming.  I had to pay $200 for it.  I got that installed on the laptop and proceeded to copy over the image I made, except...

Low Disk Space Warning
That 115G disk image of the Windows computer sure is big.  I have the / volume and /home on the laptop.  The / volume has 43G free and /home has 31G free.  Hmmmm....this is bad.  Maybe I can shrink / and expand /home and also get the Windows image under 70G, right?  Totally doable.

Nope
Several problems.  I have no idea what I'm doing on Windows.  I start uninstalling programs that seem pointless.  I remove files from C:\WINDOWS\TEMP.  I empty the Recycle Bin.  I try to free up space, but I can only get it down to about 101G.  I go back to the laptop.  Resizing there is going to be a pain.  I took defaults when I set up CentOS on the laptop.  The volumes are within an LVM volume group and are XFS filesystems.  You can't shrink XFS.  You can only grow it.  DAMN IT!

But we do have xfsdump and xfsrestore to make the shrink process possible, but annoying.  Maybe I can run to Best Buy or Staples and pick up a new hard disk, migrate this laptop to a larger disk, then copy over the vmx image, get that set up and running.  Yeah, that should only take the entire weekend.

Failure
That's it.  No more.  I am going to have Karen and her brother comb through the Windows system, extract the files they want, then we will wipe and reinstall and get rid of it.  What I thought would be relatively straightforward turned out to be the most frustrating process ever.  I blame a lot of this on Windows because I really just can't figure out how to do things on Windows.  It's really no different than other systems in that regard.  If I knew what to go and find, this could have been done already.  The best option I could come up with was going p2v and setting it up to run in virt on a Linux system.  And even that turned out to be impossible with my resources.

If you need me I'll be on my Apple IIgs.