Bash on Ubuntu on Windows 10 Anniversary Update

Posted on behalf of Russ Alexander.

It was just three months ago that we announced Bash on Ubuntu on Windows at Build 2016. After working in secret on the Windows Subsystem for Linux (WSL) for so long it was incredible to see everyone just excited as us for this project. A week later we released the subsystem to the Windows Insider community. Since then we have been overwhelmed with the response that we have received. News articles, blog posts and social media have fueled the excitement for WSL leading to new developer communities that have helped guide and refine our development priorities. It is the support and enthusiasm of our users which has helped us get to where we are today. We are very appreciative of all the bug reports, suggestions, critiques, and ideas which have been submitted. Thank you so much for your help. We look forward to your continued support.

Our original plan was to keep WSL only within the Windows Insider program for the upcoming Windows update with the goal of gauging community feedback and refining quality. However, we have heard a strong and clear message that you would like us to ship WSL with the next Windows release. As a result, we plan to include Bash on Ubuntu on Windows as a beta feature in the upcoming Windows 10 Anniversary Update. Doing this will allow even more people to try WSL and we are excited to see what this new group of users will do.

Moving forward we will be investigating new areas of interest while continuing to support the following scenarios:

  1. GNU command line tools such as grep, sed, and awk
  2. File system and symlink support within the WSL environment
  3. Ability to run apt / apt-get for installs, updates, and package testing
  4. Basic functionality for languages such as NodeJS/npm, Python, Perl
  5. Command line tools such as Vim, Emacs, Git, and SSH

This official beta will be nearly identical to what is in the hands of Insiders today. After release, the beta will be serviced like any other Windows component. New enhancements and fixes will continue to roll out via our Windows Insider program which will remain the best place for the most recent builds and continuous updates. Users should continue voicing feature requests at the WSL User Voice page for prioritization, and report any issues to our Github page. As we continue to develop, new features and fixes we will be reflected on our MSDN documentation.

There is still much work to be done and we have a lot of excitement for the journey ahead. We look forward to seeing all of the great things you will do and make with WSL.

Comments (65)
  1. Michael Lovett says:

    Honestly, for our company, this is the most anticipated feature/direction for Windows 10. I hope it ROCKS

  2. James Welch says:

    I lost my start menu. Fixes don’t seem to work. What to do?

    1. Hi James, lost the start menu? Interesting. WSL should have no impact on the start menu:

      If you think this is WSL related I would suggest taking this over to our issues page on github:

      If this is not WSL related, I would suggest starting with the troubleshooting steps here:

      1. Dean Vidafar says:

        Pretty sure you won’t see this but there is one thing that makes a large portion of people still favour Apple OS’s implementation, it does not seam like the ability for scripts to interact with the network card like some form of passthrough. I need direct access to the network card for my job and thus I’ve forced to put up with a hideous MacBook and not my Surface Pro 3. Do you think there will be this functionality in future?

        1. Hey Dean. Could you expand on what you mean by scripts interacting with the network? Do you mean using things like ip / ifconfig, etc? If so, we’re very aware of this issue and are working to resolve it.

  3. Dan says:

    Hi Jack, Thanks for the update, all the new development on WSL is exciting. I’m switching from Mac back to windows at work since I’ve had some success with WSL, so I hope it continues to be supported in the future! I look forward to having it available in the production release (anniversary update) so some of my coworkers will be able to take advantage of WSL.

  4. Ken says:

    Totally digging docker on hyperv driven on wsl. I’ve been doing web development using ubuntu on virtual machine for more than 4 years and now moved migrated completely.

  5. krisk says:

    find ./ |xargs grep ‘please’
    i have never learn findstr

  6. Pavel says:

    Please add shared memory support in the top list (the issue is already among github issues and inside uservoice voting)

  7. Greg Pasquariello says:

    One of the must-haves for developers migrating from a mac world, is the ability to edit files from Windows (VS Code) and watch for changes on the linux side, so that our build tools (like webpack) can automatically rebuild.

  8. Harry Gindi says:

    Any plans for unix socket support in datagram mode (also making these sockets available on the Windows side, maybe translating into winsock)?

    1. Ben Hillis says:

      Yes, datagram Unix sockets are on our backlog.

  9. Federico says:

    Hello Jack , that’s great news .
    I suggest you eliminate the need to activate the “developer mode” , a deterrent for users not professional. Still , it would be important to eliminate the need for administrative rights to the use of ICMP ( Ping ) . Last thing , a link on the desktop for installing Ubuntu environment would be the most practical thing .

  10. Denton Yoder says:

    I am more excited about this release than I have been of any windows updates in the last ten years. I also found that you could run Xming on your windows and use graphical Ubuntu tools targeting the display back to windows… Many old models we use compile easily on Ubuntu. I am hoping that I will no longer have to host linux servers for students to learn how to model 🙂 They can use their own laptops!

    1. Federico says:

      Try VcXsrv, a very fast and fast growing X-Server.

  11. tecnologo says:

    Will security testing tools run in the WSL? Will pentesting tools be able to built up and tear down connections and manipulate the TCP stack easily as in *nix distros?

    1. Jack Hammons says:

      What tools are you interested in running on WSL?

      1. tecnologo says:

        Hey thanks, sorry for the delayed reply. Tools like nmap, metasploit, sslscan, sqlmap, nikto, airmon/airodump/aircrack/aireply, reaver, ettercap, scapy for example.

        I know there are Windows equivalents for some of these, but I’ve always preferred running them from my Kali Linux VM. Being able to run the above reliably from the host OS would effectively allow me to remove the need for a VM all together. Many thanks.

  12. pax says:

    default repository is just to old, and missing important packages.

    1. Petter says:

      Agreed. Seems to be working well, though. Hopefully we will get new packages soon.

      1. Canonical tends to freeze apt package repo’s alongside their LTS releases.

        If you want to install the latest versions of tools like git, ruby, python, etc., add Private Package Archive (PPA) sources to your config – then you simply install/update from there.

  13. Akil Madan says:

    Guys, I am absolutely pumped. Well done to your team and for Microsoft as a whole for making this happen. I hope the enthusiasm and support continues well into the future and this becomes a 1st class core component of Windows (I know it’s an incredibly difficult challenge for a subset of the total audience).

    As the only person in our Rails development team who doesn’t use a Mac, I often find myself having to explaining my choice. I am a big believer in Microsoft’s vision of a single core and universal scalable apps and I absolutely love the quality and flexibility of Windows and the hardware (I am on a Surface Book of course). However, working on a Linux based stack on Windows hasn’t been easy; VM demands resources, sharing files between two fundamentally different file systems has lead me into trouble a few times and so on. I know WSL won’t solve all these problems but its one big validation that Microsoft and your team are aware of the challenges a modern web developer faces when choosing Windows. I am hoping that one day I won’t have to run VMs and I’ll have harmonic file system support between WSL and Windows and I can stick with Windows to do ALL my development no matter what the target platform is. I really look forward to that day. Keep it up!

    1. M Edward/Ed Borasky (@znmeb) says:

      Working with Linux stacks / DevOps is a lot easier now that Docker for Windows works with Client Hyper-V on Windows 10 Pro.

  14. Kay says:

    Alright guys. Time to do this… I need to retire my Ubuntu VM already…

    Seriously, not being able to develop properly on Windows and having random stuff not working, is just unfortunate… This problem needs to be killed.

  15. Andy Thomas says:

    I just started a basic desktop from this environment (installed ubuntu-desktop and tightvncserver)
    running xterm, xeyes, firefox and mwm window manager

    screen grab here:

    Way more than I expected to be able to do !

  16. M Edward/Ed Borasky (@znmeb) says:

    I had to stop taking the Windows Insider preview builds – they were taking two hours to update! I’m glad to see this is coming to the main line.

  17. Fidel says:

    Fantastic work. This is an amazing feature which I’m sure will have very interesting future uses.

  18. “After release, the beta will be serviced like any other Windows component. New enhancements and fixes will continue to roll out via our Windows Insider program which will remain the best place for the most recent builds and continuous updates.”

    Do you have any expectation for when updates would move from an Insider branch to the main branch? I sincerely hope we haven’t got to wait until the release of Redstone 2 to the main branch before we see any enhancements or fixes being made widely available?

    1. The Windows 10 Anniversary Update will receive critical bug fixes through the standard Windows Update channel. New features and non-critical bug fixes will be made available through the Insider program. We know this is less than ideal for a large number of users but is necessary considering where we are in the Windows stack.

  19. David says:

    Will ubuntu on windows eventually support GUI applications?

  20. trydis says:

    Anyone else tried to activate “Windows Subsystem for Linux” while using BitLocker?

    I was barely able to get my machine up and running again, lots of error codes and recovery key party. My colleague was not so lucky and had to reinstall everything.

    I had to disable BitLocker for now or else my PC will freak out every time i reboot. I guess my only choice will be removing the “Windows Subsystem for Linux” and activating BitLocker again 🙁

    1. mark says:

      I also could not get my machine to boot with WSL installed and bitlocker enabled. System Recovery was required.

  21. Rush says:

    Thank you so much for this. This will help insure that Windows 10 is used by power users.

  22. BillyBobBaker says:

    Hey there 🙂
    Thanks for this awesome tool !
    Do you plan to provide 256 colors terminal feature ?

  23. KRR says:

    oh no 32bit… darn.

  24. Vikram Das says:

    Are we also getting Windows native SSH server also ?

    1. Robert Oeffner says:

      On a related note, will the WSL ssh tools be unified with the OpenSSH port done by the PowerShell team, ?

  25. Abhineesh says:

    Its a good step… Thanks

  26. Brad Hollingsworth says:

    Is there a way to disable this through Group Policy?

    1. Jack Hammons says:

      You can disable Bash on Ubuntu on Windows by disallowing access to the Windows Subsystem for Linux optional Windows component.

      1. S. E. M. says:

        Can you please provide a link and/or more specific information on how one would disallow access to the Windows Subsystem for Linux optional Windows component? We would want to block this via GPO, especially given the expanded functionality coming soon. However, in my searches, I am unable to determine how specifically this can be done.

        Thanks in advance for your assistance.

  27. Robert Oeffner says:

    I just installed WSL on my PC after having done the Win10 anniversary update. So far it seems to work great.

    WSL appears to be installed in a hidden directory under %USERPROFILE%\AppData\Local\lxss. I found that I have to install WSL for each user on my PC and wonder if this is ideal, if not overkill. WSL takes up about 2Gb of space and it seems a bit sandboxed as in oblivious to other users on the Windows PC.
    Would it not have been better to have WSL installed somewhere common such as under %SystemRoot% thereby not needing to clog up filespace with 2Gb for each user wanting to use WSL.

    1. Robert Oeffner says:

      Correction, Linux on Windows only appears to use about 0.5 Gb of disk space after installation. But this soon increases as various packages are installed such as gcc and other basic necessities.

  28. Carl Patenaude-Poulin says:

    This is the latest article and it’s a bit more than a month old. I’d be very interested to hear about what the WSL people are currently working on!

    1. The next round of Insider builds has been pushed out to the fast ring and we have re-kicked off our release notes ( You should be seeing some good stuff from us over the next few months.

      We also have plans to continue the blog post run and should have more content as things light up.

  29. Jörg Uhlmann says:

    Hi, thanks for developing WSL, it is realy nice and helpfull.
    I try to mount remote filesystems via sshfs. ssh itself works very well, but sshfs occurs an error:
    “fuse: device not found, try ‘modprobe fuse’ first”
    and then:
    “modprobe fuse
    modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file ‘/lib/modules/3.4.0+/modules.dep.bin'”

    it looks like the kernel modul fuse isnt implementet. correct?

    Does it possible to implement this module?

    thanks Jörg

    1. Thanks for trying out WSL.

      Fuse is not supported in the Anniversary Update. We have been directing users to our User Voice page to help us prioritize which features to work on next. There is already a Fuse ask on the page so I would suggest upvoting it.

      Link (a little long) is:

  30. Andy Beak says:

    This is really awesome and together with Docker Toolkit (I only have Windows Home edition) is turning my Windows machine into an exciting place to develop.

  31. s0ne says:

    While I was playing with bash on Windows, I noticed that I could delete files that anti-virus self-protected using mini filter driver
    by typing “rm [file]” command.
    It cannot be deleted on standard Windows environment such as File Explorer and so on.

    Should anti-virus company investigate and improve their self-protection technology? Or Is this a bug or problem due to BETA version of bash on Windows?

  32. Daniel says:


    the WSL is really a great idea.
    But it allways stops at 13% while searching and installing updates / upgrades.
    Does someone else has same problems too?

  33. Abhijit says:

    i have installed gedit on bash win10aniv. via sudo apt-get command. but after that it is showing an error
    xdg_runtime_dir not set in the environment
    Gtk-WARNING **: cannot open display
    how can i resolve the problem??
    i have already done pkexec command..

  34. bob deming says:

    This is just too cool. I’m a mac fanboy–mostly because macs are unix compliant (my first mac was the G4 mac mini). (I’m a Linux/unix sysadmin.) But I have a win10 system for work. And I really like win10. (Maybe I just like the underdog.) openssh for powershell was definitely nice, but this is tremendous. I think I’ll try building ‘Linux from scratch’ just to see if I can.

  35. Chirag says:

    Will Hadoop will work???

  36. Melody says:

    Hi, thanks for the update. However, I’ve met with an error I cannot resolve: I neglected to read this beforehand, and excitedly opened a file in my ubuntu subsystem with my windows application, pycharm. Now I cannot view, edit, or delete any files from both the ubuntu subsystem and windows.
    On ubuntu:
    rm: cannot remove ‘’: Permission denied
    On windows, a dialog window:
    You require permission from to perform this action.

    How should I go about resolving this issue? I can still view the directory structure from both windows and ubuntu bash on windows, but that’s all I can do with the folder.

    1. Robert Oeffner says:

      I had a similar issue a while ago. I recall that in order to delete the offending directory I first had to log in with the built-in Windows System Administrator on my PC, then change ownership of the directory and its contents, then grant myself full permissions, and finally I could delete the directory.

  37. dg says:

    is it possible to solve the following:
    # ufw status
    ERROR: iptables v1.4.21: can’t initialize iptables table `filter’: Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.

  38. Ciano_p says:

    Can anyone tell me where to find the system log file? I’ve looked for /var/log/syslog but that file doesn’t exist. I do have several other log files/dirs in /var/log but no syslog.

  39. Preetam says:

    Is it possible to update the Ubuntu bash version to 16.0.4 such that the gcc GOMP version is 4.0 ? currently the GOMP version that comes as default is v3.1

    1. Jack Hammons says:

      Ubuntu 16.04 is now the default version that WSL uses.

  40. Shabbir says:

    please add tab support in cmd, i moved onto windows 10 but i think icmp etc is stillnot enabled, so i moved back to windows 7. so these features are a must only for this purpose i use i always run a linux vm on my windows.

  41. Krister Axel says:

    I can tell you right now that I have our Rails 3.2 stack running on this and i am thrilled. Coming from the Mac side, I certainly had a bunch more packages to install, but that’s Linux for you. The error messages were informative and I now am running unicorn in linux and accessing it from localhost on Chrome from Windows. Totally ace. The database lives in windows too, but at least for rails, you have to use (not localhost) which was a bit tricky. But seriously, I set my box up about a day and a half, so that’s not half bad. Thanks for all the hard work on this.

  42. Christian Halstrick says:

    Is there a way to test from a java program whether bash is installed? In a Java library (JGit) we are searching for bash.exe on PATH and use it to execute some scripts. Now I do find a bash.exe but when I start it the installation procedure is triggered where the user is asked to press “y” to continue. This functionality breaks the library! If I could test whether bash is installed I could refuse to call this bash.exe.

  43. Bishwajeet says:

    Its just been less than a week since I have installed Bash in my PC and I have messed it up a lot. Do i have any option to reset the application ? Because I really don’t want to reinstall the application again as it takes a lot of time and a GB of data. Please help !

    1. If you’re running Creators Update and did NOT install your distro from the store, you can remove your current distro using `lxrun /uninstall` as per the docs: The next time you run bash.exe, you’ll then be prompted to re-download the Ubuntu distro, which is ~200MB in size.

      If you’re running a recent Windows Insider build and installed a distro via the store, you can call ` clean`. For example, if you’re running Ubuntu, call `c:\> ubuntu clean` from Cmd/PowerShell. This will nuke your extracted distro. The next time you run your cleaned distro, it’ll re-expand the already downloaded distro before running it as usual.

Comments are closed.

Skip to main content