Showing posts with label XP. Show all posts
Showing posts with label XP. Show all posts

Saturday, May 21, 2011

ASUS Eee PC: Booting from USB: First Cut

I needed a way to boot an ASUS Eee PC with Windows 7 installed.  The mission was to look at, and possibly replace or delete, a certain file in a particular directory on the Eee's drive C.  The Eee didn't have a CD/DVD drive, so it seemed that what I needed was a bootable USB drive with file management capabilities.  I knew the Eee was capable of being booted that way, because I had already successfully booted it with USB drives containing Acronis True Image and GParted.  Unfortunately, I had not succeeded in previous attempts to boot Ubuntu or some other program or operating system, so as to examine files and folders.  This post describes some more attempts along those lines, oriented specifically toward getting various programs to boot an Eee from a USB drive.

Hiren's Boot CD

More than a year earlier, I had made a similar attempt related to Windows XP.  In that attempt and previously, I had become familiar with various bootable USB jump drive packages, including the Universal Boot CD for Windows (UBCD4Win) and BartPE.  It now appeared that Hiren's Boot CD (HBCD) was an especially good option.  I noticed that it included DBAN, GParted, and other tools that I would like to have on a bootable USB thumb drive.  Following the instructions provided by Hiren and Pankaj (as also shown, somewhat confusingly, on a different website I found later), I took these steps:

  1. I plugged in my USB flash drive -- 4GB, though they said 512MB was sufficient.  I suspected that a drive larger than 4GB would fail due to their use of FAT32 formatting.
  2. I downloaded and ran their USB formatting program (changing no settings).  Then I downloaded and ran their grub4dos program as Administrator.  The device I selected was a Disk (not File).  It was a 4GB USB drive, so on my system that was hd3, which they described as "3851M" (i.e., not quite 4,000 megabytes).  I clicked Refresh next to Part List and selected Whole Disk (MBR).  I clicked Install.
  3. I downloaded the Hiren's BootCD zip file.
  4. I unzipped the BootCD zip file and found that it contained an ISO.  I didn't want to burn a CD in order to proceed with the next steps, so I tried using Virtual CDROM to position that ISO as a virtual CDROM drive. Specifically, in VCD, I clicked Mount, navigated to the ISO, selected it, and clicked OK. The mount failed.  I saw that Virtual CloneDrive (VCD) seemed to be more frequently downloaded, so I tried that.  When I started it, it gave me only a few options.  I adjusted those.  Now I had an icon in the system tray.  I right-clicked on that and got an option to mount drive G, which Windows Explorer was now showing as "BD-ROM Drive."  That opened up a dialog.  I navigated to the ISO.  That seemed to work.  The HBCD instructions said to copy everything from the mounted ISO to the USB flash drive, so I did.  There was some flaky behavior here:  at one point I basically had to restart Windows Explorer to see the contents of the mounted ISO again, but in the end I was able to copy those contents to the jump drive.
With those steps done, I plugged the USB drive into the Eee and rebooted.  I had to hit F2 repeatedly when it first started booting, because I had learned it did not remember boot settings.  I set the USB drive as the first drive to boot.  The USB stick did not boot.  The relevant error message seemed to be, "Cannot find GRLDR."  In other words, the grub4dos step seemed to have failed.  I looked at the directions and tried again.  This time, I skipped the formatting step -- the drive was already formatted -- and went directly to the grub4dos step presented on the alternate HBCD webpage that I had more recently discovered.  But everything seemed the same.  I tried booting the Eee again with the USB stick.  Same result.  I looked at the HBCD FAQs page.  It said this:
If you are getting GRLDR error, or if usb booting is halting with a blinking dos window, or if you are facing with smilar situations, try using syslinux to boot grub4dos. To do that, download syslinux.zip (145 KB), extract its contents, run ‘RunMe.bat’ inside of the extracted folder and follow its steps.
Oy.  But, OK, I downloaded and unzipped syslinux.zip and clicked on its RunMe.bat file.  It did copy files to the USB drive, as promised.  Now what?  I tried booting the Eee with the USB stick again.  That definitely worked.  I was now looking at a GRUB4DOS menu that listed a half-dozen programs.  Unfortunately, none of them was HBCD.  I tried a Google search for info on the HBCD "cannot find GRLDR" error.  Got a couple dozen hits, mostly in Vietnamese.  Bizarre.  I didn't like Bing, but an equivalent Bing search didn't have that problem.  Regardless, I didn't see a solution.  Back at one of the HBCD instructions pages, I noticed that they said I should have run grub4dos as Administrator.  I hadn't done that.  I was already logged in as Administrator, but maybe that wasn't sufficient.  I right-clicked on grubinst_gui.exe and clicked Run as Administrator.  That brought up the same Grub4Dos Installer dialog as before.

I went through the steps again.  In the process of abandoning the one HBCD instruction page for the other, I had also overlooked another step:  "Copy grldr and menu.lst (from HBCD folder) [actually found in the grub4dos\grub folder] to the usb drive."  I did that now.  The menu.lst (that's MENU.LST, with an L, not MENU.1ST, with a one) file overwrote the one that syslinux had placed on the USB drive.  I wasn't sure how this was going to work:  I hadn't removed syslinux from the USB drive.  But I gave it a try.  This time, I got a somewhat longer Grub4DOS menu.  Unfortunately, I didn't see most of the tools that had interested me originally; and after a moment, the computer went ahead and tried to load Windows 7, even though I had not to my knowledge issued any command of that sort.  I rebooted.  It seemed I must have left the cursor sitting on the option for "Custom Menu ... (Use HBCDCustomizer to add your files)," because that one was ready to boot automatically in just a few seconds.  Hitting Enter on that item opened a longer list.

What I wanted, in the particular situation, was something like Ubuntu, with which I could use a GUI to change files in a particular folder on the Windows 7 programs drive C.  I decided to try Eeebuntu 3.0.1 Netbook Remix.  It gave me an error message, and within 10 seconds I was back at the Grub4DOS menu.  I tried Ubuntu 10.04 Netbook Remix.  I tried Ubuntu 10.04 (GNOME Desktop x86).  All of these were giving me "Error 15:  File not found."  They seemed to be trying to load an Ubuntu (or whatever) ISO.  Was I supposed to have that on a separate USB drive, also plugged into the netbook?  I tried Eeebuntu again.  It seemed to be looking for eeebuntu-3.0.1-nbr.iso.  A search led to Aurora and Wikipedia webpages indicating that Eeebuntu 3 was based on Ubuntu 9.04, which at this point was two years old and outdated in a number of ways.  I wasn't that much more excited about the HBCD option to load Ubuntu 10.04, also a year old.

I had been thinking, or hoping, that HBCD would somehow miraculously combine all those dozens of CDs on one USB stick, but now that was just not materializing.  If I was going to be using HBCD just to boot Ubuntu, why not have the latest Ubuntu on a stick?  Make it simpler and more up-to-date.  I went to the Ubuntu download webpage and noticed that they were providing instructions that simply involved the Universal USB Installer and a downloaded Ubuntu ISO.  I ran my copy of Universal USB Installer and saw that it was willing to install Ubuntu 11.04 on a stick.  I was about to proceed with that, but then I wondered whether some other Linux distribution would be better for the Eee.  A search led to one webpage in which some people said that plain old Ubuntu was fine.  Another webpage suggested Leeenux.  I was familiar with Ubuntu, so I decided to try that (again).

When I had pretty much settled on the approach of using Universal USB Installer to download and install the ISO on my USB drive, it occurred to me that the advantage of HBCD was that I could have a bunch of ISOs on a companion USB drive, and could boot them all with the HBCD USB drive.  In this concept, I couldn't do it all with one drive, but I could do it with two, especially now that USB drive capacities were increasing:  my second USB drive could hold a dozen ISOs.  I revisited the option, presented in HBCD, of using HBCD Customizer (above).  I was thinking this might be a way to run Ubuntu 11.04 among others.  Thing is, I couldn't find it.  I didn't want to download it from just any random webpage -- it could be virus-ridden -- but it seemed like WOT-banned sites were featuring it.

XBoot

Another search led to some indications that the UBCD4Win was also customizable, so I turned to that possibility.  This search seemed more promising.  On closer examination, though, it appeared that creating this device required a Windows XP CD.  I had one, but others might not.  That requirement would also presumably have prevented me from using it to install Ubuntu.  So I turned to its cousin, UBCD (not for Windows).  A search led ultimately to Pendrivelinux.com, where I discovered XBoot, which was yet another possibility (along with YUMI and the Linux-based MultiSystem. The XBoot instructions required me to download the latest XBoot as well as the other ISOs that I would want to use.  I decided to start with ISOs for GPartedUbuntu 11.04 (which, as I recalled, would not automatically contain GParted), Darik's Boot & Nuke (patched for XBoot), and Acronis True Image Home.  I had purchased a copy of Acronis, and would have been glad to recommend a freeware alternative, but I wasn't immediately finding one with an ISO.  There would probably be other ISOs I would want to add later, but this would do for now.  I wasn't as interested in some of the programs that were supposedly included in Hiren's Boot CD, for instance, because I was keeping a copy of my customized Start Menu (containing portable applications) on a separate USB drive, and many of the programs included in Hiren's were already on that Start Menu.  Many of those programs required an operating system (especially Windows) to be booted already, so I wasn't sure how or why I would be using them on a multiboot USB drive, though of course it could be handy to have everything on one large USB drive.

So anyway, I downloaded, unzipped, and ran XBoot.  It was a portable, which was nice.  I had created a folder for the four ISOs mentioned in the previous paragraph (i.e., GParted, Ubuntu, DBAN, and Acronis), so now I just dragged those ISOs over and dropped them on the XBoot program.  The instructions seemed to say I was supposed to do something with the QEMU and Edit MultiBoot USB tabs, but I couldn't quite figure it out.  I decided to start simply, by clicking the Create USB button on the first (Create Multiboot USB/ISO) tab.  This brought up a dialog giving me the options of using Syslinux or Grub4dos as my bootloader.  They recommended Syslinux, so I went with that.  The dialog automatically identified my USB drive.  XBoot then seemed to be copying my ISOs to the USB drive.  When it was done, it said, "USB created successfully!!  Check by running it on QEMU?"  I wasn't sure if that meant it was going to reboot the system into the QEMU operating system.  I wasn't in the mood to have my desktop system rebooted right then, so I said no.  Then I looked and saw that QEMU was just an emulator, so I probably could have tested it safely.  It wasn't too late:  the QEMU tab within XBoot allowed me (after a Refresh) to run the USB drive and, by golly, it seemed to work.

I plugged the USB drive into the Eee and rebooted it.  As in QEMU, it gave me the option to go into Utility, Linux, or Help.  The Utility submenu had Acronis, GParted, and DBAN.  I went into Linux in the main menu.  Ubuntu was the only option there.  I chose that option.  It ran.  I was able to access folders and go online in Firefox in Ubuntu.  Later, I discovered that, unlike the three other ISOs,  Acronis did not boot.  Acronis could be made bootable on a USB drive by installing the Acronis software and using its Bootable Rescue Media Builder.  I had already done that with another USB drive.  What I needed now was apparently not an ISO of the Acronis CD, but rather an ISO of that USB drive.  I used ImgBurn to create that.  Then I went back into XBoot.  There didn't seem to be an alternative to redoing the whole bootable USB creation process, so I did that.  This time, when the process finished, I tested all of the USB drive boot options in QEMU.  I saw that it had not deleted the previous options; I now had two Acronis entries.  One hung the system; the other successfully started Acronis.  I wanted to edit this menu, so I went to XBoot's Edit MultiBoot USB tab.  When I clicked the "Edit Syslinux menu file" button, I got an error:  "No application is associated with the specified file for this operation."  When I clicked Edit Grub4dos Menu File, it asked what program I wanted to use to edit it.  I tried Notepad.  That worked.  It opened menu.lst, which turned out to be in the root (top level) of the USB drive.  Menu.lst told me that the menu for the Utility section was on the USB drive too, in /boot/grub4dos/utility.lst.  My editing efforts were not too successful, so ultimately I just wiped the drive and started over.  I was not able to get Acronis to work, and in a subsequent retry the Ubuntu also stopped working.  I reformatted the USB drive (not Quick Format) and then redid the XBoot process without Acronis, and now the Ubuntu was failing to load.  I tried that twice.

Assuming I could get Ubuntu working again on the USB drive, the solution, so far, was to use XBoot, a Windows program, to load several program ISOs on a single USB drive.  The Eee would boot from this USB drive and would give me a menu allowing me to choose among those programs.  There seemed to be no practical limit on the number of ISOs that could be loaded this way.  The USB drive seemed to be capable of running just one ISO at a time, and Ubuntu loaded from the USB drive did not seem able to see the contents of the USB drive itself, so it did not appear that stray utilities added to the USB drive would be available to operating systems (e.g., Ubuntu) booted from the USB drive.

Grub4DOS

I wanted to try again to get a multiboot USB drive that would work with Acronis as well as with Ubuntu, DBAN, and GParted.  I found detailed instructions on using Grub4DOS in a way that seemed to meet this need.  The steps were as follows:
  1. Download and unzip the needed files.  These were Grub4DOS 0.4.4 (2009-06-20) and the Grub4DOS installer (grubinst-1.1-bin-w32-2008-01-01.zip).
  2. In the Grub4DOS-Installer folder, right-click and run grubinst_gui.exe as Administrator.  (This was familiar from the steps described above.)  Select Disk, click its adjacent Refresh button, and select the drive on which you want to install Grub4DOS.  The size of the drive was a clue.  In my case, I was installing to a 4GB flash drive, so I selected the one that was 3812MB in size.
  3. Still in the Grub4DOS installer, click the Part List Refresh button.  This time, I got an error:  "Invalid partition table, if you still want to install, use the --skip-mbr-test."  This was presumably why Ubuntu had failed to boot on the last couple of tries with XBoot (above).  But I had already reformatted it!  Some advised using the HP USB Disk Storage Format Tool (HPUSBDisk.exe).  I closed down the Grub4DOS Installer and tried that.  I set it to do a quick format and not to create a DOS startup disk.  That did the trick; I was now able to go back in and select "Whole Disk" next to the Part List, as advised back in the Grub4DOS instructions.
  4. Unlike the situation above, the instructions this time advised checking the "Don't search floppy" box (but nothing else) and then clicking Install.  That succeeded.  I closed the Grub4DOS Installer.
  5. From the unzipped Grub4DOS download folder, I copied grldr to the USB drive.
  6. Skipping to section 3 of the instructions (since I wanted multiple ISOs on the USB drive), I ran Acronis True Image Home on the desktop computer, where I had installed it.  I went to the Main Screen > Create bootable media.  When I got to the Bootable Media Type Selection section, I chose ISO Image.  I saved it to the same folder on the hard drive where I had my GParted and other ISOs.
  7. I created menu.lst in that ISOs folder, so I'd have it in case I wanted to create another USB drive or retry with this one.  To create menu.lst, I started by copying and pasting this text into Notepad:
    timeout 10
    default 0

    title Acronis True Image Home 2011
    map --mem (hd0,0)/AcronisTrueImageHome2011.iso (hd32)
    map --hook
    chainloader (hd32)
    boot

    title CommandLine
    commandline

    title Reboot
    reboot

    title Halt
    halt
    The parts that could be edited were the title (Acronis True Image Home 2011), which could be anything I wanted, and the ISO's filename (AcronisTrueImageHome2011.iso), which had to match what I had actually called the ISO.  (Spaces in the ISO's filename would apparently have been a bad idea.)  I didn't change the (hd32) part of the "map" line.  The "--mem" part of the first "map" line was optional.  It apparently made the ISO load into RAM.  With 2GB of RAM on my Eee, I felt that I could do this with all of my ISOs.  If that had failed, I could have removed "--mem" from that line.
  8. I copied the finished menu.lst over to the root of the jump drive. So now the USB drive contained two files:  grldr and menu.lst.
  9. I copied the Acronis ISO over to the USB drive, so that menu.lst would be able to find it.  The instructions said I could have put it into a folder of its own, as long as the map command in menu.lst could find it (by referring to e.g., /subfolder/AcronisTrueImageHome2011.iso).
  10. While I was at it, I copied the other ISOs (GParted, Ubuntu, DBAN) as well.  I used the patched DBAN ISO mentioned above.
  11. I edited menu.lst so that it would include references to all four ISOs.  As just shown, it already had five lines referring to the Acronis ISO, beginning with "title."  So I copied, pasted, and edited those five lines for each of the other ISOs I wanted to boot.  Here, again, I was allowed to change only the title itself (e.g., changing "Acronis True Image Home 2011" in the copied "title" line to GParted, DBAN, or Ubuntu) and the name of the related ISO on the first "map" line.
  12. I changed the timeout from 10 to 20 seconds.
  13. Again, I made these changes to the copy of menu.lst that I had created in the ISOs folder on the hard drive, so that I would have a copy of it, and then copied it over to the jump drive.
I tried booting the resulting USB drive in the Eee.  It came up with a genuine menu.  First time around, it tried to boot Ubuntu automatically after 20 seconds' delay (that being the first item on my menu.lst), and failed.  Second time, I didn't let that happen; I arrowed down to Acronis (next item) and tried that.  That worked.  When I exited Acronis, it rebooted, and this time I tried DBAN.  That worked too.  Another reboot, another program:  GParted did not work.  It gave me a screenful of information, including this:
BOOT FAILED!
This Debian Live image failed to boot.
Please file a bug against the 'live-boot' package or email the Debian Live mailing list at debian-life@lists.debian.org, making sure to note the exact version, name and distribution of the image you were attempting to boot. . . .
Unable to find a medium containing a live file system.
BusyBox v.1.18.4 (Debian 1:1.18.4-1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/bin/sh: can't access tty; job control turned off
(initramfs)
It seemed that the Ubuntu/Debian live images (Ubuntu 11.04 and GParted) were not working with Grub4DOS.  A search suggested that others were having this problem too.  One post suggested that changes involving "kernel" and "initrd" might help, but I was not sure how to configure them.  I wondered if the --mem option was screwing up the Linux items, so I edited menu.lst to remove that option from those items.  For GParted, that worked, to the point of giving me the initial menu, but then it led back to the BOOT FAILED! screen (above).  For Ubuntu, I wound up back at the same message as I had gotten first time -- similar to the one just quoted, but much briefer.  It said something about BusyBox but then said, "(initramfs) Unable to find a medium containing a live file system."

Grub4DOS:  Ubuntu

I was perhaps experiencing the problem that "Some linux distributions just refuse to boot from an ISO file on a USB drive."  Of course, Ubuntu could be booted from a USB stick; it was the ISO part that was causing the problem.  This was apparently "experimental."  It seemed that the "kernel" and "initrd" commands could be copied literally, at least for Ubuntu 10.10; I wasn't finding much advice for 11.04.  The approach shown in a couple of websites was like this:
title Ubuntu 10.10
find --set-root ubuntu-10.10-desktop-i386.iso
map ubuntu-10.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=ubuntu-10.10-desktop-i386.iso splash
initrd /casper/initrd.lz
I adjusted menu.lst to replace the previous Ubuntu entry with these lines, copied the Ubuntu 10.10 ISO to the USB drive, and tried that.  (Note:  the line beginning with kernel is long; it wraps.  The next line after "kernel ..." is "initrd ...")  This gave me "Error 60:  File for drive emulation must be in one contiguous disk area."  A search led to the advice to use either Contig or WinContig to defragment the ISO on the USB drive -- to defragment a single file, that is, not necessarily the whole drive.  I was curious whether this kind of separate tool was necessary.  In Windows Explorer, I right-clicked > Properties > Tools tab > Defragmentation.  I selected the USB drive and clicked "Defragment disk."  In seconds, it said, "0% fragmented."  I tried booting again.  Now it said "Error 15: File not found" for the Ubuntu 10.10 ISO.  I couldn't figure this out:  the file was right there.  I re-copied the ISO over from the hard drive to the USB drive and, this time, I defragmented it with WinContig.  It offered to run on the whole USB drive after all, so I went ahead with that.  Basically, I was wondering if there was some kind of magic about the WinContig way of defragmenting.  It took much longer than the Windows defragmenter had taken -- a couple of minutes, altogether, just for that little USB drive.  Eventually I realized that it was hung.  I tried to use Task Manager (Ctrl-Alt-Del) to kill it, but that didn't work.  I rebooted the system.

I tried booting the Eee again with the USB stick.  This time, I got "Error 27: Unrecognized command."  I thought that maybe the Ubuntu ISO could not be in the root folder, so I put it into a subfolder called ISOs, and modified the three references to it (in the menu.lst lines quoted above) accordingly.  (The final menu.lst is shown below.)  Since things were not going well, I went back and re-did the 13 steps listed above.  This time around, they were like this:
  1. Run the HP USB Disk Storage Format Tool on the USB drive.
  2. Run grubinst_gui.exe as Administrator.
  3. Copy grldr from the unzipped Grub4DOS download folder to the "MultiBoot" folder on the hard drive where I was saving everything that I would be copying to the USB drive.  That folder now contained grldr and menu.lst in its top level, and the ISOs in its "ISOs" folder.
  4. Copy the contents of the MultiBoot folder to the USB drive.
This time, we were back to the good old days, when the Ubuntu ISO would actually get as far as loading its splash screen and seeming like it was going to start.  Evidently it helped to start over and/or to put the ISO in a subfolder.  (I wondered whether properly ejecting the USB drive from the desktop, rather than just yanking it out, made a difference too.)  And then, woo hoo, we had liftoff!  Ubuntu was operational.  I fiddled with it for a minute.  Nautilus worked; Firefox worked.  Fantastic.  I quit Ubuntu and tried the other ISOs on the menu.  GParted, splash screen ... BOOT FAILED.  Rats.  Acronis:  Orbit!  Finally, DBAN:  no problem.

Grub4DOS:  GParted and Parted Magic

So how to make GParted work?  A search led eventually to some suggestions that Parted Magic (which evidently contained GParted among other things) or RIPLinuX (which evidently contained Parted Magic plus) might be the superior tool and easier to put on USB.  I was willing to use any of the above, as long as I could figure out how to put it on a multiboot USB -- preferably, at this point, using Grub4DOS.  I looked into Parted Magic, reasoning that, again, I probably wouldn't need all the stuff on RIPLinuX, and it might load slower.  The contemporary way to put Parted Magic on a USB stick by itself was to use Unetbootin.  But how to put it on a multiboot USB?  One webpage claimed that I could download and unzip a USB version, install its contents to the root of the USB drive, and it would run with a modification of menu.lst.  Sadly, that version was no longer available at the cited SourceForge link.  That webpage made similar claims for Memtest86+, BartPE, and UBCD, and I was tempted to experiment with those as well.  I found other webpages providing seemingly easy instructions for adding Hiren's BootCD and Memtest86+ as well.  Most tempting was the option of adding a Windows 7 Recovery CD.  I decided to return to these possibilities later, time permitting.

But continuing with the Parted Magic investigation, I began to find that I probably should have called the subfolder "images" rather than "ISOs" -- referring, there, to the folder on the USB drive where I had put the ISO downloads.  So I made that change in menu.lst and in the folder structure now.  Then I found a thread that seemed to offer a way to make Parted Magic 5.10 work with Grub4DOS.  I downloaded the ISO of that fairly recent version and put it into the images folder on the desktop computer.  I replaced the GParted lines of menu.lst; and when the Parted Magic 5.10 ISO was finished downloading, I opened it with 7zip, extracted the pmagic folder, and put that into the images folder as well -- because that's what they did in that thread, for what reason I had no idea.  I copied the revised contents of the MultiBoot folder on the hard drive to the USB drive and tried booting the Eee with it.  The Ubuntu ran (again); the Parted Magic ran too, though for a minute there I thought it was hung.  Apparently it was taking it a while to load itself into memory.  It really had a lot of tools in it -- not only GParted but also Ghost for Linux, Partition Image, etc.  I didn't think I would be needing much else in the near future.  This success with Parted Magic version 5.10 made it unnecessary for me to look further into other posts relating to versions 5.9, 5.8, 5.75.65.5, 5.5, 4.5, or 4.3.  Acronis still ran, and DBAN still ran.  I was nearly home.

Grub4DOS:  Windows 7 Recovery CD

That discovery (above) of the possibility of adding a Windows 7 Recovery CD to my multiboot USB stick was just too good to pass up.  The instructions said that I would need to start by downloading Microsoft's Windows 7 System Recovery Disc.  This gave me a small torrent link called "Windows 7 32-bit Repair Disc.torrent."  I had already installed uTorrentPortable, so I used that to run that link and download the 143MB recovery disc.  When that was downloaded, I had an ISO that, once again, I could mount as a virtual CD using Virtual Clone Drive.  I downloaded and ran WinSetupFromUSB.  It looked like this might be destructive of my hard-won success on the USB drive, so I did this with another, blank USB drive.

In WinSetupFromUSB, I clicked Refresh to see the correct USB drive.  I clicked the Bootice button.  A dialog popped up.  I selected Process MBR and then Grub4DOS and clicked Install/Config.  I checked "Don't search floppy for GRLDR" but otherwise left everything else as it was, and clicked "Save to disk."  That seemed to be the end of Bootice, so I backed out of there; but then the Bootice dialog returned.  I killed it again, and this time it stayed dead.  Back in the main WinSetupFromUSB dialog, I realized I was suffering from a dearth of guidance.  The webpage I had been loosely following really wasn't cutting it.  Back to the previous one.  It seemed I should have formatted the USB drive while I was in Bootice, so I did that now:  USB-HDD, single partition, FAT32.  Now redo the Process MBR - Grub4DOS step just mentioned.   Now, back in the WinSetupFromUSB dialog again, I clicked the Vista / Win7 option, navigated to the virtual CD drive, and clicked GO.  A minute later, it was done.  I clicked Test in QEMU > GO.  It said, "Windows is loading files ..."  That took a while.  Then QEMU produced a BSOD.  This, I decided, was a project for another day.  A worthy one, if it worked, but a whole new undertaking, by the time I got all these other tools (Parted Magic, Acronis, DBAN, Ubuntu) working on that other USB drive.

Summary

It seemed that WinSetupFromUSB might be a good place to start, for someone who was beginning a voyage of discovery, on the way to creating a multiboot USB drive, and had some time to spare.  WinSetupFromUSB allowed the same Grub4DOS tool that I had found useful in the approach I took.  My approach is summarized in the four steps enumerated above:  run the HP USB Disk Storage Format Tool on the USB drive; run grubinst_gui.exe as Administrator; copy grldr from the unzipped Grub4DOS download folder to the "MultiBoot" folder on the hard drive where I was saving everything that I would be copying to the USB drive; download the relevant ISOs to the "images" subfolder in that MultiBoot folder; and then copy the contents of the MultiBoot folder to the USB drive.  Those contents included the menu.lst file, which in the end looked like this:
timeout 20
default 0

title Ubuntu 10.10
find --set-root /images/ubuntu-10.10-desktop-i386.iso
map /images/ubuntu-10.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/images/ubuntu-10.10-desktop-i386.iso splash
initrd /casper/initrd.lz

title Parted Magic 5.10
root (hd0,0)
map --heads=0 --sectors-per-track=0 (hd0,0)/images/pmagic-5.10.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem (hd0,0)/images/pmagic-5.10.iso (0xff)
map --hook
chainloader (0xff)

title Acronis True Image Home 2011
map --mem (hd0,0)/images/AcronisTrueImageHome2011.iso (hd32)
map --hook
chainloader (hd32)
boot

title Darik's Boot and Nuke
map --mem (hd0,0)/images/dban-2.2.6_i586-fixed.iso (hd32)
map --hook
chainloader (hd32)
boot

title CommandLine
commandline

title Reboot
reboot

title Halt
halt

Friday, March 25, 2011

Windows 7: KVM in a Multimonitor Setup

I was using two monitors with two computers.  After reflecting on multiple monitor possibilities, I installed an ASUS EN210 video card in each computer.  This allowed me to connect dual displays.  I decided that monitor A would be available to both computers, and monitor B would be available only to computer B.  To make this happen, I connected monitor A to a keyboard-video-mouse (KVM) switch.  So computer A was visible only on monitor A, whereas computer B was visible across the two monitors (assuming that's where I had the KVM set).

Problem:  every time I switched back to computer B on the KVM, monitor A would go blank.  This was not a problem when I was using the KVM only to switch the mouse and keyboard, leaving each monitor dedicated to one computer.  It arose only in the dual-monitor setup.  It seemed that the computer was not remembering the dual-monitor settings for monitor A on computer B.  Each time, I had to go back into Control Panel > Display > Change Display Settings > Detect.  (This KVM problem also seemed responsible for screwing up Adobe Acrobat 9. It was no longer remembering my toolbar settings the way I had previously set them. This seemed to be fixed by going into Acrobat's Help > Repair Acrobat installation.)

A search led to the suggestion that the problem I was having with monitor A was with the KVM:

It is a problem found with those KVM switches which did not pass the console display's EDID and DDC information to all the systems connected to the KVM switch. ...
Windows 7 checks display and display card constantly different from what XP and other operating systems did.
To solve this issue, just replace the KVM switch with those KVM switches supporting FULL TIME Active DDC function.
Please check ConnectPRO new UR or PR serial KVM switches which support Active DDC function to all the ports.
That post pointed me toward a Microsoft webpage with more technical information.  I did another search and saw references to ConnectPRO there too.  A different search suggested that lots of users were running into this problem.  Newegg's Power Search didn't offer an operating system selection, and they didn't seem to carry ConnectPRO KVMs.  A Google Shopping search led to two ConnectPRO KVMs, each costing at least $130.  I ran across a workaround suggestion to hit Win-D before and after switching with the KVM, but apparently that worked only with XBOXes, or anyway it didn't work for me.  There was another workaround, too technical for my blood.  Another thread prompted me to check for the most current driver for my ASUS EN210 graphics card.  As I recalled, the usual advice was to look for the latest drivers on the chipset manufacturer's webpage, so after consulting the details on the EN210, I went to the NVIDIA website and searched for GeForce 210 drivers.  I went with the most recent WHQL-certified driver.  After reboot, I saw that this did not solve the problem.  Note:  the machine had all current Windows updates at this point.

It seemed I had a choice.  I could go back to using one monitor per computer, or I could look for a hardware multimonitor solution.  Going back would mean waiting for Microsoft to fix this problem with Win7.  There was no guarantee that that would ever happen.  Basically, if I wanted multimonitor support for KVM-type functionality for two computers running Win7 (as distinct from one Win7 and one WinXP), it seemed I would either have to buy an expensive KVM or maybe come up with some other kind of funky plugging and switching.  For instance, I wondered whether I could make a go of it with two keyboards, two mice, and a switch just to flip monitor A from one computer to the other.  But this wouldn't circumvent the problem that Windows 7 was constantly polling the monitor, and that was the only thing that counted.  I found a device called the Geffen DVI Detective, which for $80 would remember the EDID and therefore defeat the problem (but only for monitors using DVI connectors).

Then I saw that Amazon carried a bunch of ConnectPRO KVMs, and some were far less expensive.  They did not carry the PR-12, which was the one PS/2 (as distinct from USB) KVM that ConnectPRO offered for my humble purposes:  two computers, one keyboard, one monitor, one mouse.  USB did not work reliably for both keyboard and mouse when Win7 was not running -- when, for instance, I was booting from a CD, or was adjusting the BIOS settings before the operating system booted.  But then I remembered that my new motherboards had only one PS/2 port, and the PR-12 would definitely require two (one each for keyboard and mouse).  I did have the option of using USB mice, one dedicated to each computer, and in fact had been doing that for a while, partly for the reason of pre-boot capability just mentioned and partly to reduce the strain on either wrist.  Another option was to use an adapter or some other gizmo to give me a second PS/2 port.

From ConnectPRO's product comparison page, it seemed there were several options to consider.  One was the choice between VGA and DVI.  DVI provided superior video, but VGA (using D-Sub connectors) was functioning well for me at the moment.  (DVI achieved using DVI-VGA adapters had, in my impression, the same risk of video problems as plain old VGA.)  It seemed that a couple of inexpensive video cards had eliminated problems of ghosting that I was getting when I had the monitors connected directly to the motherboards.  There was also the choice of two- or four-computer KVMs.  I needed only two.  Switching via hotkey was preferable to having to reach up and punch a button on the KVM in order to switch between computers.  All of the relevant ConnectPRO KVMs had All-time Full DDC, which was evidently the core need behind this KVM search.  ConnectPRO's Pro line of KVMs apparently did not have the Dynamic Device Mapping (DDM) technology that would remember attached USB peripherals (e.g., speakers, mice) and would thus eliminate lag time required for the switched computer to re-detect the devices.  It was confusing, shopping among these devices on Amazon, because there were various "kit" options that were described as "new" and yet did not appear on ConnectPRO's website, and also because now it started to look like some of these products did not have Full DDC and/or DDM.  What I came up with was a choice, for me, between the UR-12 PRO, with VGA and DDC but not DDM and no hotkey option ($102 with shipping from ConnectPRO through Amazon); the UR-12 PLUS, with VGA, DDC, DDM, and a hotkey option ($176); and the UD-12 PLUS, which was the same as the UR-12 PLUS but with DVI (and therefore with VGA as an option, via adapter) ($191 from a couple of sellers).

Since I was having no video issues at the moment, and might not have any again for some time, I decided to go with VGA rather than DVI, all other things being equal.  If I did get video problems, I could sell one KVM and upgrade to another later.  So then it was a question of whether I was willing to pay an extra $74 for DDM and a hotkey option.  DDM was nice -- I had noticed the lag in responsiveness at some point, hard to recall at the moment but apparently when I had upgraded from Windows XP to Windows 7 -- but that was not really bothering me much at present.  Those delays, and the hotkey, were especially important when I was doing a lot of switching between computers, which happened primarily when I was testing or tinkering with hardware or software on one machine and logging the developments on the other.  I was not presently doing much of that, and didn't plan to be doing much of it anytime soon.  It occurred to me that, if the DDM lags did bother me at such times, I could always dedicate one mouse, one monitor, and one keyboard to each computer at those times.  I could arrange that on my desk, and then the only lag would be the time needed to reorient my hands on the other keyboard.  Indeed, for purposes of working with the BIOS and such, I could simply keep a PS/2 keyboard always plugged in and standing off to the side of each computer, in addition to the USB keyboard connected to the KVM.  (PS/2 was not hot-swappable; it would be necessary to reboot to have the keyboard be recognized if it were not plugged in at time of bootup.)  Looking at the choice again, I reconsidered that the price difference between the UR-12 PLUS and the UD-12-PLUS was only $15.  From that perspective, I would choose the latter over the former, so as to wrap up the best product at not much additional cost; and in that case, the price difference between the solution with or without DDM, hotkey, and DVI was substantial:  the UD was almost twice the price of the UR.

As long as I was sure I did want to use dual monitors on computer B, sometimes swapping monitor A between computers A and B, I would need Full DDC, and it seemed the choice was then to spend $102 on a ConnectPRO UR-12 PRO KVM.  If I hadn't gotten the video cards for only $18 each, the decision to add dual monitor capability (with KVM and video cards) would then have cost me more than $150.  It was worth it -- dual monitor capability added a lot to a workspace -- but it was turning into more hassle and expense than it should have been.  I belatedly realized that perhaps I should have looked for a motherboard with dual monitor capability and with enough video memory so that the computer would not struggle to switch between windows on the same monitor, as computer A had been doing before I added the video card.  Desk space permitting, that kind of expense also raised the question of perhaps having three dedicated monitors -- one for computer A and two for computer B, and recabling one of the latter to computer A if a multimonitor need arose there -- thereby reducing the KVM need to a simple $20-30 device that would swap keyboards and mice, assuming those were not likewise dedicated to single machines.  The temptation to just get a third monitor and forget about the Full DDC KVM would be even stronger if I were looking at the nearly $200 price tag for a ConnectPRO UD-12 PLUS KVM.  But even without that, as I considered the time I had devoted to screwing around with KVMs, on this and on previous occasions, I did think that possibly the best approach would be to go with the third monitor, wait for someone to compete with ConnectPRO and/or for Microsoft to get its act together -- to buy a third monitor as an interim solution, in other words, and to sell it when and if a superior KVM alternative emerged.

Wednesday, February 23, 2011

Windows 7 Installation: Chronology

On January 1, I began installing and learning about Windows 7 as an upgrade from Windows XP.  I installed just a few things -- antivirus, for example -- as I continued to research various items.  In the next several days, I reached decisions about assorted aspects of the emerging setup.  For example, I decided that Windows 7 would be my foundation layer, replacing Ubuntu, and that I would use VMware Player (or Workstation, if possible) to run Windows XP, and possibly Ubuntu or other operating systems, in virtual machines running on Windows 7.

On January 4, I awoke to find that Internet Explorer (IE) had frozen up and had to be restarted.  I was pleased to see that, when it restarted, it saved my open tabs and attempted to reopen them.  But the thought that Internet Explorer could crash when it was doing almost nothing on a new installation was a bit of a setback for the idea that Win7 was stable enough to serve as a foundation.  I did continue to use IE, but I also downloaded Google Chrome, and made that my default web browser.

I spent much of the days of January 5 and 6 trying to resolve networking problems.  January 7 and 8 were especially devoted to moving and rearranging partitions.  I was setting up two computers for somewhat different purposes.  Partitions were large, so these steps took a long time.  I had to be actively engaged to work with those network problems, but was more able to let the computer go for hours during the partitioning process.  I spent a lot of time on January 6 and 9 trying to make a RAID0 array work.

Some of these days were devoted to other projects, but this was all still very time-consuming.  As of January 11, I really had not gotten very far.  The soution to the networking problem, I hoped, would be to reinstall Win7 from scratch on one of the two computers I was trying to network.  I learned that it was not possible to restore an image of a Win7 installation to a Win7 software RAID0 partition.  Hence, on January 12 I looked into other RAID options.  That day, I also discovered the possibility of booting into native virtual hard disks (VHDs), and spent a lot of time learning about those.

On January 13, I reviewed progress in light of what I had learned and experienced to this point.  I decided to scale back to a simpler system.  This meant the end of the VHD pursuit, for at least the time being, and probably also the RAID0 arrangement, possibly in favor of a future RAID5 solution.  The Win7 system was performing much faster than WinXP had been, either natively or in VMware on Ubuntu, so I was not presently sure that I would even need RAID-like speed.

To consolidate my progress, I wrapped up the first comprehensive post describing my installation of Windows 7, and started a second post and a second installation.  After further networking hassles, that installation was done on January 17.  At this point, I moved beyond basic connectivity to network enhancement.  One step was to synchronize the computers.  I spent much of January 17 and 18 researching programs that would do that and putting those programs into effect.  This involved getting a parallel Windows installation running on the second computer.  By midday on January 18, and intermittently thereafter, I was working more on new additions, especially Input Director and Teamviewer, to tie the two computers together into one workspace.

Input Director seemed to produce unexpected problems requiring a reinstallation of a backup image on computer B on January 19.  I spent a considerable amount of time, that day, reconfiguring that reinstallation, refining it with additional tweaks (and putting those tweaks on computer A as well), and saving it to an updated image.  From then through January 21, I was gradually mixing in more of my other work while continuing to work through minor problems, further adjust the system, and (in one case) recover from an error involving the accidental deletion of a large number of files.

After January 21, I focused increasingly on getting my actual work done.  There continued to be tweaks and the occasional stray problem that needed fixing.  These actually consumed a fair amount of time, but not nearly as much as before.  By January 25, I had reached a point of being able to focus almost entirely on getting work done.  I hoped that this large investment of time would not only have been interesting (at times) for its own purposes, but would also have productivity payoffs, for me and others, for years to come.  I had been using Windows XP for years and, throughout 2010, had seen how much time I could lose to a slow operating system.  So far, Windows 7 seemed to be a significant improvement.

Windows 7: Additional Tweaks

I had installed Windows 7, and I had begun using it.  As I went forward with that, I came across some additional adjustments that I would want to keep in mind for future reinstallations.  This post describes some of those tweaks and adjustments.

One thing that I would surely do sooner, in a future installation, would be to set up networking between computers.  In the past, it had been very frustrating and not easy, though no doubt ultimately it would have paid off.  With Windows 7, I now found it to be pretty easy.

I installed VMware Workstation for Windows, but found that it was always running.  To prevent it from starting automatically when I started the computer, I went into Workstation's Edit > Preferences and set it not to show an icon in the system tray.

I installed and uninstalled some programs:

  • I installed Virtual CloneDrive so that I would have the capability of mounting an ISO image as though it were a mounted CD, without having to actually burn the ISO to a CD and then put the CD in my CD drive.
  • I decided to try BinManager, as a way to automatically empty out items in the Recycle Bin after they had sat there for several days or a week.
  • I discovered that Win7 had a built-in defragmenting schedule (dfrgui.exe), and therefore I uninstalled IOBit SmartDefrag.
  • Jing, the video capture program, had a five-minute limit in its free version, so I uninstalled it.
  • I took the recommended steps to install GMail Drive as an alternate way to transfer files between computers and to keep selected files available from any computer if I didn't bring them along with me.  Basically, I downloaded it, installed it, right-clicked on the new GMail Drive entry in Windows Explorer, and went to Login As > my Gmail username and password, and waited for a little while in case I got the "enumerating folder" message that I was instructed not to disturb.  I didn't get that; I just went straight to usefulness.  I used it to store a copy of my customized Start Menu (below).
  • I used Jumplist Launcher to set up shortcuts to commonly used files and folders on the taskbar.
The obligation to log in after a reboot mysteriously reappeared, for some reason, possibly due to a reboot.  At this point, I discovered that my registry edit was not working.  So I went into Start > type "control userpasswords2" > uncheck "Users must enter a user name and password to use this computer" > Apply > OK.

I customized the "Move to" option that I had previously added via .reg file.  This customization allowed me to name specific folders to move to, without having to hunt for them.  To do this, I downloaded and unzipped Movetofolder.rar, created by Omnicoder.  I put the unzipped MoveToFolder folder in the appropriate place in my customized Start Menu, so that it would be available on my portable drive (where I kept a copy of the Start Menu, with its portable apps) and on network computers sharing that Start Menu.  In the MoveToFolder folder, I edited folders.txt to include a link to D:\Current, which was my central clearinghouse for random stuff.  I created a shortcut to MoveToFolder.exe.  I put that shortcut in my SendTo folder, which I found by pasting "%APPDATA%\Microsoft\Windows\SendTo" into the Windows Explorer address bar and hitting Enter.  (Later, I found an easier address to type there:  "shell:sendto.")  So now I could right-click on an item and select Send To > MoveToFolder.  That popped up a Move to Folder dialog, where I had to select the target folder (even though there was only one listed) and click Move.  It didn't close automatically after doing the move.  This was useful but more cumbersome than a direct Move to ___ Folder context menu option would have been.

Bizarrely, as I discovered, Windows 7 no longer allowed users to select multiple files and open them all at once in Windows Explorer.  The seemingly senseless loss of this feature had irritated many users.  I found that I could at least open all files of the same type by using that SendTo tweak.  For example, I added a shortcut to Acrobat, in this SendTo folder, and was then able to select a bunch of PDF files and right-click > Send To > Acrobat to open them all at once.  When setting this up, I found that some shortcuts would work in the SendTo folder and some wouldn't.  The link to Acrobat that I had on my Start Menu folder did not work; I had to find Acrobat.exe in C:\Program Files, create a shortcut directly to that, and then move that shortcut to the SendTo folder.

While I was in that SendTo folder, I edited its contents to remove SendTo targets that I didn't want.  The Elder Geek advised creating a shortcut to the SendTo folder and putting that shortcut in the SendTo folder, so that I could quickly add other programs or folders to that folder as I encountered them.  Having the option of sending a file to a SendTo option seemed less cluttered than adding applications to the context menu; I had a customized Start Menu for that.  In search of a sleeker way to move to a specific folder, I tried FileMenu Tools.  It had other functions as well.  The ones that interested me (i.e., that I didn't already have an established solution for) were Delete Locked File, Move to ..., and Pack to Folder, though it had a lot more to offer.  I also tried out Context Menu Editor.  It actually looked like ContextEdit might be the best solution, if someone could figure out how to make it work.  There were other tools that might also have done the job.  I suggested that they add a button for this purpose to the Classic Shell utility mentioned in the previous post. 

In that Classic Shell utility, I clicked on the Shell button (top right, and then top center, after I unlocked the toolbars and moved it) and adjusted some things.  I was looking for a way to make another tweak, to disable auto-refreshing of Windows Explorer file lists.  (Refreshing would happen when I was viewing files in IrfanView and would delete one of the files.  All of the other files that I had selected at that point would then be de-selected.)  I did a search, but unfortunately did not find a solution there.  I posted a wish-list item on that, too, at Classic Shell.  Auto-refreshing remained a problem.

From various sources, I developed some additional registry edits, to add to my previous .reg file:

Windows Registry Editor Version 5.00


; Add context menu option to copy a list of files to the clipboard
[HKEY_CLASSES_ROOT\Directory\Background\shell\copylist]
@="Copy List to Clipboard"
"Extended"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\copylist\command]
@="cmd /c \"dir /b /a:-d /o:n | clip\""
[HKEY_CLASSES_ROOT\Folder\shell\copylist]
@="Copy List to Clipboard"
"Extended"=""
[HKEY_CLASSES_ROOT\Folder\shell\copylist\command]
@="cmd /c dir \"%1\" /b /a:-d /o:n | clip"
; Remove context menu option
; [-HKEY_CLASSES_ROOT\Directory\Background\shell\copylist]
; [-HKEY_CLASSES_ROOT\Folder\shell\copylist]


I developed two tweaks using NirCmd.  One gave me a volume-muting hotkey.  The other gave me a program that would take screenshots as often as I liked, for as long as I liked.

Somehow, I overlooked the setting in Ultimate Windows Tweaker > System Performance > Enable support for 4GB of RAM on 32-bit Windows OS.  I enabled that now.  I did not pursue the hacks that apparently enable 32-bit Win7 to see 8GB of RAM, rather than the apparently arbitrary 4GB limit imposed by Microsoft.

Another step to incorporate in a tweaked Win7 installation was to install Firefox.  I overlooked it because I was thinking that the automated Windows migration from WinXP to Win7 would take care of that, but then I wound up not using that migration process.  Now I had to install Firefox, install and configure its extensions, and -- as I did do with Internet Explorer -- go to a YouTube page and play a video, so as to trigger a download of the Adobe Flash Player.  Although it acted like it wanted me to download and run an installer, that proved unnecessary.  Waiting a few seconds allowed the plugin installer to fire up and do the job.

While moving things around to accommodate my new system, I inadvertently deleted a bunch of them.  My backup was imperfect.  The solution was to run Recuva as soon as possible, before other changes to the drive would overwrite those deleted but still present files and folders.

In Firefox, I found that, in Google search results, it was hard to tell which pages I had already visited.  I wanted an add-on that would let me change the colors as the Webpage Decorator had done for me in Chrome.  Turned out to be easier than that.  In Firefox, I went to Tools > Options > Content tab > Fonts & Colors > Colors.  All I had to do was to change the colors for visited and unvisited links.  I also unchecked "Allow pages to choose their own colors, instead of my selections above," but that turned out to be a mistake:  it applied to all colors, not just font colors, so later I undid that.  Granted, these were global changes that would affect all visited and unvisited links in any webpage.  Not ideal.  But until I found an extension that took care of this, without the complexity of Firebug, this was my solution.

I belatedly discovered that my external USB drive was set to "Allow files on this drive to have contents indexed in addition to file properties."  To find and change that, I right-clicked on the drive > Properties.

At one point, I was unable to change drive letters.  There was a workaround:  in Regedit, go to e.g., HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\F: and rename F to the desired letter, then reboot.  There was a more elaborate explanation and also the apparent alternative of tinkering with (apparently making some minor change to) the problematic drive in a partition manager (e.g., GParted).

As described in a separate post, I compared programs that could identify and delete unwanted duplicate files.  I expected that investigation to persuade me to switch from DoubleKiller to some newer alternative.  It didn't.  The search for a good detector of redundant files was related to a project to take back drive D, in the sense of moving the customized Start Menu and its duplicative program files to a separate INSTALL partition.  Once those program files were on the new Install partition, I could do duplicate sweeps on D again.

I repaired an important cause of sudden and complete system crashes on one machine.  The culprit, I figured out, was static electricity.  I was wearing a staticy fleece pullover.  Nice and warm.  It seemed to be able to provoke an instant reboot even when it just brushed against the headphone cord.  After replacing the pullover, I had no more of these sorts of crashes.

I experimented briefly with multiple desktop software and decided to install and use Dexpot.  I was not sure how *much* I would use it.  Due to the limitations of Windows multiple desktop (as distinct from genuine virtual desktop) software, I felt that probably my work would continue to be mostly in desktop 1 -- but at least it was there to try when I had some need or interest in doing some things on a separate desktop.

GoodSync emerged as a way to keep files synchronized up-to-the-minute on two computers.  With this, I was able to access my files immediately on two distinct computers, with each serving as backup for the other and remaining ready to go to work as soon as the other became bogged down in any system administration, rebooting, scanning, or other tasks that might otherwise take control of a machine.  With GoodSync in place, I put the Teamviewer investigation on hold, waiting for spring and the possible arrival of improvements to Input Director.

I had set aside two internal partitions for frequent data backup.  The concept behind these partitions was that I would set up a Robocopy script to mirror one internal hard drive to the other.  This was distinct from the daily backup to an external drive, manually managed via Beyond Compare, so that I could see what was changing.  This internal backup was intended to run without my involvement.  One of the scripts I used went like this:

:: ROBUP-DATA-INTERNAL.BAT


:: Requires installation of Windows Server 2003 Resource Kit Tools for XP; included in Vista
:: Download that from http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displayLang=en
:: Intended for frequent mirror backup of DATA partition to internal partition, excluding a few folders

set dest="Q:\\"
robocopy D:\ %dest% /MIR /R:2 /W:5 /REG /V /FP /COPY:DAT /XD $RECYCLE.BIN _gsdata_ "System Volume Information"


:: *  *  *  *  *  Syntax  *  *  *  *  *

:: MIR mirror
:: R retries
:: W wait time between retries
:: REG set R & W as default values in registry
:: V produce verbose report
:: FP include full pathname in output
:: COPY copy Data, Attributes, Timestamps
:: XD exclude these directories
 
With those scripts written, the next task was to automate them.  I went to Start > "taskschd.msc."  This opened Task Scheduler.  In the Actions pane, I clicked on Create Basic Task and essentially just filled out the form.
 
I did a search and found instructions on how to modify the PATH in Windows 7.  The PATH was just the set of places where Windows would look to find a program.  So if I typed a command referring to the program xyz.exe, but if xyz.exe was in a folder where PATH would not look, xyz.exe would not run.  To add that folder to the path, I could run a command like "PATH %path%;[newfolder]" where [newfolder] would be replaced by the complete path (e.g., D:\Scripts) where I wanted Win7 to look for these additional commands.  I added a PATH command of this sort to my STARTUP.BAT file

I found another page on converting Win7 to WinXP format. 
 
In this tweaking process, I discovered something new about myself.  I discovered that I was one of those many people for whom the Task Scheduler (taskschd.msc) program included in Windows 7 would not run a batch file.  In my case, it would run one batch file, but it would not run another one.  I compared the two on all points, including their Properties and their Task Scheduler settings.  There seemed to be no difference.  After spending probably two hours trying to resolve this issue, I looked for alternatives.  One, which I quickly rejected for complexity, was to use Windows PowerShell to schedule batch files.  I was not able to find a Wikipedia page or other comparison of the program names that I did encounter, but it seemed there were enough freeware program schedulers so that I could dispense with the paid ones, such as Advanced Task Scheduler.  Free options I found included Splinterware's System Scheduler, Freebyte Task Scheduler, M2 Launcher, nnSoft Lite, WinUtilities Free Edition, Kirby Alarm and Task Scheduler, and Z-Cron.  Of these, WinUtilities had by far the most downloads on CNET, probably because it was a multipurpose utility suite.  Unfortunately, the scheduled tasks feature was not available in WinUtilities' free edition.  Several of the others -- System Scheduler, Kirby, nnCron, and M2 -- were old programs, not updated for Windows 7.  Both Z-Cron and Freebyte had been recently updated.  I had heard good things about Z-Cron previously, and decided to try that first.  Unfortunately, the installation process was pretty ragged, complete with Notepad display of a .dll file, and once the program was running, I had to use Task Manager (Ctrl-Alt-Del) to kill it.  I decided to uninstall it and try Freebyte.  The uninstall process froze; I had to reboot.  But even then, it would not "de-install," as the shortcut put it:  I got "Falscher Aufruf."  (Some of the dialogs were in German.)  I deleted its program file manually and switched to Freebyte.  Freebyte turned out to be portable, which was a plus.  Unfortunately, its options were very basic:  run once, daily, or weekly -- not monthly or yearly, and not every ___ days or ___ weeks.  I decided to try re-installing Z-Cron, just in case it was a fluke.  I still got the .dll in Notepad, but otherwise the installation went better this time.  It had more scheduling options than Freebyte.  I decided to set up some tasks and try Z-Cron out.  It had quite a few tasks built in (e.g., alarm clock, empty trash) and ready to be scheduled, along with whatever I would want to schedule.  It was not very well organized.  I would get in the habit of closing windows to get back to the main menu; but then it turned out I was at the main menu, although in an unfamiliar place, and would thus inadvertently close the entire program.  Also, once I lost that list of built-in tasks, it was hard to find it again.  (The secret:  Task > Z-Cron Task tab > Tools.)  Unfortunately, after all this, the reason that my batch file would not run in Win7's Task Scheduler was the same reason why it would not run in Z-Cron, or so I assumed, because it was not running in Z-Cron either.  After all this, I went back and played with the Task Scheduler options some more, and found that the solution in my case was to list only the name of the batch file, without its path, in Task Scheduler's Actions > Edit > Program/script box, and put the path instead in the "Start in" box, without quotation marks.  Again, on uninstalling Z-Cron, I still got a display of a .dll in Notepad, and again it froze.

I discovered the possibility of right-clicking on the Windows Explorer icon on the taskbar, right-clicking on a folder location that I would often visit, and pinning that location to that icon.  This gave me a quick go-to list of favorite Windows Explorer locations, available by right-clicking on the WindEx taskbar icon (which was itself pinned to the taskbar).  This turned out to have some odd quirks, so as time went on I wasn't sure how much I would be using this.

I also discovered that I could add a slideshow to my Win7 desktop, using photos in a specified location.  This called for right-clicking on the Desktop > Personalize > Desktop Background (at bottom of screen) > Browse to pictures folder.  But this did not work for me, probably because I had no pictures in the folder to which I navigated.  The pictures were in subfolders under that folder, and apparently this program could not recurse those subdirectories.

Since AvaFind Pro didn't run well in Win7, I tried replacing it with Instant File Find.  But I found that IFF lacked valuable features.  I wondered whether I could use Win7's compatibility features to make AvaFind work after all.  I ran a search and found Microsoft's advice on how to proceed.  Their page told me that I could run the Program Compatibility Wizard at Control Panel (category) > Programs > "Run programs made for previous versions of Windows."  But they warned, "Do not use the Program Compatibility Wizard on older antivirus programs, disk utilities, or other system programs because it might cause data loss or create a security risk."  I wasn't sure whether AvaFind would count as a disk utility or system program for that purpose.  I decided not to risk it.  Instead, I took their advice to right-click on the AvaFindPro.exe installer file and choose Properties > Compatibility Tab > Compatibility Mode > WinXP SP3.  I also clicked on "Change settings for all users" and in both I said "Run this program as an administrator."  I exited Instant File Find, but AvaFind would not run until I rebooted.  Sadly, this did not do the job; AvaFind was still forgetting that I had bought a Pro license key, each time I ran it.  On one computer, it wouldn't even install.

To enable Audacity to record streaming audio, I went into Control Panel > Sound > Recording tab > right-click on empty space > make sure both are checked ("Show Disabled Devices" and "Show Disconnected Devices") > enable Stereo Mix > OK.  Then, following advice, I started a new session of Audacity and went into Edit > Preferences > Audio I/O tab > Recording > Device > Stereo Mix > OK.  That didn't work, so I ran a cable from the computer's Line Out (speaker) port to its Line In port.  I noticed that this gave me a Line In option in the Control Panel > Sound dialog.  Unfortunately, it still did not let me record streaming audio.  I was not able to resolve this.

Monday, January 24, 2011

Instant File Find: Acceptable, While We Await a Windows 7 Version of AvaFind

I had installed Windows 7.  I was now seeing that AvaFind was not compatible with it.  It was crashing frequently.  It was time to find a replacement.  This post describes my efforts in that regard.

AvaFind was a fast file finder.  It searched only file names.  To search file contents, I used Copernic.  Ava Find had been remarkably stable.  I would call it up by a Shift-Esc hotkey combination, type in the name of a file (with wildcards, if I wished), and see the results.  Very fast.  If I wanted to delete, move, or otherwise work with those files, no problem:  in the paid version, it could do that.  It would give me an option to open up the Windows Explorer right-click context menu, and anything that I could do in Explorer, I could do with these files that I had just found.  So this was essentially what I wanted to replace.

I spent some time looking over alternatives.  There were not many that seemed to provide these features.  After a number of searches, I came up with a few contenders.  One was Everything, which sounded like a fast file finder, but did not seem to have Explorer file handling features.  Another was Locate32, which sounded about the same.  I put in a request for AvaFind-like features there.  The third contender, and the one I decided to try, was Instant File Find (IFF).  Like AvaFind, it offered free and paid versions; and like AvaFind, its paid version included Windows Explorer actions.  It looked like it actually might be better than AvaFind, insofar as it offered an Advanced Search option.  (Honorable mention to Find and Run Robot (FARR), whose purpose was largely to find and run programs very quickly, without having to mouse around in the Start Menu.)  IFF would cost $29.95 (normally $39.95 - Buy Now!) if I decided to get the paid version.

IFF did its file searching fast enough.  I noticed some features right away.  I liked its less cluttered interface.  I had never known what the AvaFind Scout Bot was.  A useful feature:  IFF had a drop-down box where I could quickly recall and re-run previous searches.  It also would apparently let me save searches, but only in the paid version.  Advanced Search was another paid feature, and so was Search Network Drive and those Windows Explorer features.  The Help File said there was a free 21-day trial period where I could use most features, but apparently that was no longer the case.  I sent them an email (no forum on their website) to ask about that, and also to find out whether there was a hotkey, like AvaFind's Shift-Esc, that I could use to start the program.  It turned out that Shift-Esc was the hotkey, but if AvaFind was loaded first, it would commandeer that hotkey.  In other words, that problem disappeared when I disabled AvaFind.

After a week of using IFF, I felt that I would still have preferred to have a version of AvaFind that would work on Win7.  A minor problem, and possibly not the fault of the programmer, was that I could not persuade the AvaFind window to take any shape other than the original, which was too tight to see long pathnames.  Another drawback, not quite as minor, was that, at least sometimes, it would not search while it was refreshing its index.  Yes, I wanted accurate search results, but sometimes I just wanted to know if a file by a certain name existed somewhere on my drive.  I was more bothered by not being able to set how frequently the program would refresh its index.  Sometimes I would be moving some files around, and I would know I had recently seen one that I was now looking for.  AvaFind would have found it, with its index refreshing every hour, but sometimes IFF did not.  (I could manually refresh the cache, but during that process IFF would not find anythin gat all.)  IFF, unlike AvaFind, did not see my network drives.  One feature that I really missed was AvaFind's ability to rename files that I had found.

I had always been amazed that AvaFind had not taken over the world.  It was a great utility, for those who were running pre-Win7 operating systems.  It was too bad that its developer vanished.  I hoped he was OK, wherever he was.  In the meantime, my tentative decision was to buy IFF.  It was a good product, just not as good as AvaFind.  But perhaps its developer would make it as good as AvaFind, or even better.

Tuesday, January 18, 2011

Windows 7: Easy Transfer & the Upgrade from Windows XP

I had a big Windows XP Professional SP3 installation that had become dysfunctional to the point of crashing daily.  It was time for an upgrade.  In doing the upgrade, I hoped to preserve my settings from that installation, so as to reduce the amount of time I would have to spend installing and adjusting programs in Windows 7.  There seemed to be two ways to achieve that.  This post starts with one, and then transitions to the other.

When the Win7 CD booted, it gave me the option to "Install now."  Before doing that, I clicked on "What to know before installing Windows."  It told me that I might have the option of doing an upgrade installation that would keep my existing files, settings, and programs.  With previous versions of Windows, users were strongly encouraged to do a "clean install" rather than an "in-place install" to avoid creating new problems.  People seemed to be recommending that same approach for Win7 as well.  I figured that I would try the upgrade nonetheless, if only to see how it worked.  Microsoft estimated that, depending on how many application programs and how much data was involved, an installation of Windows 7 could take anywhere between 30 minutes and 20 hours.

When I clicked "Install now" and then Upgrade, it told me to remove the installation disc, restart so that Windows XP would start normally, and then reinsert the installation disc and restart again.  Apparently it had added some kind of data collection file to the hard drive, and now it needed to see what I had installed.  I booted into XP and then rebooted, but forgot to reinsert the disc after shutting down XP, so I had to do this again.  The first time around, I noticed that the taskbar had changed from my preferred classic format to the default XP format.  The second time, it wasn't like that -- it just showed my usual classic desktop -- and when the double-rebooting process was done and I was back to a boot from the installation disc, it wasn't going any further:  it just cycled me back to a reboot in WinXP.  I didn't know if I had and lost an upgrade option there.  Other sources didn't think so:  the general story seemed to be that this upgrade path was only available to Vista users, and maybe that was why I was just looping.

Failing that, I looked into the Easy Transfer option.  After booting into XP again, I loaded the Win7 installation DVD, copied its \support\migwiz folder to my hard drive, renamed it "Windows 7 Migration Wizard," and ran migwiz.exe inside that folder as a standalone, without the DVD.  This gave me the tool for future purposes, without having to hunt for the DVD, and it also ran a bit faster than when I had started to run it from the DVD drive.  MigWiz gave me the option of using an Easy Transfer cable, a network, or an external drive to transfer items to the new computer (which, in this case, would be the same computer, after installing Win7).  I wondered whether everything would fit onto a 4GB USB drive, so I tried that option.  It took five or ten minutes to calculate what it would be including in the transfer, and then produced an estimate of more than 100GB.  So apparently it was including my data in the transfer.  I clicked on its Customize option, and it rolled out a half-dozen items.  Almost all of that huge bulk was in its "Other Items" section.  I clicked Advanced and de-selected all that extra data.  Now it was down to a 3GB transfer.  It wanted to save that stuff on a USB or other external drive, but I wondered why I couldn't just save it to a different internal drive, somewhere other than drive C.  So I tried that.  Transfer of data from the Administrator account proceeded slowly.  The wizard estimated that the transfer would take about 17 hours.  I decided to take a nap.  But before I could get around to that, the transfer was done.  Time flies.  The wizard told me to open the .mig transfer file after finishing my Windows upgrade.

With that done, I rebooted the Windows 7 DVD and, this time, chose the Custom rather than the Upgrade installation option.  (Win7 had given me a different screen when installing on a machine where it did not detect a previous Windows installation on the hard drive.)  I designated the same location as my existing WinXP installation.  The installer told me that my previous files would be moved to a folder called Windows.old.  It also said that Windows might create additional partitions for system files.  Ultimately, I did not use this installation.  Instead, I developed the Win7 installation on a different computer, as described in a separate post.

A couple of weeks passed, as I dealt with other things, including the installation and reinstallation of Win7 as described in that other post.  I had decided I should go ahead with the basic installation of programs, though not with their configuration, since surely the 3GB .mig file did not contain all of my programs and settings.  Possibly I was wrong about that.  We would soon see.

At this point, I was looking at two files or folders.  One was the Windows Easy Transfer.mig file, which hopefully contained all of the stuff I would be restoring to my new Win7 installation.  The other was the Windows 7 Migration Wizard (above), now contained in its own folder.  How to proceed next?

I tried double-clicking on the Windows Easy Transfer.mig file.  That seemed to be the answer.  It opened up a dialog that offered to transfer two types of items.  One, "Administrator," was 85MB.  The other, "Shared Items," was 2.8GB.  I started with Administrator.  I clicked its Customize button.  It was going to give me Desktop, Favorites, Quick Launch, Program Settings, and Other Items.  I clicked its Advanced option.  Sad to say, at this point I didn't want what I saw there.  It seemed to have stuff related only to Microsoft programs, which I had reinstalled without much difficulty.  I was using Office 2003, which still had the Save My Settings Wizard, so it had been pretty easy to restore the settings for those programs.  But how about all the other bazillion utilities and assorted programs I used?  That's where the serious time investment would be.  From what I saw here, that stuff wasn't included in the Administrator option.  So, OK, I went to the other one, Shared Items > Customize > Advanced.  This seemed to contain the same items as the Administrator option.  Apparently the Admin option contained some information, but this Shared Items part contained the bulk of the program data.  But whatever.  I didn't need it.  End of story!