Microsoft Brings Bash on Ubuntu on Windows 10

Yes, you’ve read that right, and no, it’s not an April Fools’ Day prank, Microsoft and Canonical really cooperated to bring Ubuntu user space to Windows 10 allowing developers and others to run bash commands directly into Windows. All you’ll need to do is to install Ubuntu on Windows app, hit the Windows key, and type bash to get a terminal window.

Ubuntu_Bash_Windows_10

Once you are in bash, you can run any Ubuntu command line, including apt-get to install packages, just like if you were in a terminal in Ubuntu, and all binaries are the same as in Ubuntu, as Microsoft implemented new infrastructure within Windows called the Windows Subsystem for Linux (WSL). That means Ubuntu runs without Linux, but instead the implementation is a conversion layer somewhat similar to Wine to run Windows programs in Ubuntu, or Libhybris to convert Linux calls to Android calls.

Dustin Kirkland, in charge of Ubuntu Product and Strategy, explains it’s not Ubuntu running in a virtual machine or a container, not something like cygwin his blog post about the announcement:

“Right, so just Ubuntu running in a virtual machine?”  Nope!  This isn’t a virtual machine at all.  There’s no Linux kernel booting in a VM under a hypervisor.  It’s just the Ubuntu user space.
“Ah, okay, so this is Ubuntu in a container then?”  Nope!  This isn’t a container either.  It’s native Ubuntu binaries running directly in Windows.
“Hum, well it’s like cygwin perhaps?”  Nope!  Cygwin includes open source utilities are recompiled from source to run natively in Windows.  Here, we’re talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly in Windows.
[long pause]
“So maybe something like a Linux emulator?”  Now you’re getting warmer!  A team of sharp developers at Microsoft has been hard at work adapting some Microsoft research technology to basically perform real time translation of Linux syscalls into Windows OS syscalls.  Linux geeks can think of it sort of the inverse of “wine” — Ubuntu binaries running natively in Windows.  Microsoft calls it their “Windows Subsystem for Linux”.  (No, it’s not open source at this time.)

CPU, memory, and I/O performance is almost the same as native performance according to results obtained with sysbench utility.

Since there are already ways to access a Linux terminal in Windows as mentioned above, this new feature may not not seem much, but for example that means Ubuntu or Linux instructions posted in this website, most of them using the command line, will run in Windows 10 natively without having to install a VirtualBox or VMWare and a virtual machine running Ubuntu.

You can also get a perspective from a web developer using Windows 10 on Scott Hanselman blog.

This is a beta release so it’s not working 100% just yet. If you are part of Windows Insider program you can have access to the early beta of Ubuntu on Windows.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
17 Comments
oldest
newest
mdel
mdel
8 years ago

the perfect trojan horse..
well now to permanently kill the “great” windows experience, install X and feel the pain =)

besides the filesystem (obviously), which interfaces are available, display, networking, bus devices ?

wait wouldn’t the smart move have been to do the opposite ? bring windows binaries to linux..
I mean steam guys, bring steam to linux pleeaaase..

cortex-a72
cortex-a72
8 years ago

yeah, linux geeks used to compile their linux kernels every time a led should blinking another way than it did before or to change screen resolution, clearly got confused how Windows run ubuntu progs… xD But Wintows NT from the very beginning has a conception of environment subsystems incorporated in its architecture, which gives you an ability to implement every system API/system call services interface needed. Basically, – every userspace from the other OS. withot any emulation or that ugly virtualization. If you desire. POSIX, OS/2, anything else. Giving NT has a great modular design, it’s all possible relatively easily.… Read more »

Laurent Simon
Laurent Simon
8 years ago

@cortex-a72

You should not spend time to write long comments like this one. When you wrote:

linux geeks used to compile their linux kernels every time a led should blinking another way than it did before or to change screen resolution

Everybody clearly understands that you don’t know anything about Linux. Nobody reads the rest 🙂

cortex-a72
cortex-a72
8 years ago

@Laurent Simon
I was using sarcasm, but that one was not far from the reality, and I don’t need to convince you, just read numerous forums if you want to see, they are speaking out on this topic loudly.

mdel
mdel
8 years ago

@Laurent Simon well i think you got trolled on that one, or let’s say it was a figure of speech on his part. Anyways, that video is hilarious ! they basically keep saying “if i were (not using windows) blahblah or if i were (still not using windows) blahblah” to conclude with “the team is working very hard on this” (making sure you keep not using windows !?). I’m seriously wondering if they realize that it’s not the shell that makes linux attractive, who knows.. cortex-a72 : For example that awful ugly graphical things – X server and other dinosaurs… Read more »

Martin
Martin
8 years ago

This is almost some kind of April fool !
Imaginate that people will have to install tons of Linux library to run most relevant applications.
And everything will be on top of Windows Kernel ?
Even NTFS will produce many kind of errors, because it is simply far from been an EXT4 filesystems.
It will be a complete flop !

cortex-a72
cortex-a72
8 years ago

@Jean-Luc Aufranc (CNXSoft) Ok, it’s their choice. I don’t believe it much, I see it by my own eyes, there is some flirting lately not more. Actually back then in the early 90ths, when NT was coming out, full support of the POSIX subsytem was more needed to encourage unix developers and customers migrate on NT. And they didn’t release the full support. There is no real demand from the developers side on Windows to bring bash now. It’s just ridiculous argument. ” Many developer tools are working better in Linux.” But this one is even more ridiculous unless you… Read more »

cortex-a72
cortex-a72
8 years ago

@Martin Lol. right. but they first would need to find those “tons of relevant applications”, with which there is no the same app or adequate alternative on Windows from the beginning. (except invicible bash of course xD) But generally you’re wrong. NTFS or any else FS, in this scenario would not be a problem. You should learn somewhat about environmental subsystems on Windows and the NT architecture and generally – on OS architecture to do such a conclusions. You seem missing the point. But coincidently, your conclusion is right, just for another reason, – that would be a flop cause… Read more »

Paul
Paul
8 years ago

Technically, there’s nothing new. NT had POSIX subsystem (expensive). Cygwin is there since 1995, UWIN from 1997. In 2002, you could run Linux binaries on Windows using LINE (look up on SourceForge). In recent couple of years, it was a common theme among open-source project to tell: “You have a problem building our project under Windows? Stop wasting your and our time, install Linux in VM and rejoice.”

Organizationally, it’s of course a big step that Microsoft now tells everyone the same: “If you have problems with Windows development tools, just use Linux ones instead.”

cortex-a72
cortex-a72
8 years ago

@Paul Yeah, it’s a way more politically correct answer to this imagined question that the right one – “If you have problems with Windows development tools, then you are just a moron and your open source project whose developers weren’t able to handle it to compile it on our dev tools is moronic”. Seriously how you guys love to talk about yourselves and give yourself such a freaking “important” role. Gosh, it’s even somewhat sad to look at this. The normal project should not be built every time a user wants to use it at all – it should be… Read more »

Paul
Paul
8 years ago

cortex-a72, LOL, this matter has really got you spinning ;-). Pity nobody reads your long ramblings, I may imagine there’s even rational seed somewhere in there, just your curse words vocabulary isn’t large enough to convey it ;-).

madbro
madbro
8 years ago

@cortex-a72
u mad bro?

obviously you don’t understand that this is an unofficial acknowledgement by MS that Linux has by far the most flexible and powerful set of userspace tools. Something that MS has failed to be able to provide until now. They have finally caught up to the idea and will now slowly start to provide a complete *nix sublayer to make windows finally a useful and productive system. Looking forward to the first truely open MS Linux Distro built on the NT kernel… should be interesting.

Popolon
Popolon
8 years ago

Still on a non-stable kernel
Still on a closed thing hard to debug
Still on something that lock you for update without asking you if you want to update now, locking your work, blocking you from shuting down your computer when you are hurry an still hope some battery for later work.

A very good thing on a so sucking and scary big binary blob 🙁

Martin
Martin
8 years ago

cortex-a72 :

But generally you’re wrong. NTFS or any else FS, in this scenario would not be a problem. You should learn somewhat about environmental subsystems on Windows and the NT architecture and generally – on OS architecture to do such a conclusions.

My point is that NTFS isn’t well designed. did you ever tried to move a file while it is open by an application ?
On Linux you can do that without any problem because EXTx FS are using Inode. On NTFS, you can’t, it will simply lock the file, there is no concept of Inode.

Boardcon Rockchip RK3588S SBC with 8K, WiFI 6, 4G LTE, NVME SSD, HDMI 2.1...