2.06.2011

"Full Virtualization" to "Paravirtualization" of a Pre-installed Windows 7 Partition on Linux Host

It has been a while since the PPC emulation days of Connectix Virtual Game Station, Virtual PC, and the emulation[.net] scene. The latest and greatest is now virtualization, or less emulation, more speed. Of course this is really nothing new, since IBM has employed virtualization in production mainframe environments since 1967[citation still needed], but we are still going to try and make it really complicated with fancy long words that are often mis-attributed to each other, thus becoming even more useful as a tongue-twisting teaching tool of misinformation.

The entire concept of virtualization is a bit misbegotten. We use it to get around developing stable, sandboxed services on servers or for changing development and testing environments on the fly. All of which seem avoidable with an ounce of prevention, but let's ply on for the ten pounds of cure!

This is where we are going to set the record straight. Well, straight-er at least. With the help of my trusty side-kicks Google, Wikipedia, and The Internets (<= v1.0 please) we will get to the bottom of this virtualization issue. The problem statement, slightly adjusted from the title: From within a non-Windows Host, Paravirtualize Type 1 a Windows 7 installation. Non-Windows could mean Linux, it could mean Mac OS X, or it could mean something exotic like BeOS. Ideally, it seems the Host OS may benefit from using a Microkernel such as Mach or L4. I am partial to Mac OS X for best-in-class design and general interoperability, though the computer I have to work with is an HP 8740w so Mac OS X may not be realistic as a Host OS. Some day... =)

Paravirtualize means cut some corners around full virtualization so the guest may interact with the hardware via optimized drivers. It allows the guest to know it is being virtualized by offering virtual hardware services, which then require drivers, in order to speed up stuff such as disk, network, and PCI bus I/O. A good first step is to achieve "Full Virtualization" so that the installed drivers and system see the same hardware. Given the widespread [lack of] incredibly clear and concise documentation and very limited [sarcasm] choices in software virtualization packages available to those interested, I have decided to first get the Windows 7 partition to simply boot before worry about the optimization.

Type 1 is a term coined by Robert P. Goldberg for classifying the hypervisor, a technique for virtualization, that runs directly on the host hardware as opposed to the host operating system, i.e. Type 2. A Type 1 hypervisor is also sometimes called a "native" or "bare metal" hypervisor.

A Windows 7 installation is a new concept to me, though in the past versions Windows was happy to reside in a single partition. Apparently this single installation of Windows 7 may span multiple partitions in order to appease some new recently hired Boot Manager. I am not yet certain.

Software options with Type 1 hypervisors capable of paravirtualization:
Linux KVM
VMWare ESXi
Microsoft Hyper-V
Citrix XenServer

Currently I am working on KVM in Ubuntu 10.10. I can boot the Windows 7 install DVD, go to recovery console, see the HD partition with live install, bootsect.exe to operate on the /nt60 bootloader, but bootrec.exe (and the auto-repair tools) sees no valid Win 7 installations. I have disabled AHCI in the BIOS, tried various ways of accessing that partition, unmounted it within the Linux-side, mounted it rw and tried to access the filesystem directly, etc. to no avail. It is perhaps time to move on to the next package on the list.

5.10.2010

Dedication to the Weekend of May 7th, 2010

Corona sputters and crackles, hanging heavily on this air. Tensions rise as the potential undulates toward the natural, inevitable breakdown. A perceptive void floods the social concious, for posterity. Balance restored, the air relieved, we can see again.

8.17.2008

Chaos Theory (2007) Review

While those looking for the mathematic chaos theory from Hollywood might be disappointed by the departure from the technical for the whim, the story does have a very solid basis for understanding the concept of love as it applies to reality. That is to say, they got the philosophy of love down fairly well and the story benefited from it.

The moral
Love is a choice. We choose to give it and we choose to receive it. It is that choice that transcends betrayal and other wrongdoings of the past.

Nitpicking
Most of the plot revolves around poor communication. The entire movie is very believable, otherwise.

One Liner
A soberingly enjoyable account of a realistic love story.

2.21.2008

I had a dream

I dreamt that we were capable of removing all the middle-men. The stock brokers, real estate agents, distributors, etc. were gone and never coming back. If you wanted to make money you had to produce something useful, something substantive to society, not just a means of making money by skimming a little off the top or off of other people's mistakes, but by progress. As society's needs arose they were addressed and even sometimes preempted beforehand. The topics of discussion had little to do with power grabbing and fear mongering. We discussed what issues as a society must we deal with and with what priority they ought to be addressed.

Upon my arrival back here in a little place I like to call reality, I was sad because it was just a dream. I was confused because I didn't know whether it was good or not. Is this something we could want, should want for each other? Could more come of it than just the idle idealistic thoughts of a bored middle-aged and mediocre white boy who once had aspirations to take over the world? Dreams come. Dreams go. What we do with them, in a sense, makes us who we are. Do we seek to fulfill our dreams? Do we let them go back to the dark nothingness from which they came? Do we hold on or let go? I think I will hold on to this dream a little longer and see where it takes me. A little further then...