Bash on Ubuntu on Windows – Download Now!


At //Build 2016, Microsoft announced the ability to run native Bash and GNU/Linux command-line tools directly on the new Windows Subsystem for Linux (WSL), coming soon to Windows 10 Anniversary Update builds.

We’ve been amazed by the overwhelming outpouring of interest about this new feature over the last week. One of the most frequent questions we’re asked is “When can I get my hands on Bash on Ubuntu on Windows?

We’ve held-off giving a date until we were 100% sure it’s available … but that date is NOW!

Gabe Aul has just announced the release of the Windows 10 build #14316 to the Windows Insiders Fast-Ring.

This build contains the first public release of Bash on Ubuntu on Windows and the underlying Windows Subsystem for Linux.

Installing Bash on Ubuntu on Windows

Important: To run Bash/WSL, you must be running a 64-bit version of Windows 10 on a 64-bit PC. If you do NOT see “Windows Subsystem for Linux” listed in the optional features, you are likely not running a 64-bit version of Windows 10, or are running a build of Windows 10 prior to #14316.

Once you’re upgraded to this new build, you’ll need to complete the installation steps summarized below:

  1. Turn on Developer Mode: Settings | Update & Security | For Developers | Check the Developer Mode radio button:
    1-DevMode
  2. From the start menu, open “Turn Windows Features on or off”:
    2-features
  3. Scroll down and check the “Windows Subsystem for Linux (Beta)” feature:
    3-WSL
  4. Hit okay and reboot (required step)
  5. Once rebooted, open a PowerShell/command prompt and run “Bash” and follow the simple prompts to accept Canonical’s license and kick-off the download of the Ubuntu image:
    4-ubuntu
  6. After download has completed, you’ll be able to start “Bash on Ubuntu on Windows” from the Start menu:
    5-startbash6-bash

Enjoy!

Related Release Notes

  • As we’ve repeatedly stated, this is the first time we’ve released this feature and we knowthere will be issues – be sure to share your feedback via the channels below
  • We do know of an issue that crashes settings if you’re running Windows 10 “N” SKU’s – we’re working on a fix for this problem in future builds
  • In this build, Bash will show you running under the ‘root’ Linux user account
    • This does NOT give Bash elevated permissions within Windows, unless you run Bash as Administrator
    • This means that, by default, from within Bash, you will only have access to Windows files and folders that your current Windows user account has rights to
    • In future builds, you’ll be asked to create a user account when installing Bash. You’ll then be able to use sudo to elevate your rights within the Linux filesystem/environment

Share Your Feedback

We can’t wait to hear your feedback – please be sure to share your thoughts via the channels below:

  • Issues: Please post issues to our GitHub issues project.  If you’re not familiar with using/writing GitHub issues, please read this guide
  • Ideas/Asks: Please upvote/add ideas, asks, etc. to our UserVoice forum
  • Anything else, feel free to ping @richturn_ms on Twitter

Comments (423)

  1. R says:

    Great job! I hope that it stimulates people to get rid of Windows entirely!

    1. Rich Turner [MSFT] says:

      Errmm … how, exactly, will adding a Linux-compatible command-line environment running on Windows “get rid of Windows”?

      1. Vasily Bezruchkin says:

        That was a sarcasm, I guess 🙂 Failed one.
        Cool feature, thanks!

      2. Alan Doe says:

        I would say (s)he mean that more people (lower learning curve) are now tempted to take the step into the bash world and understand it’s benefits. Therefore, within time, people will make a statement that Windows to be superfluous. A completely false statement, no matter how you twist and turn it.

      3. Ludovic says:

        Haters gonna hate …

    2. Anonymous Critique says:

      This is logically stupid answer even from POSIX Subsystem and W32 Subsystem, This feature is a “bridge” for that 2 very different world! This feature WILL strengthen those 2 world and someday, *NIX family will have “FULLY COMMERCIAL APPLICATIONS LIKE DEVELOPER ON WINDOWS DID” and thus, make OSS family collapse sometimes in the future (if this feature success)

      Come on Open Source! Be interactive and creative! Don’t let everything must done with a fees!

      1. Fees? What fees? This is a free update to Windows 10. Which you likely got as a free update to Windows 7/8.

        There is no way that Microsoft adding the ability to run *NIX apps on Windows is going to cause the open-source world to collapse, nor would we want it to. You might have noticed that Microsoft has open-sourced a HUGE array of technology of late.

        There are challenges with open-sourcing something like WSL that is built deeply into the Windows kernel and requires a complex build system and sophisticated signing and security infrastructure to even allow it to run.

        1. John Donne says:

          And what about free software community? Do you care about that?

          1. Absolutely – the Windows 10 Anniversary Update is a free upgrade to a free OS release (Windows 10) which one can upgrade to for free from Windows 7 or 8 which most people receive “for free” (i.e. included in the price) when they bought their PC.

          2. xle says:

            Why is Windows 10 free? Afaik you had to by after July ’16

          3. Windows 10 Anniversary Update is a free upgrade for existing Windows 10 users. If you want to get Windows 10 Anniversary Update for free, and you’re not already running Windows 10, now might be a good time to upgrade 🙂

    3. Nick says:

      On the contrary, it will encourage (some) Linux users to switch to Windows, because they know that they can now use it for most of their Linux work. Personally, I think that being able to game while I sync gigabytes of Android source code is exciting!

  2. Joe says:

    Just tried to install on Windows 10 and Windows Subsystem for Linux (Beta) does not show up. I’m fully updated and also restarted but still nothing.

    1. Kyle says:

      Joe ~
      You’ll need to be a Windows Insider to get the update, and you’ll need to have Insider Preview updates set to Fast.

  3. Benjamin Lim says:

    What is Microsoft’s direction for the /r/n file termination convention used by Windows? Since Linux uses the /n convention, will we have to dos2unix and unix2dos files before we can process files created on the other subsystem?

    1. Rich Turner [MSFT] says:

      Apps will save whatever data they want to. Windows apps tend to encode newlines as \r\n. Linux apps tend to encode newlines as \n. It’s not an OS decision.

      1. Bret Johnson says:

        Still, it’d be great to see important parts of Windows itself, like notepad, support reading files with \n line endings. It’d also be nice to see the Visual Studio setting to write files with \n line endings not be so buried. Until that happens I think many people will continue to think of Windows as not really supporting \n line endings. But I’d love to see us move in the direction of standardizing on \n line endings for developers–because the world would be a better place if that arbitrary difference between Windows and Linux went away.

        1. Rich Turner [MSFT] says:

          Some will also look forward to the day that *NIX supports \r\n line endings 😉

          That this standardization hasn’t happened after 40+ years leaves me with little confidence that we’ll see any widespread standardization.

          This said, yes, there are many editors etc. that support both forms of line endings, and yes, it’d be great if Microsoft would update Notepad to be more intelligent on this front.

          1. Resuna says:

            What is the advantage you see in using two characters for line termination? That’s a leftover from DEC operating systems and FORTRAN carriage control on printing terminals. What other meaning does Microsoft reserve for an unattended “newline” that makes it in any way desirable to require a carriage return as well?

          2. Rich Turner [MSFT] says:

            The separation of CR and LF goes way back before Dec – one of the first appearances was in Baudot Code at the turn of the century. https://en.wikipedia.org/wiki/Carriage_return

            I’m certainly not advocating for it, but there’s a historical reason it’s there and as with many things which are long-established, it’s hard to change. Even if we updated Notepad to handle \n only, there are millions of apps out there that will still expect CRLF.

          3. David Mott says:

            IMO *nix has had it wrong from the beginning. CR positions the cursor at the beginning of the line and LF starts a new line. Formatting gets screwed up if both commands aren’t done. *nix infers a CR when an LF is encountered which is not always desirable.

      2. Andrew T. Finnell says:

        Is the Source to this Feature available? The comment about bash returning ‘root’ after ‘whoami’ makes me think that this isn’t really bringing POSIX to Windows. Rather it’s doing what Hyper-V does under the covers. Is this really a Micro Ubuntu VM running on Windows using part of Windows Hyper-V? If so, then this isn’t as great as I thought it was.

        There isn’t any reason why the NTFS file-system cannot support the Unix Permission model in addition to allowing the internal NTLM accounts to be used within Bash. It would be a great shame if we had to manage two separate accounts, one for windows and one for Bash on Ubuntu on Windows. I guess even the name answers my original question. This isn’t really Bash on Windows is it? (Sad Face)

        I completely understand the power of virtualization and why bringing in the kernel of linux into Windows would be powerful. But if you’re going to do this go all the way. Don’t make it so that it’s a ‘layer’ on top of Windows. The moment we have to create a new ‘account’ inside of Bash, it’s all broken.

        Bring over the Linux Filesystems. Bring over the Unix Permission model which will work just fine on a NTFS volume. And FAT32 volumes don’t have any real permissions anyways so everything is either User or Admin at that point.

        Also, if you run Bash on Ubuntu on Windows AFTER the User situation is fixed and then perform a sudo command, will it only work if you ran Bash on Ubuntu on Windows as Administrator? If so then that means it ALWAYS has to be ran as Administrator, which in turn means that Micro VM has permission to do whatever it wants to the entire system thus defeating the purpose of the sudo command to begin with.

        Integrate the linux user model into the nt user model and these issues no longer exist. NFS will work. PAM will work. The Windows NT kernel can support all of this.

        What happens if a User launches a Windows native application from the Bash shell? Which permissions does it inherit? Can it even launch Windows Native applications? If it cannot then how is it better then Mingw32 or Cygwin?

        I think quite a bit of these questions can be answered if we are able to see the source to this feature. This is an amazing feature and I will love it. It an be so much more though if we can bring the POSIX headers and compatible source over to Windows. Then we can have native applications for everything, including Bash instead of what I believe is a small Ubuntu VM running on Windows 10.

        Also, does this Feature require/enforce Hyper-V to be enabled? If so then it will destroy the use of Virtual Box and Docker.

        1. So many questions 😉

          To answer your uber-question, yes, this is genuine unmodified /bin/bash running atop the Windows Kernel. I encourage you to read/watch these posts/videos to get a better understanding of how all this stuff works.

          No, the source is not available. Most of the interesting stuff is deep in the Windows Kernel and is very Windows kernel specific.

          No, this has nothing to do with Hyper-V and does not employ VM’s. Read and watch the above posts/videos for deeper technical understanding.

          Many *NIX concepts are dealt with very differently to how Windows handles them. A good example is file permissions and ACL’s which are described well in this UNIX StackExchange reply. Since Windows has no notion of *NUX filesystem permissions/ACL’s we have to do extra work to store & manage the appropriate permissions for each file and folder in the *NIX compatible side of the filesystem. Again, review posts/videos linked above – there’s a detailed discussion of how the filesystem works.

          Again, no, there are no VM’s at play here. You don’t even have to enable Hyper-V! You’re making a lot of incorrect assumptions. Please review the learning materials linked to above.

          sudo only elevates the user’s permissions within the Linux side of the filesystem – it does not elevate the user’s permissions when interacting with the mounted Windows filesystem (e.g. /mnt/c/Windows). If you want to do crazy things in the Windows filesystem from within Bash, you’ll have to run Bash as Administrator

          Right now, you cannot launch Windows processes from within Bash. We’re considering this for a future release.

          Bash/WSL differs from Cygwin in that Bash/WSL can run unmodified Linux ELF64 binaries natively.

          To fully understand the Bash/WSL source, you’ll need a pretty comprehensive understanding of the deep internal workings of the Windows Kernel & its source

          Why can you not bring POSIX-compatible headers and source to Windows? Yesterday, I cloned the source of Redis and built and ran it on my Bash/WSL instance, in front of a room full of people, in just a few minutes.

          “instead of what I believe is a small Ubuntu VM running on Windows 10” … again, NO VM’S ARE USED IN THIS FEATURE, and, NO, you do NOT need Hyper-V to be enabled to use Bash/WSL

          1. WesStrueb says:

            I have one more really stupid question, but I can’t find the answer. I have Windows 10 Home, was not an insider, and so didn’t get build 14316. Will the anniversary build include ubuntu/linux/bash? I’d really like to play with (worked with *nix in several incarnations at various times of my working life and mostly enjoyed using them. Is Microsoft going to let us homers play, too?

          2. Yes, all x64 client SKU’s of Windows 10 AU will include Bash on Ubuntu on Windows / Windows Subsystem for Linux.

  4. vbdotnet says:

    YAYYYYY

  5. Saucisson says:

    I tried to follow the steps, but when i reach the “Turn Windows Features on or off” list, but “Windows Subsystem for Linux (Beta)” is not in the list :'(

    1. Rich Turner [MSFT] says:

      You must be running an x64 version of Windows.

      1. Maarten says:

        I am running a 32-bit version of build 14316, I have Developer Mode selected, but WSL is _not_ shown in Windows Features.

        What can I do debug this?

        1. You need an x64 CPU & OS to run Bash on Ubuntu on Windows.

        2. You need to be running an x64 OS & CPU.

      2. Nick Anderson says:

        You need a 32 bit system/windows install for this to work?

        1. No – you need a 64-bit x64 version.

      3. José says:

        Hey Rich Turner, do you know if there will be an x89 bash version? (sorry for my bad english)

        1. Sorry. No plans for x86 support – x64 only.

      4. Saucisson says:

        I am. But i think it’s because i’m not using the most recent windows build, even if i’ve the Insider Preview enabled. Is there a way to trigger a build update ?

        1. Saucisson says:

          Ok i just checked, i’ve the “Windows 10 Insider Preview 14316.” so i should have “Windows Subsystem for Linux (Beta)” in the list, but i don’t.

          1. Bobaker says:

            You need to enable developper mode!

          2. bobby says:

            do you have developer mode turned on, you turn that on first, then add the feature, then install bash in that order.

    2. sd551 says:

      Same problem is with me too. Yes I am running x86 version of Windows 10

      1. Sorry – we don’t support x86 – you’ll need an x64 OS & CPU.

      2. Sorry – you need to be running an x64 OS & CPU.

  6. Jesse Laukkanen says:

    One word, thank you Microsoft thank you thank you…

  7. Cats and dogs, guys! This is just incredible. So many huge leaps forward for Microsoft, I’m really liking the direction the company is going and these shifts and efforts have definitely made it highly relevant to me again.

    1. Alain Abrahan says:

      Totally agree with you!!!

  8. Thomas Lee says:

    This is awesome. Just blogged the installation (http://tfl09.blogspot.co.uk/2016/04/installing-bash-on-windows-10.html). It was pretty seamless.

    Now comes the big test – actually using it. I need a crash conversion course! 🙂

  9. Maxim Kochetkov says:

    Cannot instal it with russian language. Instead of “Type “y” to continue:” there are: “Type “?” to continue:” y, Y, д, Д is not working

    1. Sorry about that – we’re working on a fix as I type!

  10. Kirill Pletnev says:

    Have some issues with this. Here is what i get:

    C:\Users\pwned>bash
    — Beta feature —
    This will install Ubuntu on Windows, distributed by Canonical
    and licensed under its terms available here:
    https://aka.ms/uowterms

    Type “?” to continue: ?
    ????? ??????????, ????????? ????????. ??????????? ?????…
    How i can fix it? Thank you

  11. sqc1999 says:

    I can not connect to netowrk.

    1. Rich Turner [MSFT] says:

      For everyone having network issues, bear with us – we’re aware and are diagnosing now.

      1. Anders says:

        # ifconfig
        Warning: cannot open /proc/net/dev (No such file or directory). Limited output.

        ping 192.168.1.1
        ping: icmp open socket: Socket type not supported

        ~# nslookup
        socket.c:2447: setsockopt(20, SO_TIMESTAMP) failed: Invalid argument
        socket.c:1915: internal_send: 127.0.0.1#53: Invalid argument
        socket.c:2447: setsockopt(21, SO_TIMESTAMP) failed: Invalid argument
        socket.c:2476: setsockopt(21, IPV6_RECVPKTINFO) failed: Invalid argument
        socket.c:1915: internal_send: ::1#53: Invalid argument
        socket.c:1915: internal_send: 127.0.0.1#53: Invalid argument
        socket.c:1915: internal_send: ::1#53: Invalid argument
        socket.c:1915: internal_send: 127.0.0.1#53: Invalid argument
        socket.c:1915: internal_send: ::1#53: Invalid argument
        ;; connection timed out; no servers could be reached

        1. We are working on adding ICMP support.

      2. Rob says:

        Rich, it appears that /etc/resolv.conf stays empty if Windows is set to obtain DNS automatically. I have apt-get working properly now by adding Google’s DNS servers to resolv.conf manually with the following lines:

        nameserver 8.8.8.8
        nameserver 8.8.4.4

        1. Rich Turner [MSFT] says:

          Thanks for the update Rob. Yes, we’re getting reports of issues with resolv.conf and are working on diagnosing and then figuring out a work-around and a fix. Bear with us.

        2. James Rome says:

          And the system keeps changing resolv.conf back to its old version by itself:
          root@localhost:/# cat /etc/resolv.conf
          nameserver 2001:558:feed::1
          nameserver 2001:558:feed::2
          nameserver 75.75.75.75
          nameserver 8.8.8.8
          nameserver fec0:0:0:ffff::1
          nameserver fec0:0:0:ffff::2
          nameserver fec0:0:0:ffff::3

          1. Rich Turner [MSFT] says:

            This is the issue we’re working on. Please bear with us.

          2. Jacqueline says:

            Hey guys, as the link in the article says: issues are reported: https://github.com/Microsoft/BashOnWindows/issues. Lots of issues are reported already. However the issues, I still want to thank the team for this step forwards! Great work!

          3. vyacheslav emelin says:

            Seems like the top command is not supported yet either but great work so far guys!

          4. vyacheslav emelin says:

            Midnight commander (mc) also has some bugs in navigating the gui. Using the arrow keys does not seem to function. Can you please look into this?
            Installed via apt-get install mc

          5. Rich Turner [MSFT] says:

            We are aware of keyboard/cursor issues in mc and are working on a fix. Bear with us 🙂

          6. Carl Caulkett says:

            You could always try Last File Manager . The cursor keys work in that. “sudo apt-get install lfm”

          7. Rich Turner [MSFT] says:

            Yes, we mentioned that top isn’t working in this first build during our //Build intro video. Both top and htop are working better in current internal builds with more fixes on the way that should improve things further.

        3. Adrian Vladu says:

          Adding nameservers worked for me also

    2. Rob Peters says:

      Just wanted to add that the following does not work:
      ifconfig
      apt-get install/update/upgrade

      ping a host:
      when issuing ‘ping http://www.google.com‘ it takes a long time, and stops
      when issuing ‘ping 172.16.0.1’ it directly says: ‘icmp open socket: Socket type not supported’

      1. Rich Turner [MSFT] says:

        Sorry you’re seeing issues. We are getting reports of issues with DNS resolution and resolv.conf and are working on diagnosing and then figuring out a work-around and a fix. Bear with us.

        1. James Rome says:

          Any workarounds yet?

      2. Nostromov says:

        I understood what it is, but until I saw your CMDs typed-out… Why would anyone have (any) use for this, a program layer to translate Linux commands to the Windows equivalents – and all of the limitations, differences and (possible) incompatibilities that go along with it.

        Sure, as a fun project to -just- play around with something different; but, unless the procedures, software and hardware inputs were to become universal (between the operating systems, which will never happen for practical and other purposes), this is such a waste of time and resources, heh. Still, kinda, cool; but, you know!..;) 🙂

        1. We don’t translate Linux commands into Windows equivalents: We implement POSIX/Linux syscalls on top of the Windows kernel so that you can run unmodified Linux binaries on Windows. This is enormously important to developers working on open-source projects, many of which have hard dependencies on Linux binaries and/or behaviors.

          And, no, this is not just a toy – this is a very real system that already runs a large number of important *NIX tools, and which will run more and more as we fill-out our syscalls implementation.

    3. Alas, we’ll overwrite your resolv.conf every time your network state changes. Bear with us – we’re working on a fix!

  12. yuanfang says:

    I installed bash and it works correctly . But I found bash cannot access network . It seems there is no network devices there. But my windows 10 has network. It drives me crazy .

    1. A fix for this is on the way!

  13. Fred says:

    This is great; really never would have expected it! Keep up the good work 🙂

  14. james says:

    when will it be available? has anyone been able to download it yet?

    1. Rich Turner [MSFT] says:

      Yes- you’ll need to be running an x64 machine and OS, and you’ll need to be signed up for Windows Insiders Fast Ring updates.

    2. KeithZG says:

      I’m *still* unable to download it (the company first-gen Surface Pro on the Insider fast track still blithely insists that there are no updates to be found).

      I really wish Windows Update supported a degree of manual control, or that update files were actually provided that one could manually install. Meanwhile I’m testing the upcoming release of Ubuntu itself and I can just go to a website and download the ISO directly, or run a single command and have my system immediately check the right repo to update in-place. There’s more Windows could adopt from Linux than just a userland subsystem!

      1. Rich Turner [MSFT] says:

        You ARE running an x64 version of Windows, right? Have you seen the update in WU yet?

        1. Toan says:

          Running x64 version of Windows. And, not yet see the update within Windows Update.

          1. Are you signed-up as a Windows insider?

          2. Skyfall says:

            I’m running windows home 10 x64 I’ve set fast update and still i’m not getting anything. Also Windows Subsystem for Linux (Beta) is not listed in features.
            Version of windows:
            http://scr.hu/737j/0jro7

            Build installed:
            http://scr.hu/737j/q57p4

          3. 10586 is a Windows 10 RTM build. You’ll need to be running a 14316+ build to get Bash and many of the new features coming to the Anniversary Update due this summer.

  15. AmorfusUA says:

    When I try to run bash, I see next:

    C:\Users\Amorfus>bash
    — Beta feature —
    This will install Ubuntu on Windows, distributed by Canonical
    and licensed under its terms available here:
    https://aka.ms/uowterms

    Type “?” to continue: y
    ????? ??????????, ????????? ????????. ??????????? ?????…

    C:\Users\Amorfus>

    1. Thanks for reporting. We’re working on a fix for this.

  16. Mike says:

    Being able to select, copy/paste with a mouse would be nice. Of course, I made the same request in 1995 when running CMD.exe on Windows NT Workstation 3.1

    1. Copy and paste with a mouse work fine now (coming soon to a build near you!) 🙂

  17. Vuchkov.biz says:

    Extremely good… 🙂 Congratulations!

  18. Good news… which we prefer 🙂 for sure

  19. shawn says:

    This is not true, you say its available, but the truth is I have set the insider mode 2 days ago and done all the steps properly and the windows subsystem for linux does not show up in windows features.

    When you make an announcement that something is ready for download, you should really make it available for download. Looks to me that you are still the same crappy horrible user experience company you always were and far from catching up.

    1. Rich Turner [MSFT] says:

      Sorry you’re experiencing issues. Please check that your machine has correctly download build #14316. If you’re not yet running this build, be patient – a global rollout and delivery of OS updates sometimes takes a day or two.

      Also check that you’re running an x64 processor and OS – the Windows Subsystem for Linux is only available on 64-bit versions of Windows.

      Please let me know if you’re still experiencing issues.

      1. Maarten says:

        I definitely misread the comment last night and I thought it said one had to have a 32-bit version of Windows! But now it’s clear why it’s not working for me.

        This would obviously have been a very, very good thing to mention in the many 1000’s of mentions about Ubuntu on Windows… That it only works on 64-bit platforms. That’d have saved me a whole lot of headache.

      2. Tiago Espinha says:

        Rich, I’m not the original user but I’m facing the same issue. Set myself to the fast ring as soon as it was announced and still no update 🙁 I really want to try this out and finally ditch MinGW…

      3. Koslun says:

        I am also simply not getting the newest insider preview on either of my machines. Yes, both obviously running 64-bit version. Though I understand that it obviously is a challenge to roll out software on such a large scale, I’d be a bit more sympathetic if there actually was a disclaimer warning that everyone will not get it immediately. At the very least, this blog post would have been a good place for it. Rather than have to dig through the comments to understand that there was not something wrong with either of my setups.

        1. Sorry you’re not seeing the release arrive more quickly, but it is stated in the install guide that “Some hardware/software requirements apply and feature availability may vary by device and market. ”

          I understand that issues like this can be frustrating (one of my own personal machines still isn’t updated!), but it goes with the bleeding-edge territory.

    2. Adrian Vladu says:

      This might be the case of a bug in windows rollouts.
      This fix worked out for me: http://www.askvg.com/fix-windows-10-insider-preview-build-10240-not-appearing-on-windows-update/

    3. Justin Self says:

      It was available for me on the 7th. I downloaded the update and started using bash.

      BTW, there was a lot of shade in that comment of yours.

    4. bobby says:

      Shawn,

      Do you have developer mode turned on, that must be turned on first, this all ready to go, but a lot users it seems still don’t read instructions as they are written.

  20. Anil Muppalla says:

    I updated to this build and tried to install a few packages, somehow apt-get install fails while downloading data from security.ubuntu.com.
    any ideas?

    1. Yep – we have a known issue that we’re working on a fix for. Bear with us!

      1. Kip Obenauf says:

        Loving bash so far. Great job! I am not seeing apt-get though. Is this related to a bug, or do I need to somehow install it?

        1. apt-get is in there – it’s delivered within Ubuntu.

  21. Luv says:

    Hey Rich! I’m on a 64 based OS and processor. I’ve already set my developer mode on and my insider preview build to fast. I have not been able to find Windows Subsystem for Linux (Beta) on the list of windows features to turn on/off. I look forward to your advice as I’m very excited to try it out! Thanks!

    1. Chances are that you’re not yet running a recent insiders build then. You must be running build 14316 or later. Be sure to check that your insiders settings are correct.

  22. Kees Hessels says:

    How do i reinstall the linux in case i really destroy my linux ?

    1. From PowerShell / console:
      lxrun /uninstall [/full] [/y]

      1. Jason Dunbar says:

        Superb – I was looking for this too. Shame it took so long to find it.

        1. Jason Dunbar says:

          Actually I take that back, I didn’t look hard enough: https://msdn.microsoft.com/en-gb/commandline/wsl/faq#how-do-i-fully-uninstall-wsl-

  23. Wonder if there will ever be an option for offline installation of this? Would be nice!

    1. No plans for this yet, but if you’d like to upvote/add your ask to https://aka.ms/winbashuv, we’ll consider in the future.

  24. Kees Hessels says:

    I see that during an apt-get install **fillinprogramname** the downloading sometimes gets stuck.

    1. We have several fixes in the pipe to address some of these networking issues.

  25. Kees Hessels says:

    But really, Super job, who would have thought, you made a lot of devs happy… 🙂

  26. JL says:

    I hope that in future releases you could consider adding an X server to the release, like Apple does in Mac OS X.

    1. No plans to do so anytime soon: We’re focused on delivering a great developer toolset solution at present.

  27. Uday says:

    How do I interact with bash directly?

    Let’s say I run bash.exe (Now on Ubuntu subsystem), do ping 127.0.0.1 on Ubuntu subsystem, and return back to windows after execution automatically i.e. Start execution in Windows do something in Ubuntu and get back to windows!

    1. You interact with Bash via the Bash console/command-line.

      Bash currently has an issue with ICMP that we’re working on fixing, but yes, you should be able to communicate between an app running on WSL and another on Windows via TCP/HTTP (once all remaining related issues are fixed).

  28. Zach says:

    I’ve had settings switched to fast ring since the 6th and still have not received 14316

    Is this normal? Is there a way to expedite the update?

    1. Are you signed-in with the MSA you registered with the Windows insiders program?

  29. Markus Kuhn says:

    The Win32 filesystem API did some cruel things with filenames (e.g. quietly strip trailing spaces and dots, which FAT couldn’t handle), which causes each file to be accessible under nearly infinitely many different names. That complex name ambiguity has caused various path-check security problems (e.g. git/mercurial .config protection, various IIS path-name hacks). Will this DOS-esque filename mangling also happen in the new Windows Subsystem for Linux, or will WSL get more POSIX-style fully transparent filename access (i.e. permit any UTF-8 string that does not contain “\n” or “/” as a filename)? I thought NTFS was quite able of that.

    1. WSL honors Linux filesystem semantics within the Linux portion of the filesystem, and NTFS semantics in /mnt/c/…, etc.

  30. Lupus590 says:

    Any chance of being able to pick the Linux distro which will be providing Bash on Windows?

    1. Not just yet – we’re focusing on making WSL run Ubuntu really well before we start to expand support to other distro’s.

  31. Marc Levesque says:

    Windows Subsystem for Linux (Beta) isn’t showing up in windows add features to windows. perhaps this is only for 64-bit machines. I’m running 32-bit on my development machine

    1. You need to be running an x64 OS & CPU.

  32. bwp says:

    This option is not present in ‘turn windows features on or off’. Please help, this could make windows actually acceptable. Windows is updated and the developer mode is turned on. Pls help.

    1. You have to be running an x64 OS & CPU, and running the build #14316 or later.

    2. You need to be running an x64 OS & CPU.

  33. tin says:

    how can i get “ELF 32-bit LSB executable Intel 80386” running on x64 subsystem?

    1. Sorry! You can’t at this time: We only run ELF64 binaries (screenshot here):

  34. Dawid Per says:

    Great work guys. Most of the stuff I’ve tried work out of the box. Looking forward ditching VM anytime now.

    I’ve been testing some php related stuff and here is a small report:

    php7-fpm – not working as expected
    apache/nginx – nope
    postgres – no

    php7 -cli works just fine
    php7-built in server works just fine
    composer had a little problem downloading bigger projects, lowering socket_timeout helped (60 -> 2 secs), apart from that it’s working just fine.
    php scripts run from console – no problems
    phing works just fine

  35. dazhoop says:

    Odd one …. I am on Fast Ring, running 10.14316 on x64 SurfacePro 3, activated Developer Mode, ticked the Lunix(Beta) box, rebooted but executing either `cmd` or `PowerShell` either as user or administrator, and typing `bash` all I get is either

    bash : The term ‘bash’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check
    the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:1
    + bash

    OR

    ‘bash’ is not recognized as an internal or external command, operable program or batch file.

    Figure some sort of path issue, but not really sure why that would be as I haven’t changed my %PATH%. Any ideas?

    1. Looks like you didn’t add the “Windows Subsystem for Linux” optional feature – if you had, Bash would run.

      1. Alessio says:

        hi Rich, I install win anniversary update, turn-on dev mode and check the windows subsystem for linux option, reboot and type ‘bash’ but still not working. any idea to solve this?

        1. You’re likely either running a 32-bit version of Windows (Bash/WSL requires 64-bit Windows) or you’re not yet running Win10 Anniversary Update.

          1. Martin says:

            I have the same problem, ver reports 14393. Dev mode on, subsystem checked… bash is not recognised

          2. Martin says:

            Apologies, my bad. I wasn’t signed in / up for insider updates. Bash downloading now….

  36. David Dight says:

    I have seen this feature variously referred to as a linux kernel running in user mode eg. https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows/
    But that is not what we have here, right? this is more like a lxc container except system calls are being intercepted and handled by WSL. IMHO I think a better approach is along the lines of coLinux where you have a complete linux kernel (UML) running in a windows process.

    1. I don’t see anywhere in that article that states this is a Linux kernel running on Windows. Just as well really, because there is no Linux kernel in WSL!

      The Ubuntu image is a kernel-less image and does indeed run atop a Linux-compatible syscall layer. This allows pretty seamless experience with a great degree of compatibility and device support because Bash can now enjoy the driver support etc. in the Windows kernel that it rests upon.

      If you prefer coLinux’ approach, by all means use it and be happy 🙂

  37. Benoit SERRA says:

    Is this available on every Windows 10 edition ? I tried this on a Windows 10 Home edition and I don’t have the Windows Subsystem for Linux feature available.

    1. All desktop SKU’s, yes. But you do have to be running an x64 CPU & OS.

      1. Héctor Hurtarte says:

        I do and I can’t find it. I already enabled the insider stuff as well

        1. Please follow the instructions here, paying particular attention to checking the pre-requisites: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  38. Is there a way to reset Bash on Ubuntu on Windows?

    I have a few failed (APT) updates, and looking for a quick and painless way to rollback. Unchecking WSL from Programs & Features, and then re-installing, didn’t seem to do the trick.

    Thanks!

  39. Matheus Rezende says:

    While installing ruby with rbenv and node i got some errors with native dependencies and some errors with apt-get.

  40. wiss says:

    I installed the 32 bits preview build 14316 but i can’t find the Windows subsystem for linux in the windows feautures menu, do i have to launch any update ?

    1. Rich Turner [MSFT] says:

      WSL requires an x64 OS and machine.

      1. KD Singh says:

        Will the WSL come for x86 OS too?

        1. No – no plans on supporting x86 or ARM at this time.

  41. Maxim Manco says:

    Whooaa, so much excited! I’ve been juggling between Windows and Linux since forever. Now it looks this juggling may end very soon. Thank you MSFT!

  42. Paul Griffin says:

    I have installed Build 14316.rs1 Windows 10 Enterprise Insider preview… which is set to fast in Dev mode However when i go to enable Windows Subsystem for Linux (Beta) in the Windows features it is not there as an option…..

    1. Rich Turner [MSFT] says:

      Sounds like you’re not running an x64 OS.

  43. Svenn says:

    It seems to take some time to be allowed to download the latest fast ring build with bash options … Sadly , why not just provide a download link ?

  44. hung says:

    help me. i don’t have “Windows Subsystem for Linux (Beta)”

    1. Rich Turner [MSFT] says:

      Are you running an x64 OS?
      Do you gave developer mode turned on?
      Are you signed-up for Insiders fast-ring builds?

      1. Essam says:

        I don’t have the option available in my “turn on features” list. Using Windows 10 Home 64 bit (upgraded from Windows 8). Developer mode on and I signed up for Windows Insider on the website. What else am I supposed to do?

        1. Hey Essam. Sorry to hear you’re having problems. It may take a little while for you to be upgraded to a supporting insiders build. Some people are reporting it taking a while (I too have a machine that refuses to upgrade at the moment).

  45. Philip Daniels says:

    Aaarrrggggghhhhhh!

    As a long time Cygwin / Linux user I would love to try this, I can spin up a new VM in minutes….so would you care to explain where I can get a *%£$@:#+# ISO from to install it? Seriously, I cannot believe how frustrating this is. Have been looking for several days now. I cannot find an ISO for build 14316 to download anywhere publicly, or on MSDN (I have a subscription). So I download 14295 from MSDN in the hope that it would service pack itself up…nope.

    Perhaps this is all obvious to people who normally participate in Windows preview programs, but from my perspective you are making it hideously difficult to help you! If Gabe Aul is going to write a 10,000 word blog post announcing the availability of this build, don’t you think it would benefit from a big link at the top that says “DOWNLOAD HERE” ???

    Contrast with getting the latest version of any Linux distro: it is a 5 second Google search.

    1. Rich Turner [MSFT] says:

      Insiders builds ISO’s are available from the Insiders site: https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewiso. If the latest release isn’t yet published, just install the currently available build and update to your preferred insider ring as usual. I’ll ask someone to update the published ISO if possible.

      1. Philip Daniels says:

        Hi Rich, thanks for actually publishing my slightly ranty comment, I was wondering if it would get sent to /dev/null 🙂

        Thanks for the link to the site, but the latest ISO there is 14295 which I already have, and as I and numerous others have said on this page, it has not yet updated itself despite moving to the “fast ring”. Hopefully it will show up soon…

        1. Yep, we have to balance pushing out ISO’s vs. spending time merging branches & features, and cranking builds. We’re currently opting to do the latter.

          One should still be able to install 14295 (or whatever ISO is published at the time you read this) and then just upgrade to whatever insiders ring you want to subscribe to.

          While this may seem like an inefficiency, and it is, it’s one that means we can focus on releasing solid updates as soon as we can.

  46. Fabiano França says:

    Is possible start windows application from bash?

    1. Rich Turner [MSFT] says:

      No. Right now, Bash on Windows is a truly genuine Linux environment – none of the Linux tools know they’re not running on Linux! We are looking at interop scenarios for future releases, but not for the Anniversary Update.

  47. Bernat says:

    The binaries are somehow really old, like 1.9 for git, now that 2.8 is out. Any ways to speed the upgrade of such?

    1. Rich Turner [MSFT] says:

      Those binaries are managed by Canonical – you may need to add additional package sources and/or update your packages.

  48. Patrik Nilsson says:

    Hi,
    Great! Long time sh/ksh/zsh/bash user that is happy to do some scripting on windows.
    But I dont understand how to enter the pipe character “|” in bash? It works in cmd.exe and powershell but in bash there is nothing.

    1. What locale do you have installed PAtrik? We have seen people reporting keyboard support issues for some languages.

      1. Benjamin Clot says:

        On a french keyboard, |, @, \, etc. don’t work. They all require Alt Gr.
        I found out that if you do Alt Gr+5, then Alt Gr+6 (that’s pipe), the pipe works. Same for @: hit Alt Gr+5 then Alt Gr+0. It’s as if Alt Gr+5 “enables” those characters.

  49. litian.z says:

    HI,
    I have 2 issues.
    root@localhost:/mnt/c/Users/litian# df
    df: cannot read table of mounted file systems: No such file or directory

    root@localhost:/mnt/c/Users/litian# ifconfig
    Warning: cannot open /proc/net/dev (No such file or directory). Limited output.

  50. Sisi G says:

    Hello,
    Currently testing this 14316 build with the LSSW.
    Great move from Microsoft and a pretty decent plateform already. thanks.

    Regards

  51. tin says:

    since yesterday apt-get upgrade is breaking the installation, i did reinstalled bash (via lxrun) and double checked to confirm that this is an issue right now.

    1. Sorry to hear. Please search/file issues on our GitHub site.

  52. BlueBitSol says:

    Hi, I am also having network issues, I don’t think they are the same as what has already been reported.

    root@localhost:/mnt/c/Users/shaun# ping 8.8.8.8
    ping: icmp open socket: Socket type not supported
    root@localhost:/mnt/c/Users/shaun# ifconfig
    Warning: cannot open /proc/net/dev (No such file or directory). Limited output.

    Its like my network device does not exist.

    1. The issues you describe (thanks :)) are known and we’re working on fixes. Stay tuned! 😀

  53. Jim SEOW says:

    As discussed at Reddit, VcXsrc X server works better than Xming.
    pymol crashes with Xming but still stays (Graphic OpenGL non functional) with VcXsrc.

    Detected OpenGL version prior to 2.0. Shaders and volumes unavailable.
    OpenGL graphics engine:
    GL_VENDOR: Microsoft Corporation
    GL_RENDERER: GDI Generic
    GL_VERSION: 1.1.0
    WARNING: glReadBuffer caused GL error 0x0501
    WARNING: glReadBuffer caused GL error 0x0501

    Also as discussed at Reddit, perhaps improving GL_Version to 2.0 could help

    1. As often pointed out – we’re not supporting any GUI apps/desktops in this first release.

      Any GUI apps etc., that DO run are purely a lucky byproduct of us improving our syscalls implementation over time 🙂

  54. bihaiorg says:

    Thanks for the great jobs!
    I have been waiting for this for long. In old times, I had to install Linux VM to even just compile a small file.
    Yes I know networking is not supported well as BETA version, but will you please let it free as native windows apps, please:)
    And I got system error -25 when installing e.g. nodejs.
    The symlink creation often fails.
    Can you help?

    1. @bihaiorg: Glad you’re as excited as us about this 🙂

      Networking is getting better with each build. You should start seeing improvements soon 🙂

      Not sure what you mean by “let it free…”

      Thanks for the note re. node & symlinks – we’re working on fixes as I type!

  55. Harshil Lodhi says:

    Symbolic links, ping, iptables are few of the things that don’t seem to work currently.

    1. Yep – and we’re working to fix these issues 🙂 We already have several fixes bubbling up the build pipe as we speak!

      1. Martin Rancourt says:

        Really looking forward to those iptables fixes. Currently on preview build 14352.rs1 and still some quirks. Must say, big kudos to all the MS team for making this work!

        1. There will be lots of quirks in this initial beta release of WSL. iptables, ifconfig etc., unlikely to make it – we’re prioritizing getting node, ruby, java, etc., working before adding network tooling support which can, after all, be managed via cmd/PowerShell/GUI.

          1. Paul Hassold says:

            Great work on this so far M$! Glad to see an innovative project that’s bringing me back to Windows from OSX/Linux (Right now Windows exists as a gaming machine in my home).

            With regards to ifconfig, iptables, and what not. Really would hope you folks reconsider as I would love to be able to use tools like sshuttle, nmap, and other security related tools like aircrack-ng, metasploit, and many other things I resort to other OS’s to do.

            I really would love to see dbus working fine and xwindows and everything (or almost everything) would work as expected in a true linux system. As long as it’s coming in the future that’s cool I guess, but please don’t stop short on what already is a VERY awesome thing 🙂

            Thanks again for the WLS – <3

          2. Thanks for your feedback 🙂

            Rest assured, we continue to plow forward, improving the depth and breath of our syscall implementations, which delivers ever greater compatibility and more features. Remember though: We’re currently focused on making Bash & Windows a GREAT place for developers to do their best work. Scenarios beyond that will have to wait 😉

  56. Nate says:

    Hello –

    So I’ve spent all morning trying to get this update with no success. I have Developer Mode On, I’m Signed in to my Windows Insider Account, My Preview Builds are set to fast, Defer Upgrades is not checked off. The selection for WIndows subsystem for Linux still does not show up in my features list. I’m on Windows 10 Pro OS Build 10586.218. Any help would be greatly appreciated.

    1. Hey Nate. Are you running an x64 CPU & OS?

  57. Nate says:

    As a note to my previous comment: My registry settings have me at BranchName rs1_release UserPreferredBranchName rs1_release and ThresholdRiskLevel low (Both EnablePreviewBuilds and ThresholdOptedIn are true)

    1. I would strongly encourage anyone thinking about twiddling registry settings trying to get insiders builds to update … to not do so. For example: the Anniversary Update builds we’re currently shipping don’t refer to anything called Threshold!

      If you have twiddled these settings, you may want to disable insiders builds, reboot a couple of times and re-enable insiders … and hope your registry settings get re-set correctly.

  58. Don Mitchell says:

    I just upgraded my insider preview builds laptop to build 14316. I saw the feature for Ubuntu Bash and looked for the Windows Subsystem for Linux (Beta). It does not appear in my features list. My system is a 32-bit system (based on a Windows 7 Professional 32-bit initial install). Would this have a bearing on why I can’t take advantage of this feature? Please advise.

    1. Hey Don. As per our installation guide, you’ll need an x64 CPU & OS. WSL doesn’t support x86.

  59. Manikanta Reddy D says:

    I love the way, Rich Turner always replies to all those ********* in the comments, politely. Rich dude they don’t deserve it.

    Btw, Is there any work around for the issue of missing fonts in the terminal?
    I tried to use oh-my-zsh, but as the powerline fonts are not present in windows, its messing up with the experience. I tried installing the fonts in the subsystem, but the shell doesn’t use them. Installing the true type fonts in windows also doesn’t work.

    1. LOL 🙂 Thanks, but I usually find nice beats nasty. USUALLY! 😉

      Keep your eyes on the next couple of insiders builds – I think you’ll find them magnicifont 😉

  60. James Rome says:

    Networking still does not work of build 14328. Any fixes yet?

  61. Priit says:

    I was previously on Windows 10 build 10586, but I did not get the new insider build update for a week or so, despite the fact that I’ve gone over every possible tutorial and article that might provide a solution for such problem. I was getting to a point of frustration and decided to just do a clean install with the latest public ISO available to download, which is 14295(.1005) that I’m now successfully running. However, I still am not able to upgrade to the latest build as it does not simply show up?! I’m connected to and using my Microsoft Insider account, on fast ring , developer mode activated and a fresh clean install. What else am I supposed to do?

    1. Are you running an x64 OS & CPU?

  62. Priit says:

    Somehow I magically got the update now, feel free to ignore the previous comment. Thanks.

    1. Great to hear. Sorry you had to wait, but sometimes, great things are worth waiting for 😉

  63. Stephen Bovy says:

    It is great for Linux on windows. BUT It is not an integrated windows compatible bash shell.

    It is not a “windows” bash shell. It is a “Linux-only” bash-shell.

    You will not be able to take advantage bash (or bash scripting) for your windows system requirements.

    1. It is currently a Bash shell. Nowhere do we claim it’s an integrated bash shell. It’s called Bash on Ubuntu on Windows, after all!

      We’re primarily aiming at solving developer pain by providing an authentic Linux-compatible environment alongside your Windows tools.

      This said, many scenarios exist where some amount of Bash Windows interop would be useful, powerful and fun. We’ll be looking into some of these scenarios after we’ve shipped our first version.

  64. Harry says:

    Rich, is there any chance we’ll be able to change the default shell from bash to Fish or zsh? Fish can’t be set as the default shell in the usual way, and zsh won’t even run.

    1. We are aware zsh has issues at present. It’s not our highest priority, but I know many people want it and we’re keen to get as much running as we can. Largely a matter of time 😉

  65. Harry says:

    Rich, I’m not sure if my previous comment was posted, but if it didn’t, it was asking about whether support will be added to allow different default shells can be set, namely Fish and zsh. At the moment, Fish can be run, albeit not as the default shell, and zsh just dies. It would also be really really cool if we could get even deeper integration, like systemd being translated and stored in the Windows registry, maybe there will be more of something like this in the future. I’m waiting on the edge of my seat!

    1. Thanks for your comments. Be sure to visit https://aka.ms/winbashuv and upvote/add your requests.

  66. Tomislav says:

    Hello, i did all what you give as a small tutorial for getting this right, but I don’t have that option to check in “Turn Windows Features on or off”. What possible can be wrong? I have 64bit version of windows, version 1511 and OS Build 10586.218

    1. Hi. You must also be on the Windows Insiders fast-ring, running build 14316 or later (14332 is the latest).

  67. Dave_Novak says:

    I was very excited to try this out, but my first test (using cmake/make) failed. Someone actually filed a bug report for this at cmake.org (https://cmake.org/Bug/view.php?id=16079), and this is precisely the issue I am seeing. Those same steps, however, succeed just fine under Ubuntu 14.04, 15.10, and 16.04. Having cmake/make support is essential, so I hope this issue gets resolved!

  68. s0rata says:

    So how about this, run .exe file from Bash, is it possible? Just stay inside Bash and use command line to run application in Windows.

    1. No, not at this time. Our primary objective in this first release is to deliver a genuinely Linux-subsystem & environment in which Bash and other Linux tools can run. We’ll consider potential interop scenarios in later versions.

  69. Scott Nicks says:

    I just upgraded to build 14332 and installed bash. When I try to ssh however, I get the message
    “ssh: Could not resolve hostname (…): Name or service unknown”
    I have tried to access other hosts to the same effect. apt-get update also complains about not being able to access the internet, but I have internet connection. Is there something I need to set up first? Thanks!

    1. There is a known issue in the current builds where some users have difficulty reaching the internet from Bash due to the way earlier builds try to resolve IPv6 addresses names and routes. A simple workaround for now is to disable IPv6. The next insider build should deliver the fix for this (and other issues).

      1. Scott Nicks says:

        Okay, thanks for letting me know!

  70. Anthony says:

    Windows Subsystem for Linux (Beta) feature is not present in “WIndows Feature”. How should I resolve this?

    1. Are you running insiders build #14316 or later on a machine with x64 OS & CPU?

  71. Nirmal says:

    Hi,
    How to get this option in windows features? I dont see this in my windows 10.
    Windows Subsystem for Linux

    1. Are you running an insiders build #14316+ on an x64 machine & OS??

  72. Richard Pennington says:

    Hi,
    WSL looks very cool. I installed it today. I’ve been working on making clang handy for cross compiling to various Linux targets with my ELLCC project (http://ellcc.org). I currently use Mingw-w64 to compile the tools for Windows, and I thought that using WSL would be a nice alternative to a Mingw build. So I tried this:
    wget http://ellcc.org/releases/ellcc-x86_64-linux-0.1.30.tgz
    tar xvfp ellcc-x86_64-linux-0.1.30.tgz
    cp ellcc/examples/hello/main.c .
    ~/ellcc/bin/ecc -o hello main.c
    I get:
    rich@WINDOWS-81:~$ ~/ellcc/bin/ecc -o hello main.c
    ecc: error: unable to execute command: posix_spawn failed: Invalid argument

    clang tries to run itself via the command:
    “/home/rich/ellcc/bin/clang-3.9” -cc1 -triple x86_64-ellcc-linux -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /home/rich/ellcc/bin/../libecc -internal-isystem /home/rich/ellcc/bin/../libecc/include/x86_64 -internal-isystem /home/rich/ellcc/bin/../libecc/include -fdebug-compilation-dir /home/rich -ferror-limit 19 -fmessage-length 80 -fobjc-runtime=gcc -fdiagnostics-show-option -o /tmp/main-25c65f.o -x c main.c

    and gets the following error:
    clang-3.9: error: unable to execute command: posix_spawn failed: Invalid argument

    If I run the command manually it works, so it does look like the posix_spawn() call is failing. I’ll try to get more information and post to the GitHub issees project.

    -Rich

    1. Could I ask you to please file this issue on https://github.com/microsoft/bashonwindows? Many thanks.

  73. Jason Mickela says:

    Is there a trick to getting git to work when the project directory in on /mnt/c?

    I keep getting told that I’m not in a git repository, even when I am. If I try to git init in the directory it seems to work but git commands still don’t work.

    1. No – should work fine. Please check

      you have git installed in Bash (which git)
      you have changed to the folder in which your git repo is created
      when you run git status, git should report that your repo exists

      For example: Git Test Screenshot

  74. Steve says:

    Windows 10 Home
    Ver 1511
    OS Build 10586.240
    Developer Mode
    **************** Features On/Off: I have no “Windows Subsystem for Linux (Beta)” appearing in my Features.
    Starting at:
    |”Windows Process Activation Service”|then |”Windows TIFF 1filter” |
    Also, I am working in Thailand if that has any affect on this feature being available to me.

    1. You’re not seeing Bash/WSL because you’re not yet running a Windows 10 build #14316 or later. You must also be running an x64 OS & CPU.

      To do so, be sure to sign up for Windows Insider program, login to your machine using the same MSA you registered, update to the latest Windows Insiders fast-ring update. Once you’re on a build later than 14316, you should see WSL appear in your “add/remove features” list.

  75. Josh says:

    I finally got the Ubuntu for windows binaries but I find it quite useless at the moment as I cannot specify the folder where I want to install apps from the bash and even when I got apps installed, I could not get it to start.

    1. I don’t understand “I cannot specify the folder where I want to install apps” – could you elaborate. Most people install packages using commands like:

      sudo apt-get install git

      Most apps are installed to the /usr/bin folder

  76. Yongkee Cho says:

    Hi, My Windows 10 x64 at SurfaceBook does not show the Windows Subsystem for Linux (Beta). I double checked my setting is set on Developer mode. Is there something else I have to check?

    1. Are you running Windows 10 insider fast-ring build 14316+?

  77. GALAB PARCHEV says:

    Can I have OpenSSS-server running. I mean, can I connect via ssh to Windows 10? 🙂

    1. Then you want SSH client running within Bash, talking to an SSH Server running in Windows (or anywhere else), right? If so, you might find this interesting 🙂 https://github.com/PowerShell/Win32-OpenSSH

  78. Bryan says:

    I tried to get Bash on Ubuntu on Windows up and running by following all the directions. Everything looked good, got setup with the insider program, turned on the advanced feature and ran lxrun /install which told me it installed successfully. However, every time I try to launch Bash on Ubuntu on Windows, I get a “Unsupported console settings. In order to use this feature the legacy console must be disabled.” message. Would love to see this work.

    1. You’ll need to open your console’s properties page and disable the “legacy console” checkbox.

  79. Sammy says:

    Where is the Ubuntu file system located on Windows? I want to edit some *.cpp files with my Windows programs, like Notepad++, but I can’t find where they are inside the Windows C:/ drive.

    1. We strongly encourage you to NOT delve into the Linux filesystem from Windows – file corruption is very likely if you do so!

      We recommend instead, creating your source projects somewhere on C:\…, D:\…, etc. and then editing your files in NP++/Sublime/VS/etc. and reaching into these folders in Bash via /mnt/c/… or /mnt/d/… etc.

  80. Mr X says:

    Can I see a Kali subsystem for Windows approaching? 😀

    1. WSL is built to be distro-agnostic, but we’re focusing our efforts on building great support for the largest number of developers possible so will be aiming to support more mainstream distro’s in the short and medium term.

  81. Jerri Dick da Silva says:

    My mouse scroll not working on bash

    1. We won’t be able to support mouse actions (other than mark, copy and paste) in this first release. We will consider mouse support for future versions.

  82. I’ve been using Cygwin for years, so this feature intrigues me. Cygwin has always been a little, uh, pokey compared to Linux, so faster alternative on Windows would be welcome.

    Access to the Windows filesystem from within GNU/Linux/Ubuntu/Bash (GLUB) environment the seems easy enough, but is the reverse possible? Can Windows access the files inside the GLUB environment? I guessing this is impossible because it seems like there are two different security mechanisms.

    1. We DO NOT recommend delving into the Linux portion of the filesystem from Windows – data corruption is likely if you do!

      We DO recommend accessing your Windows filesystem from within Bash via the /mnt/c, etc. mounted drives: This mechanism honors NTFS semantics when accessing anything under /mnt/c/… and Linux FS symantics when accessing anything under /.

  83. This feature is intriguing. I’ve been using Cygwin for years, and Cygwin can be a little, uh, pokey. A faster alternative would be welcome. There are a couple of features that Cygwin has that seem to be missing from WSL;

    It seems easy enough to access the Windows filesystem from WSL, but is the reverse possible?

    Will we ever be able to launch a Windows app from within the WSL environment?

    1. Currently, we strongly advise against fiddling with files within the Linux filesystem from Windows – you may experience data loss and/or corruption if you do so!

      We’ll also be exploring options for process interop in future versions of Bash.

      But as a general guiding principle, don’t look to Bash as a mechanism for administering, automating or configuring Windows: Bash is primarily a tool to help developers work on open-source and/or development projects.

  84. jakeh0ckey10 says:

    I am unable to install this still. I’ve enabled Developer mode, I’ve set my insider level to fast, I’ve checked for updates and restarted several times. I still can’t get the option listed in the Windows Features dialog.

    1. Please follow the instructions here, paying particular attention to checking the pre-requisites: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  85. jakeh0ckey10 says:

    I have selected the developer option in settings, I’m in the Insider Program, I have my level set to fast, and I still don’t see this option in the Windows Features dialog

    1. Please follow the instructions here, paying particular attention to checking the pre-requisites: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  86. jakeh0ckey10 says:

    I am in the Insider program, have set my Settings to Developer, set my Update Level to Fast, and I still can’t see the option for this in the Windows Features dialog

    1. Please follow the instructions here, paying particular attention to checking the pre-requisites: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  87. Lucy says:

    Okay _ I’m sorry, I know you’ve repeated yourself 1000 times but I’ve checked through this thread and triple checked my system: version 1511, OS 10586.318, 64 OS, Developer mode turned on, latest insider build version 10586.107, system rebooted – please tell me what I’m missing?

    1. 10586.* is not an insiders build – that’s Windows 10 RTM. You need to be running a build #14316 or later.

  88. Dane says:

    Hi MSFT, just want to say thanks for doing this! I think one of the reasons that OS X is popular among devs is because it supports bash. I know that I for one sometimes use my old, less powerful mac for development just for the sake of being able to write shell scripts that will work on linux/osx. One example of this is developing cordova apps. Since cordova apps must be built on OS X for iOS, I want all my scripts to be compatible with bash so they still work when I build for iOS, not just for android on my windows machine. That forces me to run and use my old mac. I don’t like doing that b/c my windows computer is a much better machine, and macs cost a fortune. This update will allow me to do the same on Windows, so thank you very much!

  89. Cameron Taylor says:

    Love it so far. I can’t seem to get sound working though. I’m not a linux master so it might just be me but aplay -l returns “no soundcards found”. Is sound supported? It seems that alsa packages are installed.

    1. Audio isn’t supported at this time. We’re currently focusing on supporting developer scenarios.

  90. Hello,

    with bash on windows 10, the ifconfig, ping commands , work ??

    thanks in advance

    1. ifconfig won’t work for this first release.

      Ping does work but only from elevated (admin) Bash session.

  91. Simon Zhang says:

    I’m an insider. I did the updating. I’m on fast ring. I checked developer mode. I’m using a surface 4 pro which is a 64. But I still do not have Linux on the list. lol

    1. Which build are you running on? You must be running a build #14316 or later.

  92. Gary says:

    Even after two major insider builds, it appears that /dev and /proc are far from complete to allow apt-upgrade to work correctly (upstart and systemd both block a clean update, since dpkg bombs out with subprocess errors during the configure phase. I put a bug in about this a while back. Can we get any update on when these issues will be resolved?

    1. This first release of Bash/WSL is going to have rough edges and gaps – we wanted to get a fair amount of stuff running and then get it into the hands of our users, rather than hold it back and wait until we had more implemented. That’s why this is marked as a Beta feature and why we’ve openly and explicitly made it clear that this first release will have gaps. This said, if you find issues, please search/add issues on our GitHub issues page here: https://github.com/microsoft/BashOnWindows/issues

  93. Albert Gao says:

    Hi, thanks for the great bash. One question, I installed a Git inside the bash, and I have a Git in my Windows. Why I type “git status” in the bash, it said that this is git repository which is good, but it says there are bunches of file haven’t added to the stage area which I have already added, in the windows git, it says everything is added, just wait for commit. Why these different behaviors? The status of adding to stage file should be stored in the directory which I don’t see anything to do with the invoking of different git.

    1. Thanks 🙂 If you’re running relatively recent Git versions in both Bash and Windows, you should see pretty much the same status being reflected (see https://onedrive.live.com/redir?resid=AEB995BDC47674B8!304752&authkey=!AA1CP7d1EOriYa0&v=3&ithint=photo%2cPNG for example).

      You MAY be running a very old version of Git in Bash which you installed using apt: Ubuntu’s package server only hosts Git version 0.10!! To get a more recent version of Git in Bash, follow these instructions to add a PPA: https://launchpad.net/~git-core/+archive/ubuntu/ppa?field.series_filter=trusty

  94. Our IT department have disabled automatic updates and will not make local exceptions, but I am allowed to install an update myself. So I went to MSDN and picked the latest Insider Preview but after installing I realized, that this is build 14295 so it is not above 14316, are there a chance I can access a newer Insider Preview build on MSDN anytime soon, or is there an alternative way of getting the update?

    1. If you manually check for updates, you should be able to upgrade to later Windows 10 Insiders builds.

      1. The thing is no updates appear at all when I use the ‘check for updates’ feature (I guess that’s what you mean?), I think the IT department has disabled this feature or made it look in some local distribution drive. Can I manually download updates for offline installation or do I need to wait for a newer build to be accessible through MSDN?

        1. Your IT team may well be preventing access to the public update servers. You can always download the Windows Insider ISO (https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewadvanced) & install on a personal machine/VM at home, but I encourage you to talk to your IT team first – perhaps they can setup an exclusion for you?

          1. That is exactly the site I was looking for, thanks Rich! I now run Bash on Ubuntu on Windows, now I need to find out what use I can make of it as a developer most familiar with the Windows environment, but I have some vague ideas of useful applications. Anyway I think it is a great feature that contributes to the overall very good impression I as a developer have of Windows/Visual Studio etc. as a development platform. You’re on the right path!
            Thanks again!
            Sincerely Torbjørn

  95. Is it possible to install this feature on windows 8.1 professional? if so what update ID should download?

    1. No. Bash/WSL requires features only available in Windows 10.

  96. Petrus Alves says:

    Estou tendo um problema no bash, quando digito o comando ifconfig da esse erro “Warning: cannot open /proc/net/dev (No such file or directory). Limited output.” o que posso fazer para corrigir? obrigado

    1. Desculpa, ifconfig atualmente não funciona. Estudar o assunto para o futuro.

  97. Juanma says:

    Windows Subsystem for Linux (Beta) doesn’t appear in my Add features window. I have enabled insider updates and developer mode but no luck…

    1. You have to be running an insiders build #14316 or later. It make take a few hours after turning on insider updates for the first update to be offered. After upgrading, so long as you’re on an x64 CPU & OS, you should see the feature show up.

    2. Please follow the instructions here, paying particular attention to checking the pre-requisites: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  98. Rihan says:

    Um.. I’m running Insider Previews on ‘Fast Track’, and have developer mode on in Settings, but in ‘Add or Remove Windows Features’, I can’t find ‘Windows Subsystem For Linux’

    1. Rihan says:

      I have a x64 OS & Processor.

      1. What build are you running?

    2. Please follow the instructions here, paying particular attention to checking the pre-requisites: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  99. Craig says:

    Will this eventually be made available to RTM when anniversary update is made available?

    1. No – Bash/WSL will only be available on Win10 Anniversary Update client OS SKU’s.

  100. Jason S. Clary says:

    Is there any chance we’ll get /dev/pty* (or a working mknod) so we can run xterm and the like?

    Are there any plans for named socket (AF_UNIX) support so things like screen will work?

    Will /proc/bus be supported? At least /proc/bus/usb. The big drawback to VMs, for me, is lack of access to hardware.

    Is there any way we can help with any of these things or do we just have to wait for updates?

    1. Great asks to add to our UserVoice (https://aka.ms/winbashuv) or file as issues in our GitHub (https://github.com/Microsoft/BashOnWindows).

      Alas, there’s little the public can help with at this time as WSL has tendrils that delve deep into the OS and kernel, and can only be built by MSFT staff at this time.

      1. Jason S. Clary says:

        It seems the pty problem is fixed in the latest Fast update.

        Couple of tips…
        add these to ~/.bashrc
        export DISPLAY=:0.0
        export LIBGL_ALWAYS_INDIRECT=1

        Change the listen directive in /etc/dbus-1/session.conf to:
        tcp:host=localhost,bind=*,port=9191

        Xming works nicely with several x-windows and opengl apps. That dbus fix helps with quite a few programs including terminator — which works now that the pty stuff is fixed. dbus is one of the more common users of named sockets by default so that fix neatly sidesteps that issue in a lot of cases. Next I’ll try to figure out how to launch terminator and hide the Bash on Ubuntu on Windows console since the bash.exe console has a lot of very basic issues at the moment with character placement.

        Now I’m seeing how badly I can break it by updating from trusty to xenial since gnome-session is borked for remote X in trusty. The update is running fine so far but it’s got another half hour of downloads to go… crossing my fingers it won’t all come crashing down when it’s done.

  101. Hugege says:

    When I installed bash on Ubuntu on Windows as this post,I can’t find the desktop apps on the start menu.

    1. What do you see when you type “Bash” into the start menu?

  102. Abhishek says:

    Its not in my programms list…iam using x64 build 10586…

    1. Build 10586 is Windows 10 RTM – you need to update to Windows 10 Insiders Build 14316 or later, preferably build 14361 this week!

  103. Jellybe says:

    Does Windows bash support network interfaces? For example, i need to capture packets on wlan interface. Can I do this?

    1. Several networking & network management tools have issues or fail on this first release. We’re continuing to improve our networking support for future releases though.

  104. I’am using a 64 bit version of win 10 enterprise edition. And the build number is 1551. I just turned on the developer mode but i couldn’t find the windows feature of Linux subsystem on the list. So, what can i do?

    1. You also need to be running Windows Insiders builds 14316 or later.

  105. Norm says:

    This is something that I have been wanting on Windows since 2000! I’m not a Windows Insider and honestly just started using windows as my daily OS (been using Linux since 1998). When can we expect this to be released to the general public?

    1. Welcome to Windows Norm 🙂 You can run Bash now if you join the (free) Insiders program. However, if you’d rather wait until the formal release, you’ve not got long to wait – we’re targeting the Windows 10 Anniversary Update this summer!

  106. lolka_bolka says:

    I am running Win64 bit on 64bit machine. have the latest build, but it is not in the feature list. This is Windows 10 Enterprise N

    1. You need to be running Windows Insiders build 14316 or later, or wait for the Windows 10 Anniversary Update coming this summer.

  107. Claudio says:

    Hi, I had Windows 10 pro build 10586 then I manually downloaded the iso build 14342 – 32 bit and I installed it. I put Fast in Insider level and I activated developers modality but now I’m still unable to visualize Windows subsystem for Linux (Beta) so I cannot use bash shell on Windows. What can i do ?

    1. Please read the docs, especially the pre-requisites: You need to be running a 64-bit version of Windows 10 Insiders build #14316 or later and have developer-mode turned on.

  108. UWCreations says:

    I have a question, is there a way to get the whole ubuntu operating system on windows, what I mean is: Can you get the whole ubuntu os running on windows like as an window or just being windows for that session?

    1. When you open Bash, you’re running everything that you’d otherwise get if you installed an Ubuntu cloud server. The only thing that is missing is the actual Linux kernel, which is replaced by WSL sitting atop the Windows Kernel in this case.

  109. Jhason says:

    I have all the requirements to run this with the exception of my OS being Win 10 Enterprise. When do you think this will be made available to the general public?

    1. Bash on Ubuntu on Windows is available on all Windows 10 client SKU’s. To install today, follow these installation instructions on https://aka.ms/winbashdocs. Otherwise, this feature will be in the Windows 10 Anniversary Update coming summer 2016.

  110. Nathan says:

    Well I’ve gotten it installed today but many things seem unfinished or broken. Am I screwing something up?
    -I looked through aptitude and found tons of apps I’m assuming won’t work, like X windows, GNOME, etc.
    -I installed tcptraceroute via apt-get and tried tcptraceroute bing.com 80 and got:
    libnet_init() failed: libnet_open_raw4(): SOCK_RAW allocation failed: Protocol not supported

    -Then I tried some commands. Here’s ‘ifconfig’:
    Warning: cannot open /proc/net/dev (No such file or directory). Limited output.

    – netstat -an:
    (just shows the column headers, no connections showing)

    – Some general commands were fine, like man, declare/other bash builtins, dd, vim, and more.

    While I am really pleasantly surprised for this addition I can’t help but notice that cygwin already does 1,000 more things than this on windows, including GUI programs. I hope you guys continue to develop this and let it grow to surpass cygwin.

    1. You’re trying everything that currently isn’t supported or has issues! :S

      1: We are explicitly not supporting X/GUI apps – while some DO “work”, they’re entirely unsupported.
      2: Network management tools aren’t currently working. Since Bash/WSL runs atop the NT kernel & networking stack, configure your network via Windows instead.
      3: Cygwin is a great toolset, but is a Win32 port of GNU tools: Bash is not yet fully complete, but runs unmodified Linux ELF64 binaries directly on Windows, providing a genuine Linux compatible environment (eventually).

      1. J B Edwards says:

        This is unfortunate that you’re not going to support the networking stack. Not because I want to configure my networking through bash, but because I want to run networking tools that are essential in the current internet as ICMP-based troubleshooting is no longer valid on most networks due to ICMP deprioritization.

        Tools like tcptraceroute, nmap (nping), and others depend on being able to understand what interface to use, which generally comes from commands like ip a (which currently does not work. Ip is installed, but it does not show all interfaces as it does in any linux distro via ip a) or ifconfig. Even if modification of the network interfaces is not possible, you should at least be able to list them in a relateively simple and intuitive way.

        1. We year you: ip/ifconfig are high on our list of improvements for the future, but require some core networking changes that we couldn’t get through in time for Win10AU. This is one of the reasons this feature is marked as Beta in Win10AU.

          Note that networking is something we take very seriously, and have to carefully engineer changes so that they don’t negatively impact stability, performance, and most importantly, security.

          Rest assured that we’ve not stopped working just because Win10AU has shipped – we’re still hard at work on these and many other improvements.

          If you’re keen to try-out our many up-coming improvements, be sure to join the insiders program and get on the fast ring 😉

  111. Thomas M Chilinski says:

    I tried following these instructions, but the “Windows Subsystem for Windows” never shows up in my list of windows features. Ive tried restarting my computer and searching google. Is this feature still available on windows 10 home edition?

    1. Please be sure to check all the pre-requisites and installation steps in the full docs: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  112. Mark says:

    Any word when this build with Windows Subsystem for Linus will be available for users not in the Insider Preview?

  113. AUB says:

    tnx , Great Tool

  114. James says:

    2 things still needed. Ping and Traceroute.

    1. Ping is available, but only from an elevated command-prompt. For security reasons, non-elevated Windows apps are not permitted to directly accept/emit ICMP messages – a low-level mechanism performs ICMP on behalf of Windows commands like Ping instead. Current implementations of Bash/WSL, however, try to directly handle ICMP messages and thus will fail unless elevated. We’re working on fixing this issue in future versions.

      Many network diagnostic/control commands will currently fail to work correctly in Bash/WSL – we’re continuing to improve our networking support to enable these tools to work in the future.

  115. Edilmar says:

    It’s great but bash on windows can’t run in 32 bit operating system 🙁 </3

    1. No, we don’t support x86 32-bit at this time: We currently depend on x64-only instructions and mechanisms to ensure fast & stable performance.

  116. Hey Guys,

    Working on Surface Pro 3 | Windows 10 Professional
    I am part of the ‘Insider Program’, as well as being under developer mode, however am unable to do the following:
    a) find the update for the build (says device is updated, but I am still under an older build)
    b) find the subsystem for linux ubuntu

    Thanks in advance!

    1. Have you registered your Microsoft ID with the Windows Insiders program and opted to upgrade to the Windows Insiders fast-ring builds?

  117. JasonYu007 says:

    If anyone know how to mount the usb disk in win10 bash shell ? I could not see any usb removeable disk in win10 linux .

    1. We don’t support mounting removable drives in this first version. Will be looking into this for a future release.

  118. bhaskar says:

    when I start bash on Ubuntu on windows 10 it’s showing something like unsupported within the terminal window ….Now I’m on insider preview built 14372.rs1_relese.160620-2342

    1. Could you please copy and paste the text you see in your console? And please confirm that you’re running Windows 10 x64 on an x64-capable machine.

  119. Didny says:

    Hi,

    I am windows insider, I have checked the beta linux from the setting of system software and also run lxss.exe with /install. Script worked, downloaded package from windows store and started installing. Problem is that after let’s say 2 min of extensive disk use starts bash application which I monitor through taskmgr. Problem is – bash can run even 1 h and doesn’t install the ubuntu bash on my system. I have removed all files via lxss.exe /uninstall /full and tried again but the same problem. Anyone can help me?

    1. I assume you mean you’re running lxrun /install and lxrun /uninstall /full?

      What do you see in your Bash console when it is run? Do you see any error messages?

      1. Didny says:

        Hey,

        There is no change since the bash was downloaded from windows store:
        Type “y” to continue: y
        Downloading from the Windows Store… 100%
        Extracting filesystem, this will take a few minutes…

        This few minuts takes forever. Now I have deleted the whole folder lxss from user/appdata/local/lsxx and tried again but no differenct. Any hints?

        best,
        Dawid

  120. C.F.Reed says:

    I have Windows 10 64bit on a Toshiba laptop, “Windows subsystem for Linux (beta)” is not an option.

    1. Are you running a recent Windows Insiders build on your machine?

  121. John says:

    Scheduled task, run as different user, call bash script. Got it working, but it was a day of work. Had to open bash “as a different user”, which then wanted to install ubuntu user space again. I guess that makes sense, would be weird supporting multiple users. Then I got dcomcnfg permission errors in event viewer. I had to go into regedit, give permissions to the AppId for admins, then find the AppId in dcomcnfg and change permissions for it so the different user could run it. Still didnt work, rebooted, and it works now.

    i wanted to emulate cron with scheduled tasks, but im not sure why I even went down the path of a running as another user.

    I guess its beneficial in that, i can have to run whether user is logged on or not

    1. Love seeing the crazy things people are trying to do with Bash/WSL 🙂

      Right now, we do not support server scenarios (e.g. running cron jobs, long-running daemons, etc.). Today, once your last bash console for a given session is closed, the entire bash session is terminated.

      We are looking into improving support in this area in the future.

  122. Helion says:

    I cant find the Desktop app bash on ubuntu on windows in the start menu. I can use the command bash though. Could you please tell me why

    1. What do you see when you type “Bash” into the start menu?

  123. Jayson Reis says:

    So far pretty good. I only had issue with ssh and tunnels, aren’t sockets listening working yet? It will always say “Address already in use no matter which port I use.

    1. sshd should now work in latest insiders builds (be sure to use a port other than #22 though).

  124. ashutosh says:

    In My PC under this option“Turn Windows Features on or off”:
    this option is not showing “Windows Subsystem for Linux (Beta)” feature:

    1. Please follow these instructions closely, paying particular attention to the pre-requisites:
      https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  125. ideamotor8 says:

    When I run “bash” in Command Prompt it just gives me a flashing cursor. I’m on 1607 14393.0. I originally installed without running “Enable-WindowsOptionalFeature” in Power Shell and when I ran “bash” in Command Prompt and entering “Y” it hung for several hours – perhaps 1.6gb available was not enough? I subsequently freed up storage space, disabled “Windows Subsystem for Linux (beta)”, restarted, turned off Developer Mode, restarted, turned on Developer Mode, enabled ran “Windows Subsystem for Linux (beta)”, restarted, ran “Enable-WindowsOptionalFeature” in Power Shell, and ran “bash” in Command Prompt (several times). Ideas?

    1. You only have 1.6GB HDD space left? Yeah, that’s likely to make it difficult to install anything substantial 😉

      Have you tried running “lxrun /uninstall /full” in cmd, then rebooting (just in case) followed by “lxrun /install” in cmd after reboot?

  126. gdillon says:

    Just got the update to Windows 10 Anniversary Edition to complete. Its on a 32 Bit version of Windows, but I don’t see the installation choice you have above at # 3) for Features / Window Subsytem for Linux? Was it dropped from the 32 Bit version of Anniversary edition?

    1. As per the docs, Bash/WSL requires an X64 capable machine and OS SKU.

      1. Anoop K says:

        Thanks Rich for your reply and go ahead , waiting for new magics 🙂

  127. Anoop K says:

    Hi Rich, congrats for the great work and more than that appreciating your calmness to reply to each comments, read that there’re network problems and i am feeling the same , expecting it will be solved in future release, i have a single question, is it possible to reboot/restart the bash environment as normal Ubuntu does?, again thanks for the maasive works that you guys have done .

    1. No, thank you (all) for taking the time to test and share your findings; we love the passion

      When you close the last bash window in a session, we shut down the WSL session completely. The next time you open Bash, you are starting a new session; essentially restarting an instance.

      1. Anoop K says:

        Thanks Rich for your reply and go ahead , waiting for new magics 🙂

  128. Anoop K says:

    One more, is it possible to install Vagrant inside this Bash environment?, tried that one but got stuck in errors 🙁

    1. Vagrant is v. difficult for us to sorry due to it’s dependency on Dynamic Kernel Module Support: https://github.com/Microsoft/BashOnWindows/issues/733

      1. Anoop K says:

        Thanks 🙂

  129. Purposeful Anonymous User says:

    I completed the Anniversary Update for Win 10 Pro and enabled developer mode and was able to add the feature however when I tried to install bash using cmd prompt, I got stuck on

    Type “y” to continue: y
    Downloading from the Windows Store… 100%
    Extracting filesystem, this will take a few minutes…

    The few minutes take forever. The only thing I found on my boot drive was the bash.exe file under System32. I deleted it and also exited the cmd prompt and tried to reinstall. I had no joy. Then I removed the feature from Control Panel, restarted and re-enable the feature. However when I typed bash in, it’s still acting like it’s trying to extract the filesystem (Does nothing). How do I restart the bash installation of Ubuntu and what is preventing the filesystem from being extracted?

    1. Why did you delete Bash.exe from system32? It’s needed to make Bash/WSL work. Until Ubuntu has completely unpacked onto your machine, you won’t be able to run Bash/WSL. If you’re seeing the extraction take a long time or never complete, check if you have any of the following 3 known issues:
      1) You’re not running Avast anti-virus (https://github.com/Microsoft/BashOnWindows/issues/797)
      2) You’re running Kaspersky 2017 – they have a bug that disrupts the installation process (https://github.com/Microsoft/BashOnWindows/issues/703)
      3) You have multiple pagefiles (https://github.com/Microsoft/BashOnWindows/issues/538#issuecomment-229449819)

      HTH.

      1. Jonathan Morgan says:

        In addition to Avast and Kaspersky anti-viruses that you mention, I had to totally uninstall BitDefender Internet Security 2016 to get the linux subsystem to install, though only on one of my three machines running BitDefender (2 VMWare Fusion VMs, and one physical machine – I had to uninstall on one of the Fusion VMs, not the other, and not the Physical machine). So, in particular, BitDefender appears to be causing problems, also, and in general, seems uninstalling anti-virus is a good first troubleshooting step for installing the linux subsystem for windows when it freezes at the “Extracting filesystem, this will take a few minutes…”.

        1. Thanks for sharing your experience Jonathan. Sorry you’re experiencing these issues:

          Some anti-malware tools aggressively monitor process activations as well as perform file scanning. PicoProcesses running Linux binaries are not recognized by many Antimalware tools and are considered “foreign bodies”. Some AV scanners don’t recognize ELF binaries. Problems ensue 😉

          The team are working on making several improvements in this area in RS2+ which should remedy many of these issues.

  130. Anoop K says:

    In future can we expect running windows application through the bash shell?

    1. The ability to invoke Windows apps from within Bash (and vice-versa) is a very frequent ask, and something we’re looking into for a future release.

  131. Erik Ušaj says:

    Due **Micorosoft Windows Policy** on our company domain I cannot use this feature.
    Developers -sure. On outdated Windows builds – makes sense?!
    Batteling windmills.

    1. Sorry – I don’t quite follow: Are you saying that your domain admins have enforced a policy that prevents you from running Bash/WSL? If so, please go talk with them. Outdated builds?

  132. Kristian Mark Surat says:

    Hi. I’ve got a minor problem. Ubuntu doesn’t install a desktop app, but I can still run the bash from the command prompt or powershell. I would just like to have the desktop app.

    1. Bash/WSL is a developer tool. We’re very explicitly only supporting command-line tools at this time.

  133. nayonabdulla says:

    Can anyone say, “what is the approximate data cost to install this feature”?

    1. Not unless we know what fees you’re being charged.

      However, when you install WSL, you’re asked to download a 180MB Ubuntu image.

  134. Karreg says:

    I installed this, but…
    After asking me to input user and password, it froze.
    No more luck starting it again. Freezing either from menu or cmd.
    I restarted the computer, and now it starts, but as root@COMPUTER.
    Does somebody know how to change that? It’s not secure at all. Will it allow to bypass UAC like that?
    Since there’s no support yet, it’s hard to find related blog or forum post…

    1. No, root/su/sudo only give you admin rights within the Bash/WSL/Linux space – not in Windows.

      Since you’re just starting out, might be easier just to nuke your current instance and run through setup again. From cmd/PowerShell:

      lxrun /uninstall /full

      lxrun /install

      1. Karreg says:

        Thanks! Good commands to know 🙂

        Unfortunately, result is the same.

        I set the user, the password, I get the feedback “passwd: password updated successfully”.
        And then nothing. It stays like that. No command prompt.
        If I start another instance of bash, it stays black. No prompt.
        If I restart I guess I’ll have the root issue again…

      2. Karreg says:

        Weird thing I could not uninstall it until I restarted the computer…
        I guess I’ll have to pass. Too bad, I wanted that for years… 🙁

        1. Make sure you close all your Bash consoles before running lxrun: If you don’t it won’t be able to delete all the files since many will be held open while in-use.

          Because you’ve having such issues, try this: Close all your consoles (might want to reboot just to be sure). Then open CMD or PowerShell and run “lxrun /uninstall /full”. Once complete, reboot again (just to be sure). Then login and open a new CMD/PowerSHell console again and run “lxrun /install”. This should download a new copy of the distro and re-install it for you. You should be prompted for a UNIX username and password.

          Note: If you’re running Kaspersky, Avast, AVG etc. anti-virus, try turning them off during install – they appear to be causing some issues in WSL on Win10AU as they aggressively scan the files extracted from the distro.

          1. Karreg says:

            Thanks but no luck with that. No antivirus, reboot before uninstalling, reboot before installing, and still the freeze after “passwd: password updated successfully”.

            I’ll eventually try again when there’s a new version, or when I reset my laptop…

            Thanks!

  135. Gautam says:

    i am unable to download gcc compiler. Always connection failed to its server.

  136. Maxceem says:

    How to mount another drive partition?

    I have 3 partitions on my hard drive C:, D: and E:.
    By default I have mounted C and D partitions. But how to mount third partition E?
    I know it’s impossible to mount usb drives, but it’s a permanent hard drive.

    Anyway bash on windows this is an awesome feature.
    Thank you very much guys!

    1. Maxceem says:

      Answering my own question.
      From the internet: currently only fixed NTFS drives will show up and my third partition has FAT even though it’s a fixed drive.

  137. jugal says:

    i did the same procedure as mentioned above but the bash shell is not getting downloaded. it is saying unable to download from windows store. any solution to this problem?

    1. Is your internet connection reliable? Do you often see downloads of 100MB+ files fail?

  138. icari says:

    how to execute 32bit application?
    currently only execute for 64 bit application?

    1. We currently only support ELF-64 binaries and only run on x64 OS & CPU-based machines.

      1. icari says:

        Thank you.
        Do you have a plan for excute ELF-32?

        1. Not at this time, no. Are there ELF-32 binaries that you can’t find the ELF-64 equivalents of?

          1. icari says:

            I use a tool that is 32bit cross-compiler. The bash on windows seems to be unusable.

  139. Jason Van Patten says:

    I finally have the Win 10 Anniversary Edition installed (had to force the install, but it worked) and have some feedback for the guys working on the bash integration. Please understand this is all IMHO; as a background, I’m an ol’ UNIX hack dating back over 25 years or so.

    First and foremost this is a phenomenal addition and a great first step. However, I think it could use some spit’n’polish:

    1. The terminal window. It needs to be thrown away. I understand the CMD window is part and parcel of Windows, but it’s just not… UNIX-y enough. Chuck it. Look to how Cygwin handles the TTY and follow suit. Theirs is a better solution.
    – Resizing the window shouldn’t re-scroll the window to some.. random spot.
    – Cut and paste should just … work. Highlight and it’s automatically copied. Tap another mouse button and it’s pasted. Easy.
    Some of this is just terminal emulation. But I get the feeling the crux of it is the actual window itself. IMHO: kill it with fire.

    2. Filesystem access. If I have extra filesystems mounted off of directories on C:\, I should be able to access them from within bash. Currently: I can’t. The only way I seem to be able to access them is if they’re represented by a drive letter. Well, drive letters are sub-optimal, and Windows clearly allows mounting filesystems on directories (eg: c:\media, c:\opt, etc). I’d like to be able to see those.
    – It would also be nice to be able to see SMB-mounted drives as well, though I can grok the difficulty there.

    Please keep at this. I’m so digging it. For the time being I’ll continue hacking away with cygwin, but you’re getting there!

    1. Great feedback Jason, many thanks for sharing.

      Re Console: A major overhaul of the console is currently underway. We’ll have lot more news on this front over the next several months, but know that we have resources allocated to work on fixing copy & paste, colors, VT sequence improvements, mouse support, etc.

      Also note that in the console today, you should be able to use your mouse to mark text, right click to copy, then right click again to paste.

      Re. In Win10AU, we only mount fixed drives – we simply didn’t have the time in RS1 to handle removable drives, network locations etc. We’re making a number of improvements in this area in RS2 and beyond.

      As you’ll have noticed, WSL is currently marked as a “Beta” feature. There’s a reason for this: We’re nowhere near “done” enough to call this a fully supported feature yet, but we are working to get there ASAP. Please be sure to jump on the Windows Insiders train to get access to the many improvements and fixes we’ve got planned – and be sure to search and/or file bugs on GitHub (https://github.com/microsoft/bashonwindows) and feature asks on User Voice (https://aka.ms/winbashuv).

      1. Jason Van Patten says:

        Hey Rich –

        Awesome to know things are still being worked on. I’ll get on the Insider train at some point and continue my feedback via GITHUB, et al.

        Thanks!

  140. Robert J says:

    I just gave this a go after hearing about it for some time… I am super disappointed with this in its current stage. Time to install OS X or CentOS on my PC.

    1. Sorry to hear. Care to share what problems you’re seeing? Good luck installing OSX on your PC 😉

  141. jamie says:

    there is no option for me to select the subsystem Linux. Developer mode is on… Help!

    1. Are you running Windows 10 Anniversary Update x64 version on an x64 machine as per the docs?the docs

  142. Abhishek says:

    While installing bash if we create a user then we can find its directory in “C:\Users\USERNAME\AppData\Local\Lxss\root”
    But what if we are using “root”?
    no user created !!!
    where to find its directory in Windows ?

    1. User’s home folders are under /home//

      Root’s home folder is /root.

      It is HIGHLY recommended NOT to run as root if at all possible. Root is not a user – root is a state of mind 😉

  143. Albert says:

    How can I host webpages on apache on bash, redirect localhost to bash apache?
    Thanks in advance.

    1. Don’t close your bash console window – when you close your last bash console, WSL tears-down all running Linux processes.

  144. Nitin says:

    windows subsystems for linux (beta)
    is missing in my os after updataion also.

    1. Have you checked that you’re running an x64 OS & CPU?

      1. MB Deo says:

        Hi Rich,

        I just (today, 02 OCT 2016) installed latest anniversary UPGRADE version Windows 10( Version 1607, build 14393.222) and then BASH-Ubuntu. Thanks, BASH is working very fine. I can access Windows file system from BASH/Linux (by doing … cd /mnt/c Or d or f) but not able to see BASH/Linux files (file system) from Windows explorer (I even opted the option to show hidden files!). I am not able to see the suggested directory like “C:\Users\USERNAME\AppData\Local\Lxss” … there is a “Users” under “C:” but no directory available for the Linux-BASH USERNAME that I have created is visible under C:\Users. Please help… where/how do I see the Linux-BASH files in Windows 10 Explorer?
        Thanks… MB Deo.

        1. Glad you’re enjoying Bash/WSL 🙂

          Please avoid making any changes to the Linux portion of the filesystem from Windows – data loss and/or corruption is likely if you do! We made the lxss folder hidden and system for a reason 😉

          Instead, share files you want to modify in Windows or Bash within your Windows filesystem and access from Bash via /mnt// as you describe above.

  145. Adri says:

    Hello, I’m on the “turn windows features on or off” after enabling developer mode and restarting and can’t find the windows 10 bash option to enable.

    Have been looking for people with similar problem and couldn’t find it, maybe anyone here knows about it?

    1. You must be running an x64 SKU of Windows 10 Anniversary Update on an x64-capable PC, and you must be running a build of Windows 10 >14316. I STRONGLY recommend you make sure you’re running Win10 Anniversary Update (or later), and are running a 64-bit version of Windows.

  146. du-hoc-uc says:

    It is very useful

  147. Javeed says:

    Microsoft Windows [Version 10.0.14393]
    (c) 2016 Microsoft Corporation. All rights reserved.

    C:\Users\Javeed’S I.A.I.C>lxrun /install
    — Beta feature —
    This will install Ubuntu on Windows, distributed by Canonical
    and licensed under its terms available here:
    https://aka.ms/uowterms

    The app that you are trying to run is not supported on this version of Windows.

    how to solve this problum

  148. Javeed says:

    Microsoft Windows [Version 10.0.14393]
    (c) 2016 Microsoft Corporation. All rights reserved.

    C:\Users\Javeed’S I.A.I.C>lxrun /install
    — Beta feature —
    This will install Ubuntu on Windows, distributed by Canonical
    and licensed under its terms available here:
    https://aka.ms/uowterms

    The app that you are trying to run is not supported on this version of Windows.

    how to solve this problum
    iam useing windows x64 and enterprice version

    1. Hey Javeed. Odd error – not seen that before!

      What OS and OS build/version are you currently using? Run Winver to display OS & version info, or run the following from PowerShell:

      [System.Environment]::OSVersion

      1. Yaroslav says:

        Hi Rich,
        Have the same problem (Windows x64 Version 10.0.14393)
        [System.Environment]::OSVersion commands shows the following:
        Platform ServicePack Version VersionString
        ——– ———– ——- ————-
        Win32NT 10.0.14393.0 Microsoft Windows NT 10.0.14393.0

        1. Could you check to make sure you’re not running an LTSB SKU? If you are, we had to remove Bash/WSL from the LTSB SKU builds because we’re not allowed to include “beta” features.

      2. Adelio says:

        Windows PowerShell
        Copyright (C) 2016 Microsoft Corporation. Tous droits réservés.

        PS C:\Users\Adelio> lxrun /install /y
        — Fonctionnalité bêta —
        Cette opération va installer Ubuntu sur Windows, un produit distribué par Canonical
        et sous licence, selon les conditions disponibles ici :
        https://aka.ms/uowterms

        L’application que vous tentez d’exécuter n’est pas prise en charge sur cette version de Windows.
        PS C:\Users\Adelio> [System.Environment]::OSVersion

        Platform ServicePack Version VersionString
        ——– ———– ——- ————-
        Win32NT 10.0.14393.0 Microsoft Windows NT 10.0.14393.0

        PS C:\Users\Adelio>

        1. Could you check to make sure you’re not running an LTSB SKU? If you are, we had to remove Bash/WSL from the LTSB SKU builds because we’re not allowed to include “beta” features.

    2. Gerald Romero says:

      Same here. It was working and I had become accustomed to using this feature. All of the sudden I get the same error. The app that you are trying to run is not supported on this version of Windows.
      PS C:\Windows\system32> [System.Environment]::OSVersion

      Platform ServicePack Version VersionString
      ——– ———– ——- ————-
      Win32NT 10.0.14393.0 Microsoft Windows NT 10.0.14393.0
      |
      —————- is this normal? My Windows is 64 bit.

      Uninstall and reinstall did not help.

      1. Could you check to make sure you’re not running an LTSB SKU? If you are, we had to remove Bash/WSL from the LTSB SKU builds because we’re not allowed to include “beta” features.

    3. Stéfano says:

      Same problem here.
      Win 10 x64 Enterprise 2016 LTSB
      Version 1607 Build 14393.351

      1. Ah hah! We can’t ship WSL in Enterprise LTSB versions of Windows because WSL is currently a beta feature. We’ll remove the beta label at some point in the future once we’re comfortable that we have sufficiently comprehensive perf, stability, manageability, etc., to meet the LTSB requirements.

  149. John Deighan says:

    I have an older, pre-release version of bash on my Windows 10 laptop, installed by joining a “cutting edge Windows developer group” of some kind. It was much, much better than this newer version that I just installed on my desktop. What I like better about it is: 1) I could refer to directories like this: /c/Program Files… instead of /mnt/c/Program Files…, 2) The PATH environment variable was automatically set to my Windows PATH variable so I could immediately run my regular Windows programs, 3) When I do “cd ~” I was placed in my Windows user’s Documents folder, 4) it didn’t require me to create a new user – I’ve already logged in to Windows, why do I need a new user account?, … I’m sure that if I use it (which I may not), I will find a lot more problems with it. Admittedly, what I want is to operate as a Windows user, but have access to Linux commands and utilities and NO MORE BACKSLASHES! The new focus seems to be to create a pure Linux environment which, as an aside, has access to the files on my Windows hard disk. Much less useful in my opinion.

    1. The bash that you refer to that allowed you to “refer to directories like this: /c/Program Files… instead of /mnt/c/Program Files” was likely a Cygwin Win32 Bash shell, not Bash on Windows: WSL only mounts your fixed drives to /mnt// at present.

      As of yesterday’s Win10 Insider Build, we now add your Windows path to your Linux path so that you can run any Windows exe on your path without having to prefix with an absolute path to the .exe itself: https://blogs.msdn.microsoft.com/commandline/2016/11/10/more-easily-invoke-windows-apps-and-tools-from-bash-on-windows/

      If you `cd ~` and end up in your Windows user folder, you’re running Cygwin’s Win32 bash, not Bash on Ubuntu on Windows.

      You need to create a new user when installing Bash on Ubuntu on Windows because you’re installing Ubuntu Linux itself and Linux’ user account model is very different to Windows’. Rather than (poorly) weld the two together we left them separate.

      If you want to be able to run genuine Linux binaries unmodified, they have to run in Linux. On Windows, you can do this in Bash on Windows (on WSL), or in a Hyper-V VM. If you want the convenience of some GNU tools on Windows, use Cygwin which is a port of the GNU tools recompiled as Win32 apps for running in Windows itself.

  150. uxxi says:

    I don’t understand why people are bashing this effort. I personally like it. Good work Microsoft. It’ll become stable with time.

  151. Ed Hepler says:

    I have been Bash on Windows 10 for a while now. In fact, I updated to Ubuntu 16.04 and have install a number of packages via apt-get. Everything has been going well until today. I attempted to perform a “sudo apt-get …” and it failed due to the system not being able to identify the Domain Name.

    Note that Windows update KB3200970 has just been installed.

    I looked up what might be causing this problem and found an article that suggested that the “host name” be put into /etc/hosts. However, sudo doesn’t work, so the edit to /etc/hosts can’t be completed. So I tried to go around this by using a Cygwin terminal to edit the file. I went to my login directory, then through AppData/Local/lxss/rootfs/etc and used an editor to add the line to /etc/hosts.

    Now when I attempt to start a BashShell session, the window flashes up for a split second then goes away.

    What did I break? Is it associated with the latest windows update?

    Thanks!

    1. Ed Hepler says:

      Update: If I run “bash.exe ~” in a command prompt (with administrative permissions), the system returns “Error: 0x80070490”

      1. Which OS release are you running?

        I don’t see this happen on recent Windows Insiders builds.

    2. What happens if you open a cmd prompt and then enter ‘bash’ and hit return?

      1. Mr AP says:

        We had Bash working on several machines, Windows 10 Ent 2016 LTSB Ver:1607 OS Build:14393.447.
        Some reason (maybe updates) Bash no longer works on any machine, it tries to open, flashes for a second and closes.
        Tried reinstalling now get.

        — Beta feature —
        This will install Ubuntu on Windows, distributed by Canonical
        and licensed under its terms available here:
        https://aka.ms/uowterms

        The app that you are trying to run is not supported on this version of Windows.

        What has happened and how can we fix it. We have just rolled out machines on LTSB for Bash and have more to roll out.

        1. Bash/WSL is not supported on LTSB because it’s currently a beta feature. Once we pull the beta label off, Bash/WSL will show up in LTSB SKU’s.

  152. Mikel Polena says:

    I am trying to locate the bash directory from File Explorer in Windows. I have changed the view options in order to show hidden directories, however the …\Local\lxss directory is not there in my system. Where else can the directory be located? Thanks!

    1. the lxss folder is located at %localappdata%\lxss … however, BE WARNED: DO NOT MODIFY THE CONTENTS OF THIS FOLDER FROM WINDOWS! 😉

  153. maddox says:

    can i install bash terminal on win OS 10 32bit

    1. As per the red text under the “Installing Bash on Ubuntu on Windows” heading:

      Important: To run Bash/WSL, you must be running a 64-bit version of Windows 10 on a 64-bit PC. If you do NOT see “Windows Subsystem for Linux” listed in the optional features, you are likely not running a 64-bit version of Windows 10, or are running a build of Windows 10 prior to #14316.

    2. Please read the article: WSL is only available on 64-bit OS’ & PC’s.

  154. Chris Grueninger says:

    I’m trying to get my Android device to mount and adb to it, but adb is not finding the device in bash, although it does on the windows side. Is there something I have to do for WSL?

    1. Sorry – we don’t yet support USB devices

  155. Sun_Tzu says:

    I’m having trouble using commands I’ve downloaded from the bash terminal getting errors like “/sbin is not included in PATH”, and “Couldn’t connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory” for commands like iwlist, network-manager commands, and ifconfig. I’m new to bash and cannot find any forums matching my problem. If anyone can help refer me to a fix or diagnoses it would be greatly appreciated.

    1. Assuming you’re running a recent Windows Insider build … we don’t yet support wireless connection enumeration, but do support Ethernet network connection enumeration. If you want to see both wireless and wired network connections, try invoking ipconfig.exe – the Windows network connection enumeration tool – from within Bash 🙂

  156. Jun says:

    Hope that you’ll take it on window 7

    1. Sorry – we depend on many kernel features that are only available in Windows 10+.

  157. Suvitha Viswanathan says:

    I forgot to let the restart happen, and I can’t figure out how to go back to make my computer restart after selecting developer mode and all that stuff. HELP

    1. To restart your PC, just hit the power button in your start menu.

      If you’d like to uninstall and reinstall your Ubuntu instance, follow the instructions here: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  158. Thanks for giving us this feature

Skip to main content