Any way to run Linux as a Virtual Machine on top of Windows so can have best of both worlds?
Solution 1:
Lots of options here:
Tools Only
If you just want the GNU/Linux tools, there are a few choices.
- cygwin gives you a bash shell with lots of tools, including an X11 server. This has been around awhile and is mature.
- msys is a smaller, lightweight alternative to cygwin.
- GNU utilities for Win32 is another lightweight alternative. These are native versions of the tools, as opposed to cygwin which requires a cygwin DLL to fake out its tools into thinking they are running on Linux.
- UWIN is a set of Unix tools/libraries from ATT Research that run on Windows.
- SUA is Microsoft's Subsystem for UNIX-based Applications, offering a tools and an environment for building/running Unix programs under Windows.
Linux in a Windows Process
There are several packages that will run Linux as a Windows process, without simulating an entire PC as virtualization does. They use Cooperative Linux, a.k.a. coLinux, which is limited to 32-bit systems. These don't have the overhead of virtualizing, and they start up faster since you're not booting a virtual PC. This is a little more on the experimental side and may not be as stable as some of the virtualization options.
- Portable Ubuntu
- andLinux
Virtualization
Virtualization software lets you boot up another OS in a virtual PC, one that shares hardware with the host OS. This is pretty tried-and-true. There are nice options here for taking snapshots of your Virtual PC in a particular state, suspend/resume a virtual PC, etc. It's nice to be able to experiment with a virtual PC, add a few packages, then revert to a previous snapshot and "start clean".
- VMWare
- VirtualBox
- VirtualPC
Dual Booting
- wubi allows you to install Ubuntu right from Windows, then dual-boot. Not as convenient as the above, since you can't run both OS's at once.
Solution 2:
It looks like VirtualBox runs on Windows, which should have decent Linux support. Virtual PC, as far as I know, does not offer very good Linux integration.
If you're just looking for the regular set of command line tools, you might look at cygwin. A lot of the goodness without the overhead of maintaining a separate system.
Solution 3:
An alternative to a virtual machine (meaning it can share RAM with Windows) is Portable Ubuntu, which runs Ubuntu as a Windows app. It's one of the niftiest ways to get the best of both. I can't post a link because I'm a new user here. The domain is: portableubuntu.demonccc.cloudius.com.ar
Solution 4:
Maybe andLinux would be interesting?
From andlinux.org:
andLinux is a complete Ubuntu Linux system running seamlessly in Windows 2000 based systems (2000, XP, 2003, Vista, 7; 32-bit versions only).
Solution 5:
You can use cygwin if you just want the tools.
You can use VirtualPC software to mount any Linux.
There are a few distros that install on top of Windows like phat linux
Many useful linux utils (including bash) have been ported to native win32 (unix utils).