このページの本文へ

前へ 1 2 次へ

仮想マシンではなく、Windows環境とUbuntu環境が同時に動く仕組み

Buildで発表された「Bash on Ubuntu on Windows」とは?

2016年04月06日 07時00分更新

文● 大塚昭彦/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 「BashがWindowsにやって来る(Bash coming to Windows)」。Build 2016の基調講演で、マイクロソフトのケビン・ギャロ氏はそう宣言した。今夏に予定されているWindows 10の次期メジャーアップデート「Windows 10 Anniversary Update」でそれが実現するという。

マイクロソフトはBuild 2016の基調講演で「Bash coming to Windows」と発表(画像はChannel 9より)

Bashの発表やデモを行った、マイクロソフト Windows&Devicesグループ コーポレートVPのケビン・ギャロ(Kevin Gallo)氏

Bashだけでなく、多数のオープンソースツールがネイティブで動作する

 「これは仮想マシンでも、(Cygwinのような)クロスコンパイルしたツールでもない。新しいWindowsサブシステムの“魔法”によって、Ubuntuのネイティブバイナリがそのまま動作する」(ギャロ氏)

 ギャロ氏の短いデモでは「Windows上でBashが動作する」ことだけが強調されたが、実際にはBashだけでなく、Ubuntuが提供するユーザーモードアプリケーション(ELFバイナリ)の多くがそのまま動作するという。実際、ギャロ氏のデモにおいても、Bashから起動したEmacsやsshクライアントが動作していた(言うまでもなく、これらはBashとは独立したバイナリである)。

Buildの基調講演では、BashからEmacsエディタを起動してJavaScriptファイルの内容を修正するデモが披露された

 ギャロ氏によると、この“Ubuntu on Windows”環境は、Windowsストアから直接パッケージをダウンロード/インストールできるようになるという。さらにインストール後は、Ubuntuのapt-getコマンド(パッケージ管理コマンド)を使って、vi/vim、Python、Ruby、GCC、gitなど、Ubuntuが提供する豊富なOSSアプリケーション群を追加することも可能だ。

 Ubuntuの開発を主導する英カノニカルのダスティン・カークランド(Dustin Kirkland)氏は、自身のブログ投稿で“Ubuntu on Windows”のパッケージ化を手がけたことを明らかにし、Windowsエクスプローラーで表示したスクリーンショットを掲載している。

rootfsフォルダを基点(ルート)として/bin、/lib、/etcといった、Linuxユーザーにはおなじみのディレクトリ構成が見られる(カークランド氏ブログより)

 このスクリーンショットを見ると、Ubuntuのルートファイルシステムは、Windows側から見れば「C:\Users\[ユーザー名]\AppData\Local\Lxss\rootfs\」以下に(隠しフォルダとして)展開される。一方で、Ubuntu側からはここがルート(/)になる。なお、Ubuntu側からWindowsのファイルシステムにアクセスしたい場合は、「/mnt/C(Cドライブ)」などのディレクトリをたどればよい。

 カークランド氏によれば、現在のパッケージはUbuntu 14.04 LTSベースで作成したものだが、数週間後には最新版であるUbuntu 16.04 LTSのパッケージ化も完了するという。

Windowsサブシステムの正体は“通訳者”である

 カークランド氏は、マイクロソフトのギャロ氏が“魔法”と称した「Windows Subsystem for Linux」の仕組みについても簡単な説明を加えている。

 マイクロソフトが開発したこのWindowsサブシステムは、Ubuntuのユーザーモードバイナリが発するLinuxのシステムコールを、リアルタイムにWindows OSのシステムコールへと変換してWindowsカーネルに伝える役割を果たす。“Linuxの言葉(システムコール)”を理解する“通訳者(サブシステム)”が仲介することで、Ubuntuのバイナリを修正することなくWindows環境で動作させることができるわけだ。

WindowsサブシステムはLinuxシステムコールを“通訳”する(Channel 9より)。この仕組みにより、Windowsカーネルは、WindowsアプリケーションとUbuntuアプリケーションの両方を同時に実行できる

 上述の仕組みを考えると、サブシステムにおける“翻訳”処理のオーバーヘッドが気になるだろう。しかしカークランド氏は、「Sysbenchによるベンチマークでは、CPU/メモリ使用率やI/Oパフォーマンスは(ベアメタルのLinuxマシンで動作させる場合と)ほぼ同等だった」と証言している。少なくとも、仮想マシンでUbuntuを立ち上げ、バイナリを実行するよりはずっと負荷が少ないと考えてよさそうだ。

 マイクロソフトのスコット・ハンセルマン氏も、自身のブログ投稿の中で、Cygwinとは違ってLinuxバイナリがそのまま動作し、しかも仮想マシンとは異なり動作は軽量だと述べ、これまでの手法とは異なることを説明している。

マイクロソフト Webプラットフォーム&ツール プリンシパルコミュニティアーキテクトのスコット・ハンセルマン(Scott Hanselman)氏(Channel 9より)

BashでCPU情報を表示。仮想マシンではないので、物理CPUそのものの情報が見えている(Channel 9より)

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

アクセスランキング

  1. 1位

    デジタル

    「そんなことも知らんで、介護やってるんですか?」 救急隊員の一言からkintone×AIの組織変革が始まった

  2. 2位

    TECH

    Claude CodeのPlan modeをやめてみる ~grill-meスキルで一歩ずつ設計を固め、アプリを作る~

  3. 3位

    ネットワーク

    「手のひらネットワーク機器」第4弾が登場、テーマは“ShowNetを手のひらに”! こだわりの両面マウントや高密度ポートも 6月11日発売

  4. 4位

    TECH

    Obsidianで構築したエンジニアの「第二の脳」― 個人ナレッジベース構築のすべて

  5. 5位

    TECH

    出自で決まる「SASE」の最適解 主要外資ベンダー5社のコンセプトと強み

  6. 6位

    TECH

    FortiGateの圧倒的シェアをサプライチェーン防御に生かす フォーティネット 2026年度事業戦略

  7. 7位

    デジタル

    ブラックスケルトンモデルも登場!ヤマハ初のWi-Fi 7対応AP「WLX333」「WLX232」投入

  8. 8位

    ビジネス・開発

    「デザインの仕事は半減するかもしれない」 MIXIデザイン本部が挑む「AIネイティブなものづくり」への転換

  9. 9位

    TECH

    酵素遺伝子の喪失がカギとなる、大腸菌がカメムシ共生細菌へ変化する仕組み

  10. 10位

    ITトピック

    SCS評価制度でセキュリティ投資「増額予定」が8割/大企業と中小企業のAI導入格差は2.7倍/情シスの3人に2人が「シャドーAI増加」実感、ほか

集計期間:
2026年06月01日~2026年06月07日
  • 角川アスキー総合研究所