How to Use Bash on Windows 10

Recently, Microsoft came out at their yearly Build conference and stated that they’re bringing the Bash shell to Windows 10 with the help of Linux developer Canonical. This news has struck a chord in not only the Windows community but the Linux community as well. Everyone wants to know what it’s like, how to get it and why it exists.

That’s why we’ve created this: it’s a guide on exactly how you can get Bash working on your Windows 10 installation today. It’s a fairly tedious process, but if you’re a geek, you might want to give this one a go.

Note: Bash on Ubuntu on Windows (the Windows subsystem for Linux) only supports the 64-bit version of Windows. If you use any other version, this method will not work.

Before you can try out the new Windows subsystem for Linux on Windows 10, you’ll need to join the Windows insider program (if you haven’t already). This can be done by visiting this page, and creating an account.

bash-windows-10-windows-insider-program

Be sure to read anything and everything Microsoft has on these pages in relation to the Insider program, as there may be other things that interest you besides just the new Linux subsystem.

Now that you’ve joined the Insider program, it’s time to sign in. Open the Start menu, and start typing “settings.” You should see the system settings icon show up. Click on it to launch it.

Once you’re in Settings, use the search box and type “Advanced Windows Update Options,” and then click on it to go there. Inside this Advanced options area, scroll down and look for “Get Insider Preview builds,” and click the “Get started” button.

bash-windows-10-choose-account

You’ll be prompted to sign in to your Microsoft account. Do so. After that, you’ll notice a slider appear. Drag this slider all the way to the far right.

bash-windows-10-insider-update-slider

With Insider enabled, it’s time to enable something else: Developer mode. Open the Start menu and start searching for “developer mode.” You’ll notice something appear called “For developers settings.” Click on it.

bash-windows-10-developer-mode

Now that you’re inside the “For Developers” area, click the radio button next to “Developer mode.” This will enable your Windows 10 machine to use the latest development features. After the setting is clicked, close the window.

Now that all of the prerequisites have been met, it’s time to actually install the ability to use the Windows subsystem for Linux . Open the Start menu and start searching for “Check for updates.” After that, click on an icon with “Check for updates” next to it.

bash-windows-10-check-for-updates

This will launch the Windows Updates area. Inside this update area, click the “check for updates” button to start the update process. Once clicked, Windows 10 will go out and get all of the latest development patches and get them ready to install.

When the downloading is complete, restart your PC to install the updates.

Now that your PC has been rebooted and the updates installed, it’s time to enable the Bash feature. Go to the Start menu and start searching for “features.” This will return a few results. Look for the “Turn Windows features on or off” result and click on it to launch the window.

bash-windows-10-turn-on-features

Inside the Windows Feature window, scroll all the way to the bottom and look for “Windows subsystem for Linux (beta).” Once there, just check the box. This will enable the new Bash feature. After that just reboot your machine and call it good.

bash-windows-10-bash-on-ubuntu-on-windows

Bash can be launched easily. Just open the Start menu, and search for “Bash.” This will return “Bash on Ubuntu on Windows” as a result. Launch it. From here you’ll be prompted to download some things as well as accept a license agreement. Do it and you’ll be set to use the new subsystem.

bash-windows-10-install-ubuntu

Inside this shell, you’ll be able to run basically any Linux binary, install programs and use just about every Bash-related thing you can think of.

A Linux subsystem on Windows. What a time to be alive! With Microsoft and Canonical coming together, there is most certainly some huge potential coming in the future. Support for Docker on Windows server? Installing alternative Desktop environments on Windows? Using first-class Linux tools right in Windows? The possibilities are endless!

Linux and Windows users: How do you feel about Bash on Windows? Do you think it’s a good decision or a bad decision? Tell us below!

Image credit: andremachado.blog.br

9 comments

  1. And what, precisely, is the advantage of this system over installing VirtualBox in Windows, and then installing and running any Linux distro you like? AFAIK there are no GUI or other graphical capabilities, so it would seem that you’re limited to installing, or compiling and running, console programs.

    I was hoping that your article would enlighten me, but unfortunately not. I would be grateful if someone would please point out to me what this feature does that Linux in VirtualBox doesn’t.

    Just occurred to me – it’s not a good idea to Bash Windows. (Sorry about that).

    Incidentally, this feature is only available in the latest update of the Insider Preview, Build 14316, so if you’ve installed from the latest ISO you may need to wait some time before the update is made available.

  2. “what this feature does that Linux in VirtualBox doesn’t”

    It runs natively, not through a VM. Thats what it does that Linux in VirtualBox doesnt.

  3. “Is Cygwin the same thing?”

    I was honestly going to say no, but it actually seems like it may work similar to Cygwin. Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment.. The issue comes up when you try and compile some linux assembly. It requires the win flag, which compiles it for Windows, not linux. So even though Cygwin may ‘look’ like *Nix, its not really. So the Windows ‘version’ of this could work the same way. The best way to tell is to compile some assembly and see what flag it expects. Youll either compile linux code using elf or windows code using win32.

  4. OK. So what does that do for us, exactly? Can we use it to compile and run a useful GUI program on Windows? Er – no. On Linux? Er – no. So what can we do with it? Give me an example, with code that I can compile and run, even if just a few lines, and I’ll be convinced.

  5. There are some good reasons for having this over cygwin or a VM:

    1. It runs natively in Windows, so it will be supported by MS and Canonical
    2. You can now use BASH commands in a Windows environment, so the commands you’re used to in Linux can now be used in Windows 10
    3. If you don’t want to use Powershell for tasks, you don’t have to (although I kind of like it now)
    4. It’s optional – you don’t have to use it if you don’t want to

    So, if you’re already running a VM, you get graphics and everything else. If you want to use grep/sed/awk natively in Windows, you can do that and know that it’s supported by MS.

    My question is, can you run rm -rf /* and have it wipe out your entire C: drive?

  6. Hello to all ,

    First of all I want to say that this is only for laughing …!! Reading this post made me L.O.L..!!! This can’t be happening I said…!!
    This move by microsoft disturbing is. !!! Xmmmmm . The rumors are true then: Microsoft want’s to devour Linux..!! She want’s to take the code peace by peace , work on it and then close the code as she always dose..!!! No more open source to the people and only one OS world wide…
    You will tell me that these are conspiracy theories but I will remind you (some of you are old) the luck of Novel and Citryx.
    Anyway , a hybrid OS is not in my interest at all. I do not like them at all..!! Unfortunately there is a part of sub-coding on every Linux called “wine” more like a new platform for supporting Windows but it is still on it’s baby steps , thank God for it. !!!!
    For “Wine” I was negative at the beginning of it existence BUT some people in the community wanted to make a bridge giving more flexibility to Linux sacrificing the SECURITY of Linux…!! I do not want to say more and anyone who read this would understand a lot.!!!!

Comments are closed.

Sponsored Stories