Windows で Ubuntu バイナリ(bash)が動作することの概略

投稿者: | 4月 4, 2016

マイクロソフトのハンセルマンの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の設定で開発者モードを有効にすると使用できるようになります。これでネイティブなユーザー モードのLinuxシェルが使えるようになり、bashを起動するとWindowsストアを介してCanonicalからWindows上のUbuntuを入手するように促されます。

可能になること

Windows 10 の cmd.exe でUbuntu の User Space と Shell が使用できるようになります。

Running emacs on Windows

Windows自体の上で動作する本物のネイティブなBash Linuxバイナリで、高速かつ軽量で、本当のバイナリです。awk、sed、grep、viなど、Linuxツールのすべてを備えた、Windows上の本物のUbuntuイメージです。

仕組み

マイクロソフトとUbuntuが本気になって作りました。
リアルタイムに、Linux の syscalls を Windows の syscalls に変換し処理します。

仮想マシン(ハイパーバイザー層)でも、コンテナー(Docker)でもなく、CygwinのようなWindows用にリコンパイルしたものでもなく、Ubuntuのバイナリがそのままネイティブに動作します。(Ubuntuのバイナリと同じチェックサムのプログラムがそのままWindowsで動作する)

現時点ではオープンソースでは無いけど、マイクロソフトが、「Windows Subsystem for Linux」と呼称する仕組みです。

Ubuntuさんがしたこと

Ubuntu root ファイルシステムをWindows アプリケーションパッケージにしてWindows Storeで提供します。
bashシェルから、/mnt でWindows のファイルシステム(Cドライブ、Dドライブなど)にもアクセスできます。(/mnt/c….)

image

 

追記:3/31 8:20

Running Bash on Ubuntu on Windows!で情報が追加されたので追記。

image

 

いろんなLinuxのバイナリを動くのを確認しているけど、topはまだ動作しない。MySQLも問題があるけど、多くのLinuxツールが動作することをTestingで確認してるらしい。

gccも動くよ。

image

 

rackup

image

 

apt-getでgitインストールしとくか。

image

 

9:00 追記

bashでviってやったらタスクマネジャーでプロセスとして見える。NTカーネルがフックして、プロセス名を取得する。

image

 

IPは分かれて持たず共有するし、ローカルポートもbashのほうとWindowsのほうで共有するよ。

bashからnotepad.exeが叩けたりはしないよ。

ファイルシステムは相互にみれる?

image

image

 

bashから、Cドライブとか見えるし、bashの中でrootとかにあるファイルは、Explorerで参照できる。シームレス。

 

性能?気になるよね。sysbenchかけてみよう。問題ない値じゃないかい?image

 

これは開発者用の機能ですよ。

image

 

image

カテゴリー: tips

Windows で Ubuntu バイナリ(bash)が動作することの概略」への5件のフィードバック

  1. Nathan

    subsystemってことは、Interixの焼き直しになるのでしょうか? あるいは、同じ仕組みをスクラッチで作り直したのでしょうか?

    返信
  2. ピンバック: 2日目:CentOS7にGUI環境が欲しい | 立命館コンピュータクラブ

  3. ピンバック: 使えないUNIXからゲイツ君がMS-DOS部を盗んでワシら貧乏人に持って来てくれたのが30年前。時は移り、漢字talkはBSDに乗っ取られ(逆)、windowsもUNIX回帰なのか。しかしwindows phone(win10に吸収予定)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください