Skip navigation.
ホーム
BLOG-ROMMER 日高のブログ

Windows 10 の Ubuntu Linux 環境機能

Windows 10 Anniversary Update (RS1)「Red Stone 1」のリリースが目前になって来た。ここでは以前から気になっていた、Windows 10 の Ubuntu Linux 環境機能をInsider Preview版で実際に使ってみたので簡単に解説する。

Ubuntu Linux 環境機能と書いたのは、実際に使ってみた結果Windowsカーネルを含めてUbuntu 14.04.4 LTSがほぼそのままWindows 10に入ることを確認したからだ。先の Build 2016 やその後のアナウンスでは「Bash」などと紹介されているが、実体はそんな単純なものではない。Windows 10でひとたびBashを起動したならば、UbuntuのユーザーランドがGUIと/dev/以下以外はほぼ全て追加される。そしてシームレスに既存のWindows環境と同居する。VMやコンテナの様な隔離はない。

参考情報

日本語解説

Linux互換機能について日本語のわかり易い解説が次の@ITの記事にある。

■Windows 10でUbuntuのシェル「Bash」が動き始める! だが日本語はどうなる?
http://www.atmarkit.co.jp/ait/articles/1604/11/news031.html

ここでInsider Previewというのは、8月2日リリース予定のWindows 10 Anniversary Update (RS1)「Red Stone 1」のPreview(事前評価)版のことだ。RS1には同機能が搭載されます。すでに誰でも入手可能なのである。

そのほかAnniversary Update(以後RS1)全般については次の日経ITproのページが詳しい。

■Windows 10 Anniversary Update「Red Stone 1」は何が変わるのか
http://itpro.nikkeibp.co.jp/atcl/column/14/090100053/042200142/

Microsoft社の情報

Microsoftでは近年新機能や新OSに関するロードマップは一般公開してないが、代わりに毎年春に「Build」というイベントで方針や新機能の詳細について公開している。Linux互換機能は初日に、下記Keynoteで公開されている。ビデオの38:27から5分程度デモをしている。

①Build 2016

■Build 2016
https://build.microsoft.com/

■Keynote Presentation
[38:27] Bash is coming to Windows
https://channel9.msdn.com/Events/Build/2016/KEY01

Build 2016ではほかにも次の詳細セッションが行われている。

■Linux Command Line on Windows
https://channel9.msdn.com/events/Build/2016/C906

■Running Bash on Ubuntu on Windows!
https://channel9.msdn.com/Events/Build/2016/P488

②公式トップページ

調べたところ、MicrosoftのRS1搭載のLinux互換機能に関する解説は現在、次のページがトップページになっている。
後述の実験の際も、詳細はこのページを参照するようにとのメッセージが出力された。

■MSDN:Bash on Ubuntu on Windows
https://aka.ms/wsldocs
https://msdn.microsoft.com/en-us/commandline/wsl/about

③その他のMicrosoftの情報

■Windows Subsystem for Linux Overview
https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-li...

■Windows Subsystem for Linux: Architectural Overview
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-...

■Windows Subsystem for Linux - Syscall Translation
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-...

■Windows Subsystem for Linux: Process Architecture
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-...

■Windows Subsystem for Linux: File System
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-...

④開発に協力しているUbuntuの情報

■Ubuntu on Windows ? The Ubuntu Userspace for Windows Developers
https://insights.ubuntu.com/2016/03/30/ubuntu-on-windows-the-ubuntu-user...

実験

上記に解説されている通り、RS1のLinux互換機能は単にBashが動作するだけではなく、Windows上でUbuntu Linux互換機能を直接動作させるものだ。

下記ページを参考にしてWindows 10 Insider Preview 1607(14385.0)をインストールした環境で実験してみた。

■How To Install And Run Bash On Ubuntu On Windows 10 Right Now
http://fossbytes.com/install-run-bash-ubuntu-windows-10/

Linuxアプリケーション

RS1上のBashを起動してapt-get install等のコマンドを使用して、各種Ubuntu Linuxアプリケーションをインストール、動作することを確認した。

またapt-getでインストールしたgccを使用してCのソースコードをコンパイル後、動作することを確認した。

ファイルシステム

RS1上で動作する、LinuxのアプリケーションからWindowsローカルなファイルシステムを読み書きできることを確認した。

Socket通信

単純なローカルソケット通信Linuxアプリケーションを作成、起動してWindowsのコマンドプロンプトで動作するWindows純正のtelnet.exeと送受信できることを確認した。

この様にRS1ではGUI不可、/dev/以下のアクセス不可という条件付きながら、Linuxアプリケーションをそのまま動作させることが可能だった。Windowsアプリケーションとの連係も容易と思われる。

補足

インストールをした結果、RS1には次の様に/etc/以下のファイルシステムほか、/dev/を除いた Ubuntu 14.04.4 LTSがそのまま全部入ってることがわかった。