Tuesday, February 17, 2009

Running 64bit guest on a 32bit host OS

=== This isn't something new, but worth a post. ===

Virtualization isn't something new but the concept of mixing the 32bit and 64bit software in the same machine at the same time is a milestone (atleast to me). This wouldn't be possible without a hardware support -- because a 32bit Virtual Machine Monitor (VMM) running on a 32bit host operating system has no way to make the 64bit code of the host OS to run "natively" (the processor does not understand 64bit code in 32bit mode even if it is 64bit capable).

Intel's Virtualization Technology (VT) provides support for virtualization at the hardware level. Obviously this is going to make the VMM much less complicated than earlier and provide much cleaner separation between the VMs. The VT technology offers lot of flexibility to the VMMs from the hardware level to implement virtualization. One of the most important (rather, otherwise impossible) feature is the support for mixed (32bit, 64bit) VMs to run at the sametime. Needless to say that this requires a "64bit" processor with VT technology enabled. Just VT cannot do magic on a 32bit CPU. In simple terms, VT allows the VMM to switch the processor mode to 32bit or 64bit at run-time as required so the guest OS does not have the restriction on the mode of the host OS.

My most favourite VM solution is VMware Workstation; while my favourite free one being VirtualBox. Both the solutions support VT and can run 64bit guest on 32bit host. (Vmware player is actually free -- but does not allow you to create VMs but only run; Infact VMware client to their ESX server is now open-source -- more info).

VT feature has to be enabled at the BIOS -- might be available in some advanced configuration. I was surprised to see this option on my machine under 'Security' section in BIOS :)

Anyways, this is just wonderful!!!

1 comment:

  1. > Vmware player is actually free -- but does not
    > allow you to create VMs but only run

    Not true. Have you tried?

    ReplyDelete