I'm looking for some suggestions about running virtual OSs on laptops.
In the past, one had to dual boot in order to use both Linux and MS (or Mac OS). Now we have parallels, virtualPC (free!), VMWare(free!), Xen(free!), etc. to do virtualization.![]()
The question is: Which one is best, and how does one best go about the process?
A couple of things to consider:
1. Windows battery management is generally far superior to Linux, so if you want to maintain battery life, you're better off with MS as the host OS (is this true?)
2. Linux, arguably at least, is a superior and/or more stable OS and thus better suited as a host OS.
3. Some virtualization programs, virtualPC for example, only runs MS as the host OS.
4. Drivers, drivers, drivers. There are likely lots of driver issues related to the virtualized devices created for the guest OS.
5. Sharing of files, partitions, etc. Run samba in a linux host OS or mount a FAT32 (or NTFS with new linux!) partition between the two OSs.
6. Is it possible to convert a dual-boot system, with Linux on one, Windows on another, into a virtualized system.... i.e., can you turn a partition into a guest OS virtual machine?
Of course, the best approach will depend on each users' needs, e.g. a gamer would definitely want windows as the host OS. However, I'd like to hear of others experiences, recommendations.
Thanks, JS
-
-
All the virtualization technologies you have mentioned are so different from each other that you may first want to assess your needs and then choose which technology you need. Then it'll be much easier to choose everything else. -
FYI, Xen is a hypervisor virtualization technology while VMWare is a virtualization technology that sits completely inside another OS. Hypervisor is a "newer to mainstream" concept that basically allows you to run 2 OSes side by side (simplifying this a bit). This part I'm not sure about, but I believe that the only hypervising kernels available at this point are Xen Linux kernels, but that is just the main hypervising OS, the virtualized OS (Windows/etc) doesn't require support.
-
Actually any OS that runs on Xen has to be "ported", but Microsoft has expressed interest to get Windows ported to it. Windows on Xen wouldn't be free, however. Currently there are Linux, NetBSD and FreeBSD kernels running on Xen.
Supposedly, new virtualization instructions included on new CPUs would make porting unnecessary, but I haven't seen an unmodified OS running on Xen.
If you only want to run several OSes, though, virtualization is overkill IMHO. It's designed to run lots of programs/services on big, beefy servers, mazimizing the usage of the machine. Virtualization adds a certain amount of overhead, and if you want to run several OSes I think it's worth the hassle to install them all instead. But this is only my opinion... -
According to Xen, Windows can run as guest OSes under a Xen (3.0) kernel as shown by this Xen webpage: http://wiki.xensource.com/xenwiki/OSCompatibility - note that this has to do with having a CPU that has Intel Hypervisor support, not all Intel chips currently have it and it doesn't seem to completely work but this indicates it is a function of the host Xen kernel. -
Of course, the downside to Parallels is 1) a small performance hit, and 2) lack of support for specific hardware (e.g. the screen/graphics). Still, for the sort of work I do, it seems very good. -
5. At least with VMWare on a Linux host, a VMWare-specific version of Samba can be set up as part of the post-install configuration process.
Also, in VMWare, you won't be able to mount a FAT32 partition on your hard drive directly from a virtual OS. You have to use Samba/Windows File Sharing. However, given that this abstraction layer will be in place, there is no need to use FAT32. The host system's native format will be readable and writable just fine from the virtual host.
6. I have heard of three ways to convert a partition into a virtual machine, all involving VMWare, which as you might have guessed by now is the only virutalizing software I've used.
First, VMWare makes a specific product for this called P2V (physical-to-virtual).
The other two only work with a Windows virtual OS, and are complex enough that I'm not going to describe them. Here's a good thread in another forum on this topic: http://episteme.arstechnica.com/groupee/forums/a/tpc/f/12009443/m/489008386731/r/517006096731 . Look for the posts about HAL.DLL and NTBackup. -
: Windows is supposed to run unmodified, but this is yet untested (as I said previously).
(BTW, wouldn't you be better suited with Wine, instead of having to run a whole OS inside another?) -
I'll admit that it's been a while since I used wine, but when I last tried it, it didn't run the software that I needed to run (SPSS and Illustrator being the prime examples).
-
Ok, I am in a similar position as doddles. I prefer to run linux for all but a few apps that I haven't been able to use in wine- an old version of mathcad, scifinder scholar, and a few others. I usually want to use these apps a few minutes at a time and it's a pain to reboot just for a few minutes of work.
Mr. Foolish linked to a post that mentions using NTbackup to make the migration to vmware. Is that same or similar tool present in winXP? Or would I need to make the ghost image and bother with replacing hal.dll? -
Thanks everyone for the suggestions so far.
Regarding Xen: Well, yes you will need the HyperVisor technology of the latest Intel (and AMD) chips to do windows in Xen; Unfortunately Core Duo's do not have this, AFAIK. The Core 2 Duo's (Merom) will have it, which makes Xen look more attractive at that point.
As for the few comments about what my needs are: Well, I'm a Linux regular, it is a must-have for my day-to-day activities. But the general linux issues related to laptops really bother me at times:
a. Buggy ACPI implementations in many laptops (fixed with proprietary windows drivers)
b. Battery performance better in windows
c. Driver support
d. Bundled software "goodies" only in windows (although some of these I'd rather not have, some are quite useful)
It seems like having windows as a host OS, with linux running virtualized would be a good solution for me. The main drawbacks of this are, to me at least, that it is a cop-out from running 'pure' linux, media programs like mplayer would have to run in windows, and the performance hit of the virtualized OS.
Slightly off-topic, but I'd like to comment on the battery issue. I've never seen a throrough analysis of linux vs. windows battery performance, but I've come across a LOT of anecdotal evidence suggesting that even with good CPU governors running, laptop-mode-linux enabled, aggressive HDD spin-down, etc. linux still only gets about 70-75% of the battery life of windows. This is a big difference and important to someone who values the portability aspects of a laptop. Anyone have evidence to the contrary? -
All Core Duos except the T2300E already include virtualization support, but installing Xen is not for the faint of heart...
About battery life, it's exactly the same if you have powernowd installed and running. At least on the 25+ laptops I've seen or used here in my college. -
That said, I believe the performance hit of a virtualized OS is relatively small on systems that make use of the virtualization hardware on supported CPU's. (Btw, doesn't Core Dui support that too? I'm pretty sure it does)
How did you test it, how were the laptops used during the test, and what exactly where the results? -
"Performance hit of a virtualized OS"? Using hypervised OSes is hardly a performance hit like a VMWare solution. Take a read at the Xen website since all the info is already there, but other than less memory for either OS, the performance is supposedly near native.
*never used, just researched it...very interested in the technology....no more Cygwin or Wine! -
Xen, without hardware assistance, uses "paravirtualization", not virtualization. I think that when you use the word "hypervised" in this message, and #14, you actually mean "paravirtualized". In #16, I think you use "hypervising" to mean "virtualizing" (as opposed to "paravirtualizing").
Hardware assistance means: Intel's VT (on some P4 processors and most Core processors) or AMD's Pacifica (not yet available AFAIK).
Paravirtualization requires that the guest OS have special provisions for running as a guest. No version of MS Windows has been released with those provisions. This may happen in the future (the Xen people, when at Cambridge, were sponsored by MS and had an in-house hacked version of MS Windows, but they were unable to release it).
So unless you have a machine with VT, you cannot run MS Windows under Xen.
You can run MS Windows under VMware.
I've never run any of these tools, but am interested. Other factoids that I've gathered:
- Red Hat does not think Xen is quite ready for prime time; SuSE does
- the kernel folks are upset at Xen and VMware for not converging on a common set of kernel patches. Until there is a common set, they won't get mainlined.
- Xen currently requires a strict partitioning of real memory: sharing between machines is not dynamic. This would seem like a big hit to me. "Baloon" techniques + memory hotplug may fix this.
- Even though you can run a stock OS with Xen+VT or with VMware, the virtual devices presented to the guest OS are unlikely to be the same devices as on the real hardware. So the drivers will be different. So you probably cannot run a bootable partition as a guest (unless that OS does dynamic device detection sufficiently well). The piracy protection in WinXP probably makes that impossible.
- Xen is open source. Several versions of are VMware is free-as-in-beer. If you want to run MS Windows, you might not care about the difference (I do).
- the details are complicated. Both VMware and Xen often leave the techical details aside to make marketing points. So it is fairly hard to figure out the negative issues with each tool.
-
We had been using Core Duos as our point of reference so hypervising is available. This is the main reason I'd be interested in it. However, it doesn't sound like Xen runs stable with Windows hypervised yet.
-
Note: that is only possible on CPU's that offer virtualization support like most Core Duo, all Turion X2, it seems all AM2 AMD cpus, some of the P4 cpus (but who wants these). -
Personally, on the safe side, VMware v5.x is best. It really makes a whole lot of difference running muliple virtuals with the help of dual core.
Although my company chose Virtual PC as the corporate standard primarily because it was cheaper (at the time it cost money), our users however still prefer VMware and are willing to pay extra for the sake of speed and stability.
There is however one thing that Virtual PC shines over VMware: back your physical system using Symantec Ghost and restore it within the VPC virtual machine, the VM runs perfectly without any BSoD. This is extremely useful for testing application compabilities. VMware on the other hand requires VMware P2V Assistant for conversion. This conversion takes quite a long time and the software cost an arm and a leg. As if those was bad enough, the conversion does not always work. In fact, it bombs most of the time...
The Virtualization Thread
Discussion in 'Linux Compatibility and Software' started by jeffsmythe, Jul 20, 2006.