Showing posts sorted by date for query vmware. Sort by relevance Show all posts
Showing posts sorted by date for query vmware. Sort by relevance Show all posts

Thursday, April 21, 2011

A Two-Computers-Per-User Desktop Arrangement

I was spending a lot of time at my desk, doing word processing and other typical desktop work.  For this purpose I was using a customized Windows 7 installation on two networked computers for maximum productivity.  This post describes that setup.

I had previously thought that, ideally, I would have four computers:  one laptop; one test machine to hook up the occasional hard drive or other component for wiping, testing, etc.; and two desktop machines running side-by-side.  Since then, however, I had switched from Ubuntu back to Windows and had found this to be a good move.  So now I was doing very little testing and tinkering with hardware.  Therefore, I dismantled and sold the parts from the fourth computer.

With almost all of my work happening on just two computers, and with a stable Win7 installation on each, the focus now was on getting the most out of them.  I was using two desktop computers instead of one because there were still many occasions when a computer would experience downtime.  I would be doing drive maintenance or imaging, or would still have to reboot Windows now and then to clear its head or to complete a program installation or upgrade, or Win7 would be running just fine but there would be some scanning or something else going on that would tend to monopolize the machine for practical purposes.  I was not yet very impressed with multiple desktop software and was considering a return to VMware or some other virtual machine software, perhaps in a virtual appliance, though I wasn't sure I wanted to get back into the performance issues that had prompted me to try to use a native and/or bootable virtual hard disk or RAID array to improve the really bad performance I had started getting in VMware.  So the second computer was also useful as a simple way of having a pretty solid alternate desktop.  I could start up a project or leave a set of folders open there and just visit it occasionally, when the primary computer was doing its own maintenance or was otherwise unavailable for a while.

The starting point for this two-computer arrangement was to set up two machines that were almost identical in terms of hardware and software.  In previous years, I had thought it was best to have dissimilar machines, so as to maximize resources.  One machine or the other would have the right hardware or software to deal with almost any kind of system problem.  That belief was probably justified for some purposes.  Now, however, I was less patient with that, and it also seemed less necessary.  A lot of the old problems had gone away.  Meanwhile, it was much easier to learn how to maintain and troubleshoot just one set of problems, rather than have to learn the whys and wherefores of divergent sets of hardware and software.  For purposes of getting my work done, Windows 7 was a significant improvement over operating systems I had used previously, including Windows XP and Ubuntu 10.10, in terms of networking and other capabilities.

The customized Win7 installation (see link above) was not as easy as a canned, plain-vanilla installation, but once I had it set up, it had some advantages.  One important step was to make my work files available on both computers.  My first attempt in this regard was to use a Synology network-attached storage (NAS) unit as a simplified file server, but that hadn't worked so well for me.  In the second attempt, I used my home network (basically, just a router and cables to the two computers, though possibly a crossover cable would have sufficed even without the router).  After some contemplation, I went with GoodSync to keep the two computers directly synchronized with one another.  This was an important development.  When combined with appropriate program settings (e.g., setting Microsoft Word to AutoRecover files every minute), it meant that, if the computer I was working on suddenly crashed or otherwise became unavailable, I could usually switch over to the other machine and pick up right where I left off.

I used GoodSync to synchronize my data partition (drive D), not the program partition (drive C).  I also used it to synchronize parts of the INSTALL partition, including particularly the funky but advantageous shared Start menu.  GoodSync did not need to be running on both computers, so I installed it on computer A.  As the installation evolved, I found that computer A was handling most of my computer maintenance and other functions, while I did more of my moment-by-moment productivity stuff on computer B.  In particular, computer A was becoming my backup hub.  I would save a file on computer B; GoodSync would copy it to computer A; and then my backup software would copy it to other drives.  After a variety of unpleasant backup surprises, I had evolved to two distinct backup systems running on computer A.  In the first backup system, I was using Robocopy, as part of my customized installation (above), to make frequent, incremental backups to a separate partition on computer A.  This was one of the few regards in which computer A differed from computer B in terms of hardware:  it had three hard drives rather than two, so as to speed this internal copying (since it was faster to copy from one hard drive to another, rather than between partitions on the same drive) and make it safer (since a failure of one drive would usually not affect the other).  In the second backup system, I was using Beyond Compare to do daily manual backups to an external drive that I could carry or store offsite as needed.  These were manual in the sense that I had to click things to make them happen, and could therefore examine or at least spot-check what was going to be changed, if I wanted to.

Again, I could still use either computer to do my work, since they both had the same synchronized files and nearly identical software installations.  Nonetheless, as the functions of the two computers diverged, I found that I was not really utilizing both monitors most of the time.  On computer B, I tended to be opening PDFs, Word docs, Excel spreadsheets, Windows Explorer sessions, and webpages, among which I would copy text, links, and other materials.  I could open some of that stuff on computer A instead, but it was cumbersome to have this happening on two different computers, and for the most part it actually was not happening on computer A.  That computer, and its associated monitor, were mostly just sitting there, working up a file comparison in Beyond Compare or otherwise doing things that did not really need to be watched constantly.

What I really wanted was to make monitor A available for computer A, when I wanted to see what was happening on computer A, but to have monitor A also available for computer B, when I was doing my ongoing work on computer B.  This called for a keyboard-video-mouse (KVM) switch.  The PS/2 type of KVM was better for purposes of providing keyboard and mouse input during BIOS setup and in programs that would boot from a CD (e.g., Acronis Drive Image) and would therefore be at least partly unresponsive to a USB mouse and/or keyboard.  Unfortunately, I did not realize that the type of motherboard I had installed in both computers did not have two PS/2 ports, so I had to use a USB KVM.  It also seemed that I might have to spring for a more expensive DVI-compatible KVM, since I'd gotten some poor video performance when I had connected the monitor to the computer using the older D-Sub rather than the newer DVI kind of cable.  In recent months I had been using the KVM only for the keyboard, while leaving each monitor dedicated to one computer and experimenting with having a separate mouse for each computer, so that I could click without having to transfer keyboard (and, optionally, monitor) focus between computers.  It had lately occurred to me, though, that the D-Sub video quality problems might just be due to the quality of the video circuits on the motherboard.  So at this point I was planning to get a dedicated video card for each computer and see whether its D-Sub connection would work acceptably, in which case I could use the USB/D-Sub KVM for the keyboard and for D-Sub video with monitor A.  In other words, monitor B would continue to be dedicated to computer B, but monitor A would run to the KVM and could thus toggle between computers A and B.

This left the problem that, as I had discovered, when I was not seeing events on computer A, I tended not to use that computer.  That was not terrible -- it would still be there as a running backup, ready to jump into service when I needed it, unless it hibernated itself in the meantime -- but experience suggested that, if I could not just glance to see what was happening on computer A, I would tend not to toggle over there on the KVM and take a peek.  I thought of two solutions to this.  One was to set up a reminder that would prompt me, every hour or two, to interrupt what I was doing on computer B, toggle the KVM, and look at events on computer A as displayed on monitor A.  I suspected I might tend to disregard that kind of reminder, but I decided to give it a try.  An alternative was to get a small, dedicated monitor that would just always be displaying events on computer A, though I realized its tiny resolution would not very well display all the stuff that would tend to appear on my widescreen monitor A.  It looked like I could get a monochrome 10-inch Miracle Business MT209A CRT on eBay for $25 including shipping, but I didn't want the clutter or the extra power consumption.  What seemed like a more practical option was rather to go with a full-sized monitor dedicated to computer A.

That's where this matter rested for the time being.

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.

Saturday, January 22, 2011

Windows 7: Choosing a Multiple Desktop Program

One advantage of using two computers was that I could get stuck at a certain point, for whatever reason due to the computer's imperfections or my own, and just switch right over to the other machine for a while.  I suspected that this advantage could be multiplied by effective use of multiple desktop software.  This post describes my early Windows 7 efforts along those lines.

I had used multiple desktops in Ubuntu, where that feature was part of the standard package.  I had previously looked into multiple desktop software for Windows as well, particularly VirtuaWin, as a portable solution.  (Portables, at their best, could be incorporated into my network-shared, customized Start Menu, all of which could be copied onto a USB drive.)  My question, at this point, was whether Windows 7 supported good software, preferably but not necessarily free, that would give me multiple desktops.

In Ubuntu-land, I had used virtual machines (VMs) to encapsulate a whole workspace.  In one VM, I might have several different kinds of documents and utilities open, all pertaining to the project underway there.  Projects could take a long time, and could entail many interruptions.  Being able to zip all of that up into one pod was helpful for keeping multiple projects organized and ready to resume.  This, especially, was what I would ideally get from Win7 workspaces, though admittedly this went beyond what I had experienced in the desktops of Ubuntu itself (as distinct from VMware, running on Ubuntu).

(By the way, if you're reading these posts, please feel free to add a note now and then.  A bit of encouragement, commentary, or even constructive criticism enhances the sense that some find this effort helpful.)

After some searching around, it seemed that the multiple desktop solutions I was hearing most about were Dexpot, VirtuaWin, and Microsoft's Sysinternals Desktops, probably in that orderA search led to a site agreeing with Dexpot as No. 1, but suggesting that maybe Virtual Dimension belonged in the top three or four.  Another site nominated Micro Desk as one of the best.  CNET did not concur, however.  I liked that Dexpot would allow me to create up to 20 desktops.  I had previous positive experience with other Sysinternals software.  I found a decent video of Dexpot.  It seemed to show largely superficial features, but it did look good.

I went to Dexpot's webpage.  I saw that, in their support area, they did have a forum and an FAQs page.  On their download page, I noticed that they did have a portable version.  I downloaded the installable version and began to play with it, as described in a separate post.

Saturday, January 15, 2011

Windows 7: IP Address Conflict: What Could It Be?

I was continuing a long, long effort to resolve a home networking problem in Windows 7.  The problem was that, if I connected more than one computer to my Netgear FS605 network switch or my Linksys WRT54GL router, I would get an error message:  "Windows has detected an IP address conflict."  I had really tried a huge number of things -- many confusedly, redundantly, or otherwise chaotically, but nonetheless striving in some ill-formed sense to solve this problem.  The solutions I had tried had worked for others; they just weren't working for me.

At this pint, it occurred to me to take my laptop, router, and switch down the way, and try them on someone else's Internet connection.  But now it was late, so that would have to wait until the next day.  But I did not think that the hardware was the problem.  A router and a switch going bad at the same time, after both had served well?

I noticed, when I tried using Google Chrome to do a search during one of those IP conflict periods (i.e., when I had two computers connected to the switch), that Chrome gave me additional information.  Besides saying "This webpage is not available" and suggesting that I reload, their "More information on this error" link gave me an error message:

Error 105 (net::ERR_NAME_NOT_RESOLVED): The server could not be found.
I did a search on that.  It produced a variety of general and Chrome-specific possible solutions.  One ChromeBoard thread went through many of the issues I had examined here and in the previous post, including changing DNS server to OpenDNS or Google (8.8.8.8 and 8.8.4.4).  It seemed the change was supposed to be made in the router, though, not on the computer, and that was different from what I had tried before.  On the theory that my problem was one that a router could sort out, but a switch could not, I went back into my router (a Linksys WRT54GL), as described in that post.  I saw that the router was set to a PPPoE connection type, which was right for my modem but may have been wrong for the router.  I changed that to DHCP.  I saved and saw that this did not solve the problem.  My next step was to try the DNS advice, but it was not clear where in the router's page I should change those numbers.  The page had both "Router IP" and "Network Address Server Settings (DHCP)" sections with DNS options.  The latter seemed right.  But there were three "static DNS" spaces to fill.  I tried the Google numbers (above) for the first two of the three.  That wasn't the solution.  Pooofont recommended unplugging the computer from the wall power socket for a half-hour.  I tried for 15 minutes.  One thing that became clear, as I perused that long thread, was that there were many problems within this Error 105.  Continuing:  I checked Win7's Start > services.msc > DHCP Client and DNS Client; mine were already started and automatic.  Another new possibility:  flush DNS using "ipconfig /flushdns."  I tried it on two computers, and then connected them to the switch; no joy.

Another possibility occurred to me.  Perhaps I had a virus.  But a virus that would immediately affect WinXP, Vista, and multiple Win7 installations, without showing any other effects, and that was not picked up by Avast, AVG, or Windows Security Essentials, all of which had been running on one of these machines or another during this process?

Around this time, I noticed that something had changed.  I had noticed it before, but now it caught my full attention.  Computer B was no longer experiencing IP conflicts when I plugged the other computers into the switch.  They continued to report such conflicts, but now computer B was OK.  Not only was it not reporting IP address conflicts, but it was now able to go online, even through the switch, when all three other computers (one running Win7, one running Vista, one running Windows XP) were also plugged into the switch and were reporting IP address conflicts.

Somehow, computer B had reached a point of functionality.  What had I (or the computer) done to achieve this?  The solution was presumably not a matter of the router or the switch; it was seemingly something about computer B in particular.  But what?  I tried to trace back through the previous post, to see what I might have been doing when this change occurred.  I had noticed it while talking to the AT&T guy, so it was before that.  But then I had to call it a day.  The system went into hibernation overnight, and when I came back to it the next morning, computer B, too, was reporting an IP conflict and was unable to go online.  Maybe it had something to do with resetting the modem, though I didn't see how.  My thinking now was that the modem could not tell what lay on the other side of the switch.  As far as the modem was concerned, it was handing out just one Internet connection.  It was up to the switch or router to arbitrate among multiple computers.

Following advice, I opened a command window in each computer (Start > Run > cmd -- or, in Win7, Start > type "cmd") and typed "ipconfig" by itself.  This produced several different results.  In computer A (running Win7) and in the Vista laptop, it did not even try to report an IPv4 address.  In computer B, it reported an IPv4 address of 192.168.131.1.  In the Windows XP machine, it reported 192.168.1.64 as the only IP address.  This seemed to suggest computer B and the WinXP machine should not be in conflict.  I unplugged the two others from the switch.  But computer B and the WinXP machine were still unable to go online.  Only when I removed three of the four machines from the switch was the one remaining machine able to connect with the Internet.  This suggested that the IPv4 address was not the issue, or at least not the only issue.

Another possibility recommended in that same thread was to go into Device Manager (a Control Panel item in Vista and Win7; under Control Panel > System > Hardware in WinXP), look under Network Adapter, and uninstall the ethernet and wireless adapters, then scan for changes and let it reinstall them.  I wasn't using wireless, so I assumed that part would be irrelevant to my situation.  The wired part was a Realtek device on both computer B and the WinXP machine.  I made sure both computers were connected to the switch, and then uninstalled the Realtek adapter.  I did not opt to delete the driver software.  Then, in the Action menu item at the top of Control Panel, I ran "Scan for hardware changes" in both computers, one at a time.  The WinXP machine started its Found New Hardware Wizard.  I couldn't get the CD drive to read the motherboard manufacturer's installation CD at that point, so I rebooted the WinXP machine and it reinstalled its wired adapter automatically during reboot, and reported an IP address conflict when it came back up.  But now computer B was not reporting a conflict.  I tried the same approach with computer A. 
It still reported a conflict and was still unable to go online.

One thing that was different about computer B, in the networking department, was that I had installed VMware Workstation there.  This seemed potentially relevant because there were VMware Virtual Ethernet Adapter for VMnet1 and VMnet 8 listed in Device Manager on computer B.  But I had had the IP address conflict problem after installing VMware, so I didn't see how that could make a difference.

At this point, I came across a suggestion to use Win7's Event Viewer.  That discussion continues in a separate post.

Thursday, January 13, 2011

Windows 7 Installation: Win7NewInstall.bat and Win7RegEdit.reg

In the process of installing and adjusting Windows 7 Ultimate, I developed a batch file (Win7NewInstall.bat) to run certain commands.  I also developed a registry (.reg) file (which I called Win7RegEdit.reg) to make a number of tweaks automatically.  I developed these to be run in that order -- the batch file first, and then the registry edit file.

I found that some parts of the .reg file did not perform as desired.  Running the .reg file produced an error:

Registry Editor

Cannot import [filename]:  Not all data was successfully written to the registry.  Some keys are open by the system or other processes.
I went through the registry edits that I had incorporated into the file, at that point, and identified individual items that were not installing, even with other programs closed.  My search for responses to this error led to some webpages that made me think I might be better off making the needed changes via a batch file.  Unfortunately, batch files sometimes produced the similar "ERROR: Access is denied."  A search for answers to that led, in turn, to an understanding that I would need to take owneship of registry keys to make those changes; but a search on that subject led to another search whose upshot was that there was not a good automated way to take ownership of such keys, or at least not one that I would know how to use.

I started to convert the .reg file to .batch file lines.  I found guidance for that translation in tutorials from Dwarf and from Daniel Petri, and also in the online help files (in a Win7 cmd window, type "REG /?").  This step, by itself, did not eliminate the error shown above.  Running a prohibited batch command in a DOS box (a/k/a cmd window, produced by Start > cmd) would yield Running the batch file in Windows 7 Safe Mode would sometimes if not always yield the same error.

I decided the most efficient solution was to automate the changes that I could automate (using either batch commands or the .reg file); failing that, to use Ultimate Windows Tweaker; and if that too failed, then go into the registry and make the changes manually.  I then found I was able to automate parts of the manual process, so I built those parts into the sequence.  In other words, the way I worked it out, I would run the batch file, then run the reg file, then run Ultimate Windows Tweaker, then make changes manually (e.g., in Control Panel).  These steps are described more fully in my post about the whole Win7 installation process, from about this same time, entitled "Windows 7 Installation:  Second Try."

I assembled these materials over a period of weeks, with numerous changes. This post does not necessarily represent the final state of these materials. It is more of a record of how they had developed at this point. It could be a very bad idea for someone else to simply adopt and run these files as-is. I could not say what effects that might have. Where I happened to think of it, I added some explanatory and cautionary comments within these files. For posterity, the contents of the Win7NewInstall.bat file were as follows:
@echo off

:: ***** Win7NewInstall.bat *****

:: ************* NOTES *************

:: These commands customize a new Windows 7 installation.
:: I used some of these on my system. They are offered for reference.
:: These commands can ruin your system. Use at your own risk.

:: These were converted from .reg file lines, guided by the DOS help files at REG /?
:: I tried to minimize other running programs before running these commands.
:: Consult original source webpages for comments, changes, updates, etc.
:: I ran these as Administrator and had to reboot for some to take effect.

:: Set permissions manually as needed
:: This step requires OORegEditor, or something like it, in a designated directory.
cls
echo.
echo Copy and paste each of these into a program like OORegEditor (Ctrl-G).
echo The locations may already be saved as Favorites in that program.
echo.
echo There, right-click and set permissions for each of these keys.
echo.
echo HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder
echo.
pause
cls
echo.
echo The remaining tweaks will now install.
echo.
pause
cls

:: Disable User Account Control

wait "" "C:\Windows\System32\cmd.exe" /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
:: Optional: Enable User Account Control
:: C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f
:: Other UAC Options
:: http://www.howtogeek.com/howto/windows-vista/4-ways-to-make-uac-less-annoying-on-windows-vista/
:: http://www.howtogeek.com/howto/3340/how-to-manage-uac-notifications-in-windows-7/

:: Create God Mode folder in Start Menu

md "D:\Installation\Start Menu\Programs\Tools\Tweakers\God Mode.{ED7BA470-8E54-465E-825C-99712043E01C}"

:: Turn off Windows Defender - it is included in Microsoft Security Essentials

takeown /f "c:\Program Files\Windows Defender" /r /d y
icacls "c:\Program Files\Windows Defender" /grant Administrator:F /t
ren "c:\Program Files\Windows Defender\MSASCui.exe" "c:\Program Files\Windows Defender\wasMSASCui.exe"

:: Map Network Drives

:: Not presently using network drives.
:: Command form: net use z: /persistent:yes \\servername\foldername password
:: More info at http://raywoodcockslatest.blogspot.com/2010/07/vmware-workstation-ubuntu-host-windows.html

:: Run the registry tweaks file

start "" "D:\Installation\Windows 7 Drive C\03 Other Installation & Tweaking Programs\99 Win7RegTweaks.reg"

exit
As shown in those final lines, Win7NewInstall.bat would then run Win7RegTweaks.reg.  The contents of Win7RegTweaks.reg at this point were as follows:
Windows Registry Editor Version 5.00

; ************* NOTES *************

; These are registry edits. They can ruin your system. Use at your own risk.
;
; There are undo options for many of these at the sources (above).
; Items that are commented out were not needed on this system.
; Run this with no other programs running (even Windows Explorer).
; Probably have to run as Administrator in some cases.
; Consult the original source webpage for comments, changes, updates, etc.
; May have to reboot for some of these to take effect.

; ************* SOURCES *************

; http://www.howtogeek.com/howto/37920/the-50-best-registry-hacks-that-make-windows-better/
; http://www.sevenforums.com/tutorials/257-windows-7-tutorial-index.html
; and other assorted sources.

; ************* WINDOWS EXPLORER *************

; ***** Disable Libraries *****

[-HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{491E922F-5643-4af4-A7EB-4E7A138D8174}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A302545D-DEFF-464b-ABE8-61C8648D939B}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A990AE9F-A03B-4e80-94BC-9912D7504104}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
“{031E4825-7B94-4dc3-B131-E946B44C8DD5}”=-
; Restore default
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
; "{031E4825-7B94-4dc3-B131-E946B44C8DD5}"=dword:00000001
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
; @="UsersLibraries"
; "Removal Message"="@shell32.dll,-9047"
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}]
; "Name"="MusicLibrary"
; "Category"=dword:00000004
; "ParsingName"="::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}"
; "Stream"=dword:00000001
; "StreamResource"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
; 6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
; 00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
; 2d,00,32,00,00,00
; "StreamResourceType"="LIBRARY"
; "RelativePath"="Music.library-ms"
; "ParentFolder"="{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}"
; "Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
; 00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
; 6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
; 00,31,00,30,00,30,00,34,00,00,00
; "InfoTip"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
; 6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
; 00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
; 2d,00,31,00,32,00,36,00,38,00,39,00,00,00
; "LocalizedName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
; 6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
; 00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
; 2c,00,2d,00,33,00,34,00,35,00,38,00,34,00,00,00
; "PreCreate"=dword:00000001
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}\PropertyBag]
; "FoldersDependentOn"="{4BD8D571-6D19-48D3-BE97-422220080E43};{3214FAB5-9757-4298-BB61-92A9DEAA44FF}"
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{491E922F-5643-4af4-A7EB-4E7A138D8174}]
; "Name"="VideosLibrary"
; "Category"=dword:00000004
; "ParsingName"="::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{491E922F-5643-4af4-A7EB-4E7A138D8174}"
; "Stream"=dword:00000001
; "StreamResource"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
; 6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
; 00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
; 2d,00,34,00,00,00
; "StreamResourceType"="LIBRARY"
; "RelativePath"="Videos.library-ms"
; "ParentFolder"="{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}"
; "Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
; 00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
; 6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
; 00,31,00,30,00,30,00,35,00,00,00
; "InfoTip"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
; 6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
; 00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
; 2d,00,31,00,32,00,36,00,39,00,30,00,00,00
; "LocalizedName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
; 6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
; 00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
; 2c,00,2d,00,33,00,34,00,36,00,32,00,30,00,00,00
; "PreCreate"=dword:00000001
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{491E922F-5643-4af4-A7EB-4E7A138D8174}\PropertyBag]
; "FoldersDependentOn"="{18989B1D-99B5-455B-841C-AB7C74E4DDFC};{2400183A-6185-49FB-A2D8-4A392A602BA3}"
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}]
; "Name"="DocumentsLibrary"
; "Category"=dword:00000004
; "ParsingName"="::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}"
; "Stream"=dword:00000001
; "StreamResource"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
; 6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
; 00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
; 2d,00,31,00,00,00
; "StreamResourceType"="LIBRARY"
; "RelativePath"="Documents.library-ms"
; "ParentFolder"="{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}"
; "Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
; 00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
; 6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
; 00,31,00,30,00,30,00,32,00,00,00
; "LocalizedName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
; 6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
; 00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
; 2c,00,2d,00,33,00,34,00,35,00,37,00,35,00,00,00
; "PreCreate"=dword:00000001
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}\PropertyBag]
; "FoldersDependentOn"="{FDD39AD0-238F-46AF-ADB4-6C85480369C7};{ED4824AF-DCE4-45A8-81E2-FC7965083634}"
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A302545D-DEFF-464b-ABE8-61C8648D939B}]
; "Name"="UsersLibrariesFolder"
; "Category"=dword:00000001
; "ParsingName"="::{031E4825-7B94-4dc3-B131-E946B44C8DD5}"
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A302545D-DEFF-464b-ABE8-61C8648D939B}\PropertyBag]
; "NoCustomize"=dword:00000001
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A990AE9F-A03B-4e80-94BC-9912D7504104}]
; "Name"="PicturesLibrary"
; "Category"=dword:00000004
; "ParsingName"="::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{A990AE9F-A03B-4e80-94BC-9912D7504104}"
; "Stream"=dword:00000001
; "StreamResource"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
; 6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
; 00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
; 2d,00,33,00,00,00
; "StreamResourceType"="LIBRARY"
; "RelativePath"="Pictures.library-ms"
; "ParentFolder"="{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}"
; "Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
; 00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
; 6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
; 00,31,00,30,00,30,00,33,00,00,00
; "InfoTip"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
; 6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
; 00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
; 2d,00,31,00,32,00,36,00,38,00,38,00,00,00
; "LocalizedName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
; 6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
; 00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
; 2c,00,2d,00,33,00,34,00,35,00,39,00,35,00,00,00
; "PreCreate"=dword:00000001
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A990AE9F-A03B-4e80-94BC-9912D7504104}\PropertyBag]
; "FoldersDependentOn"="{33E28130-4E1E-4676-835A-98395C3BC3BB};{B6EBFB86-6907-413C-9AF7-4FC2ABF07CC5}"

; Hide Favorites
; Requires manual change of permissions
[HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder]
"Attributes"=dword:a9400100
; Restore default
; "Attributes"=dword:a0900100

; Set Documents folder template as default
; source: http://www.sevenforums.com/tutorials/11356-folder-view-apply-all-folders.html
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell]
"FolderType"="Documents"
; Alternative: use General type instead
; "FolderType"="NotSpecified"
; Restore default
; [HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell]
; "FolderType"=-
; [-HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU]
; [-HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags]
; [-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU]
; [-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags]

; ***** Context Menu *****

; Add context menu option to open files with Notepad
[HKEY_CLASSES_ROOT\*\shell\Notepad]
@="Open with Notepad"
[HKEY_CLASSES_ROOT\*\shell\Notepad\command]
@="notepad.exe \"%1\""
; Remove option
; [-HKEY_CLASSES_ROOT\*\shell\Notepad]

; Add context menu option to take ownership of files and folders
[HKEY_CLASSES_ROOT\*\shell\runas]
@="Take Ownership"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Take Ownership"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
; Restore default
; [-HKEY_CLASSES_ROOT\*\shell\runas]
; [-HKEY_CLASSES_ROOT\Directory\shell\runas]

; Add context menu items Copy To Folder and Move To Folder
; [HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers]
; [HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Copy To]
; @="{C2FBB630-2971-11D1-A18C-00C04FD75D13}"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Move To]
@="{C2FBB631-2971-11D1-A18C-00C04FD75D13}"

; Add context menu item to copy text files to clipboard
[HKEY_CLASSES_ROOT\txtfile\shell\copytoclip]
@="Copy to Clipboard"
"Extended"=""
[HKEY_CLASSES_ROOT\txtfile\shell\copytoclip\command]
@="cmd /c clip < \"%1\""
; Restore default
; [-HKEY_CLASSES_ROOT\txtfile\shell\copytoclip]

; Add context menu encryption option
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"EncryptionContextMenu"=dword:00000001

; ***** Other Functioning *****

; Disable annoying web service dialog for opening files
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoInternetOpenWith"=dword:00000001
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoInternetOpenWith"=dword:00000001
; Restore default
; [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
; "NoInternetOpenWith"=-
; [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
; "NoInternetOpenWith"=-

; ***** Unused *****

; Double-pane Windows Explorer for network drives
; [HKEY_CLASSES_ROOT\Folder\shell\open\ddeexec]
; @="[ExploreFolder(\"%l\", %I, %S)]"

; Disable context menu item Send To
; [HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Send To]
; @=""
; Restore default
; @="{7BA4C740-9E81-11CF-99D3-00AA004AE837}"

; Disable Caps Lock key
; [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
; "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,3a,00,00,00,00,00
; Alternative: change Caps Lock to Ctrl
; "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00
; Alternative: change Caps Lock to Shift
; "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,2a,00,3a,00,00,00,00,00
; Alternative: change Caps Lock to ScrollLock
; "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,3a,00,3A,00,46,00,00,00,00,00
; Eliminate keyboard remap
; "Scancode Map"=-

; Disable balloon tips
; [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
; "EnableBalloonTips"=dword:00000000
; Restore default
; "EnableBalloonTips"=-

; Set Alt-Tab to show thumbnails despite Classic desktop theme
; Doesn't work
; [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
; "AltTabSettings"=-
; Alternate: set Alt-Tab to Classic
; [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
; "AltTabSettings"=dword:00000001

; ************* START MENU, TASKBAR, AND THUMBNAILS *************

; Make Aero Peek happen instantly
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"DesktopLivePreviewHoverTime"=dword:00000000
; Restore default
; "DesktopLivePreviewHoverTime"=dword:000001f4

; Make Aero taskbar thumbnails show contents immediately when hovering
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"ExtendedUIHoverTime"=dword:00000001

; Increase Start Menu display speed -- default is 400
[HKEY_CURRENT_USER\Control Panel\Desktop]
"MenuShowDelay"="200"

; ************* FILE LOCATIONS *************

; Point to D for Start Menu and Programs
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"Administrative Tools"="D:\\Installation\\Start Menu"
"Programs"="D:\\Installation\\Start Menu\\Programs"
"Startup"="D:\\Installation\\Start Menu\\Programs\\Startup"
"Start Menu"="D:\\Installation\\Start Menu"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"Programs"="D:\\Installation\\Start Menu\\Programs"
"Startup"="D:\\Installation\\Start Menu\\Programs\\Startup"
"Start Menu"="D:\\Installation\\Start Menu"

; Point to Current folder for Music, Video, Pictures, etc.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"My Music"="D:\\Current"
"My Pictures"="D:\\Current"
"My Video"="D:\\Current"
"Personal"="D:\\Current"
"{374DE290-123F-4565-9164-39C4925E467B}"="D:\\Current"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"My Music"="D:\\Current"
"My Pictures"="D:\\Current"
"My Video"="D:\\Current"
"Personal"="D:\\Current"
"{374DE290-123F-4565-9164-39C4925E467B}"="D:\\Current"

; Point to X:\Cache for cookies, cache, etc.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"Cache"="X:\\Cache\\Temporary Internet Files"
"Cookies"="X:\\Cache\\Cookies"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"Cache"="X:\\Cache\\Temporary Internet Files"
"Cookies"="X:\\Cache\\Cookies"

; ************* FILE OPENING *************

; Files with no extension open in Notepad
[HKEY_CLASSES_ROOT\*\shell]
[HKEY_CLASSES_ROOT\*\shell\open]
@="Open With Notepad"
[HKEY_CLASSES_ROOT\*\shell\open\command]
@="notepad.exe %1"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.]
"Application"="Notepad"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Notepad]
@="Notepad"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Notepad\command]
@="C:\\Windows\\notepad"

; Disable Windows from asking "Do you want to open this file?"
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download]
"CheckExeSignatures"="no"
"RunInvalidSignatures"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]
"SaveZoneInformation"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Associations]
"LowRiskFileTypes"=".zip;.rar;.nfo;.txt;.exe;.bat;.com;.cmd;.reg;.msi;.htm;.html;.gif;.bmp;.jpg;.avi;.mpg;.mpeg;.mov;.mp3;.m3u;.wav;"

; ************* INTERNET EXPLORER *************

; Specify IE download directory
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer]
"Download Directory"="D:\\Current"

; Force IE to launch shortcuts in a new window
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"AllowWindowReuse"=dword:00000000

; ************* LOGIN, LOGOUT, SHUTDOWN *************

; Prevent Windows from rebooting after updates
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
; Restore default
; "NoAutoRebootWithLoggedOnUsers"=-

; Save settings on exit
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoSaveSettings"=dword:00000000

; Disable automatic restart after crash so you can see error messages
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
"AutoReboot "=dword:00000000

; Don't clear paging file at shutdown
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"ClearPageFileAtShutdown"=dword:00000000

; Hide user account on login screen
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts]
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"Administrator"=dword:00000000
; Restore default
; [-HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
; [-HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts]

; ************* OTHER TWEAKS *************

; Remove "Shortcut" from title of shortcuts
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"link"=hex:00,00,00,00
; Restore default
; "link"=hex:1e,00,00,00

; Removable devices Auto-Play off
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:00000095
; Alternate: "NoDriveTypeAutoRun"=dword:000000FF
; May not be needed in Win7: "NoSaveSettings"=dword:00000000

; Disable creation of Thumbs.db
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"DisableThumbnailCache"=dword:00000001

; Disable beep on error
[HKEY_CURRENT_USER\Control Panel\Sound]
"Beep"="No"

; Increase Internet download connections to 10
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MaxConnectionsPerServer"=dword:0000000a
"MaxConnectionsPer1_0Server"=dword:0000000a

; Set Control Panel to classic view
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"ForceClassicControlPanel"=dword:00000001
After a week of using the system, these edits seemed generally stable.  It appeared that a few might be ineffectual.  I was using Ultimate Windows Tweaker to try again on making those changes.

VMware Workstation 7 on Windows 7 Host: Ubuntu Virtual Appliance

On VMware's virtual appliances website, I found a free virtual appliance that appeared to contain a prepackaged Ubuntu 10.10 installation.  I was hoping that I could just download and install this thing, and I would (almost) instantly have a working Ubuntu virtual machine that I could run in VMware on a Windows 7 host.  At the home webpage for this appliance, I found installation notes summarizing the configuration.  As the source requested, I used the torrent download link and downloaded the 700MB appliance.  I did not immediately explore this possibility, but will preserve this post as a reference point if I should decide to do so in the future.

Windows 7: Native Virtual Hard Disk (VHD) Boot

I was interested in making Windows 7 Ultimate run faster.  One possibility that came to my attention was using native virtual hard disk (VHD) boot in connection with RAID0.  This post discusses that.

A virtual hard disk was just a hard disk in virtual form.  Normally hard disks were physical.  A virtual hard disk, like a virtual machine (VM), would exist as a file (or a set of files) on a physical hard drive, not as a physical device in itself.  In other words, the user would have a physical hard drive in his/her computer, and somewhere on that drive s/he would have a VHD.

The "native" part of "native VHD boot" meant that the user would have direct access to the VHD.  Ordinary VM software (e.g., VMware, VirtualBox, Virtual PC) would require the user to install an operating system (e.g., Windows 7, Ubuntu) to serve as host (also called "parent").  Then the user would have to install the VM software (e.g., VMware) to manage the guest, and then install another operating system (e.g., Windows XP) inside the VM software as guest.

The VHD concept seemed to be that the host layer would be removed from the equation.  There would be a virtual hard drive that could be loaded or unloaded, perhaps without rebooting the computer.  The computer would be running the "guest" machine (e.g., a Windows XP installation) in virtual form.  For example, a packaged Windows XP installation could run on computer A, or on computer B, without having to be reinstalled and without having to install a host and a VM program like VMware.  In addition to simplicity, this scheme would presumably have the advantage of improving performance by removing extra layers and tasks.

In Windows 7, native VHD boot was apparently available only in the Ultimate and Enterprise versions.  This meant that it could be out of the reach of ordinary users who were not inclined to spring for such expensive software, unless perhaps they had access to it through their jobs or through academic versions.  It did not appear that Ubuntu, for one, would be developing a comparable capability in the near future.  There were hypervisors like VMware's ESXi that apparently provided somewhat similar bare-metal functionality, but ESXi seemed unavailable for my purposes.

I was interested in the possibility of using native VHD boot with RAID0.  This interest arose from a desire to make Windows 7 and other operating systems run quickly.  New installations of operating systems would typically perform well, I found, but then time and the addition of more programs and other demands would slow them down.  So, for example, I had found that Windows XP running as a VM inside VMware Workstation on an Ubuntu host was much more stable than native WinXP, but its performance had slowed dramatically.  My attempts to fix it (even through reinstalling both Ubuntu and VMware) had failed.  After several years of experimentation, I had therefore recently given up on Ubuntu for my purposes.

VHD seemed to offer a good way to run Windows 7 in a RAID array.  I had found that Win7 did not, itself, support booting from the software RAID0 arrays that Win7 was capable of creating.  In other words, a Win7 user could use Win7 to create RAID0 arrays, and could speed things up somewhat by putting some programs and data files on such arrays; but the user could not boot Win7 from a Win7 software RAID0 array, and would therefore have to install and run some Win7 program files from a basic hard drive.

As an alternative, the user could create a RAID array using hardware, either on the motherboard or on a third-party controller.  Hardware RAID had potential advantages of performance, bootability, level support (i.e., the ability to choose versions other than RAID0 and RAID1, including some I had not previously heard of), multiple operating system access (i.e., the data would remain available regardless of how the machine is booted), and reliability.  The performance story was a bit controversial.  I had seen indications that motherboard RAID was no faster than software RAID, and I had heard some claim that RAID0 was no faster than non-RAID, but my own experience (in Ubuntu) was consistent with tests indicating that even a software RAID0 was markedly faster than non-RAID.  Cost was a consideration.  While RAID5 was perhaps ideal, a Newegg search for a SATA RAID5-capable controller would cost hundreds of dollars.  Removing the RAID5 constraint led me to a $30 Rosewill item.  I didn't need that myself; I had motherboard RAID 0, 1, and 10.  For reasons of cost, noise, and heat, I wasn't going to be installing four drives to have RAID 10 (a/k/a RAID 1+0, which Wikipedia (apparently backwardly) called a stripe of mirrors, as distinguished from RAID 0+1, a mirror of stripes).  So for my purposes, it was a choice between hardware RAID0 or software RAID0; and since I was now using Win7 rather than Ubuntu, the desire to boot in RAID0 meant I would be using motherboard RAID -- unless VHD gave me a good alternative.

At this point, I had a general sense of what VHD sounded like.  Among other things, it sounded great.  But it seemed that I wouldn't run into the actual drawbacks and impossibilities until I created my own VHD and tried to use it.  As described in another post, the first step in doing so was just to create and play around a bit with a VHD, within a regular, running Win7 system.