マイクロソフトのハンセルマンのBlog:
Developers can run Bash Shell and user-mode Ubuntu Linux binaries on Windows 10
Ubuntuの中の人のBlog:
Ubuntu on Windows -- The Ubuntu Userspace for Windows Developers
この2つのBlogで実態が明確になったのでまとめてみます。
使用可能になるOS
まもなくリリースされる予定のWindows 10 ”Anniversary” アップデートで使用可能になります。このアップデートで、開発者向けの機能として追加されます。
機能の追加で、Windowsの設定で開発者モードを有効にすると使用できるようになり、Windows Storeから取得できます。
可能になること
Windows 10 の cmd.exe でUbuntu の User Space と Shell が使用できるようになります。
- Ubuntu の /bin/bash が動作します。
- apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget,apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch...みたいなコマンドが全部使えます。
- SSH
- apt-get (でRedisとかも動かせる)
仕組み
マイクロソフトとUbuntuが本気になって作りました。
リアルタイムに、Linux の syscalls を Windows の syscalls に変換し処理します。
仮想マシン(ハイパーバイザー層)でも、コンテナー(Docker)でもなく、CygwinのようなWindows用にリコンパイルしたものでもなく、Ubuntuのバイナリがそのままネイティブに動作します。(Ubuntuのバイナリと同じチェックサムのプログラムがそのままWindowsで動作する)
Ubuntuさんがしたこと
Ubuntu root ファイルシステムをWindows アプリケーションパッケージにしてWindows Storeで提供します。
bashシェルから、/mnt でWindows のファイルシステム(Cドライブ、Dドライブなど)にもアクセスできます。(/mnt/c….)