What are the different ways of running linux on a windows machine and their advantages? I have windows7 currently installed on a dell laptop. I want to use linux for development of rails. I have seen that there are a lot options like running directly from usb or cd, installing it, running it on a virtual box etc... . I will be using linux very frequently. Speed is one of my main concerns. What is a good way of going about it for my purposes?

FINAL OPINION: After using wubi for sometime i found that at times it get's stuck which is very frustrating and speed goes down at times.It might be a case just with me.After these incidents i have shifted to dual booting windows and ubuntu.Ubuntu is running great at the moment.Although it took sometime to partition the disk it was worth the pain.

link|improve this question

75% accept rate
1  
feedback

migrated from stackoverflow.com Feb 13 '11 at 10:34

This question came from our site for professional and enthusiast programmers.

7 Answers

up vote 12 down vote accepted

There are several possibilities with differences in speed and "desktop integration". It also depends on which distribution you want to run and which ressources you want to allocate. In some subjectice order of "geekiness":

1) Run Linux from Live CD, or USB This option will need no changes on your harddisk, but I would not start doing developement with a Live CD solution, except maybe with really specialised distros (my personal favorite (1)) .

2) Dual (or Multi) Boot setup / Linux Partitions This is the setup where you can reach native speed. I would recommend Grub4Dos bootloader(2). Disadvantage: You have to repartition the harddisk, which might be difficult with some newer default setups (i.e. where all 4 primary partitions are occupied by Windows)

3) "Wubi" like installs (Linux on Windows partition) Wubi (3) is the best known application, but there are other possibilities to install Linux on a Windows machine without the need to repartition the hard disk. Advantage: You need not touch your original Partition setup, almost no performance penalty. Disadvantage: No direct interaction with the windows desktop (like options 1,2).

4) Virtualisation: Either use VMware, Virtualbox or Qemu-KVM. There is a small performance overhead, but it is usually in the range of just 5%. Desktop integration with windows is usually good, although with some remaining quirks. Using Virtualisation is a safe option, but there is an additional learning curve in the setup (allocating virtual diskspace, virtual RAM and network setup)

5) Colinux (e.g. andLinux) This gives nice desktop integration, because Linux runs under the Windows Desktop environment using a Xming-Server . There is a performance overhead - I benchmarked 10% -50%, although File I/O is noticable slow. If you use andLinux (4) there is an "exe Installer", which makes installation easy. Advantage: Good Desktop Integration with Windows. Disadvantage: noticable performance hit, only available for 32-Bit Windows.

6) Cygwin Probably not what you want, but mentioned for completeness. It is a Linux like environment running under Windows. (5)

There are many ways to run Linux alongside Window. For me personally the fastest way to get Linux running on Windows is to use a Grub4dos dual-boot exe installer like described here (Type 3 - Wubi like installs). I am sure you find the way which best fits you.

(This links were rejected by the spam protection) (1): www.puppylinux.com/ (2): gna.org/projects/grub4dos/ (3): www.ubuntu.com/desktop/get-ubuntu/windows-installer (4): www.andlinux.org (5): www.cygwin.com/

link|improve this answer
1  
Thanks for the great answer.I have gone with wubi. – rogerstone Feb 15 '11 at 18:32
Actually dual booting does not require repartitioning and in fact repartitioning does not make much economic sense nor is it advisable with respect to risk. I opted to use Grub2 to boot my old Windows 7 physical drive and a new Ubuntu physical drive. For the price of a new hard drive, I reduce risks, eliminate any potential performance penalty of an alternative approach, and avoid potential bugs in emulation and virtualization. – broiyan Jul 31 '11 at 6:57
feedback

I recommend you to use wubi.

Wubi is an officially supported Ubuntu installer for Windows users. It can install and uninstall Ubuntu in the same way as any other Windows application. It's simple and safe.

Peformance loss using wubi is really low - maybe - 2-3% percent of disk access speed.

If you want install linux in VirtualBox/VmWare I suggest you to use VirtualBox, because it has OpenGL driver for linux guests.

link|improve this answer
Thanks,I have opted for wubi. – rogerstone Feb 15 '11 at 18:31
feedback

If you have some space left on your partition I would suggest that you repartition and create a volume for your future linux installation. Linux will install grub (a boot manager) and you can access linux and your "old" Windows7 installation.

VirtualBox is also an option. Has the benefit that you can switch immediately between both operating systems without a reboot.

Still for personal reason I would prefer the first option. Depends on how much you want to stick to Windows7.

link|improve this answer
feedback

I think using a virtual machine like virtual box is the fastest and easiest solution. specially if you want to use distributions like ubuntu that is fully supported. http://www.virtualbox.org/wiki/Guest_OSes and as it is safe. also if the down time of the workstation is important for you with virtual box you don't have to reset your pc.

link|improve this answer
feedback

Dual-boot. Less of a problem that way. The thing is whether you want the Linux boot loader or Windows boot manager. Check out this link

link|improve this answer
People have already suggested dual-booting. Just giving an external link is not helpful. Please edit your post with a bit more information about why this alternative method might be useful, and include some of the info here instead of just giving a link. – nhinkle May 15 '11 at 22:09
feedback

VMware Workstation/Player + Unity = Love. It works the other way around too. Unity will integrate your Guest windows into your Host desktop as well as provide launcher to run Guest applications from the Host. Unity consists of equivalent functionality of VMware Fusion for Mac for other types of Guest and Hosts.

Though is installing a choice or do you want to run linux inside windows like your title says? Because if installing is a choice, then you should go with that one since no other alternative would beat that at speed and usability. Another important factor is your experience with Linux, if you have none, then you might be better running in a contained environment(virtual machines) and then move on to native install once you're ready. But if you just want to run Linux on Windows to do your stuff and nothing more, then i'd go with VMware + Unity.

link|improve this answer
Ubuntu in VirtualBox is noticebly faster then in VMware, because of OpenGL accelerated graphics. – gor Feb 13 '11 at 10:30
feedback

Solutions

  • Dual boot, create a separate disk partitiion for Linux. Choose OS at boot.
    • I believe Wubi is a variation on this?
  • Virtual Machine,
    • Linux as Guest OS under Windows as host OS
    • Windows as guest OS under Linux as Host OS
    • Windows and Linux as Guest OS under bare-metal hypervisor (e.g. VMware ESX)
  • Linux as a Win32 application (e.g. andLinux)

andLinux

andLinux "is a complete Ubuntu Linux system running seamlessly in Windows 2000 based systems (2000, XP, 2003, Vista, 7; 32-bit versions only).

andLinux uses [...] a port of the Linux kernel to Windows. Although this technology is a bit like running Linux in a virtual machine, [it] differs itself by being more of a merger of Windows and the Linux kernel and not an emulated PC, making it more efficient.

[...] andLinux is not just for development and runs almost all Linux applications without modification."

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.