logo
Microsoft Build

「Windows 10」で動作するUbuntuのBashシェル--その実現方法

Steven J. Vaughan-Nichols (Special to ZDNet.com) 翻訳校正: 編集部2016年03月31日 11時02分
  • このエントリーをはてなブックマークに追加

 「Windows 10」の次期大型アップデート「Redstone」では「Ubuntu」が動作することになりそうだ。

 Microsoftと、Ubuntuの開発元であるCanonicalは、コンテナ内や仮想マシン(VM)上のLinuxではなく、「Windows Subsystem for Linux」(WSL)という、Windowsネイティブなライブラリとプログラムを使ってUbuntuを稼働させようとしている。

 WSLは、1月にリリースされたWindows 10のプレビュービルド「Build 14251」でひっそりと追加された。そのリリースから数日後、lxcore.sysとlxss.sysという2つの新しいサブシステムが、WindowsプログラマーによるLinuxアプリケーション開発のためのブリッジなのではないかという指摘が、ある開発者によってなされた。その指摘は半分当たっていた。

 WSLはそういった用途にも使えるが、最大の目的はUbuntuのユーザーモードイメージをサポートするというものだ。Microsoftの広報担当者は「われわれはWindows内にWSLという新たなインフラを構築した。このインフラ上で、われわれの素晴らしいパートナーであり、Ubuntu Linuxの開発元であるCanonicalが提供してくれたUbuntu純正のユーザーモードイメージが稼働する。これによりWindows上のUbuntu環境内で、Bashをネイティブなかたちで実行できるようになった」と語っている。

 CanonicalのUbuntu製品および戦略チームの一員であるDustin Kirkland氏によると、これは「Cygwin」と同一線上にあるものではないという。Kirkland氏は自身のブログで、Cygwinでは「オープンソースのユーティリティをWindows上でネイティブなかたちで実行させるために、ソースコードからの再コンパイルを行っている。今回われわれが話題にしているのは、UbuntuのELFバイナリとビットレベルで、そしてチェックサムレベルでまったく同じものをWindows内で直接動作させることだ」と述べている。

 またKirkland氏は、「Microsoftにおける優秀な開発者チームは、Microsoft Researchのテクノロジを取り込み、LinuxのシステムコールをWindowsのシステムコール(API)にリアルタイムで変換するための努力を重ねてきている。Linuxに詳しい人であれば、これを『WINE』と対称をなすもの、すなわちWindows環境上でUbuntuのバイナリをネイティブ実行するものだと考えてもよいだろう。なお、Microsoftはこれを『Windows Subsystem for Linux』と呼んでいる(現時点ではオープンソースではない)」とも述べている。

-PR-企画特集