Windows 10でLinuxプログラムを利用可能にするWSLをインストールする(バージョン1803以降対応版):Tech TIPS
Windows 10では、Linux向けのバイナリプログラムをそのまま実行できるようになるWSL(Windows Subsystem for Linux)が提供されている。ただ、別途インストールが必要だ。本TIPSでは、そのインストール方法を解説する。
対象OS:Windows 10バージョン1709以降(64bit版のみ)
WSL(Windows Subsystem for Linux)とは?
Windows 10ではLinuxのプログラムを実行可能にする「WSL(Windows Subsystem for Linux)」が利用できる。当初、このWSLは実験的なβ版(当時の名称は「Bash on Ubuntu on Windows」)として提供されていたが、Windows 10 バージョン1709(ビルド16299)以降では正式なOS機能の一つとなっている。
現在ではLinuxシステムとの互換性も向上した他、Microsoft Store経由でのインストール、Ubuntu以外のディストリビューションの提供、コマンドプロンプトからWSLのコマンドを呼び出し可能になるなど、機能も向上している。
Linxu環境をエミュレーションするWSL
WSLはWindows OS上でLinuxの実行環境を実現するサブシステムである。Linuxのプログラムが発行したAPIやファイルアクセス要求などをWindows OSのAPIやファイルシステムアクセスなどに変換して、Linuxのバイナリプログラムをそのまま実行できるようにしている。Ubuntuの他、OpenSUSE、SLES(SUSE Linux Enterprise Server)、Debian、Kali Linuxなどのディストリビューション向けのプログラムをそのまま実行できる。
Ubuntuやその上で動作するBashシェルについては、以下の記事も参照していただきたい。
本TIPSでは、このWSL環境のインストール方法についてまとめておく。
[注意]旧β版のBash On Ubuntu on Windowsについて
lxrunやbashコマンドでインストールしていた開発当初のβ版の「Bash On Ubuntu on Windows」は、内部的には、本TIPSで解説するMicrosoft Store版のUbuntuディストリビューションとは別のインスタンスとしてインストールされている。すでにメンテナンスもされていないので、「lxrun /uninstall」コマンドで削除しておいた方がよい(TIPS「Windows 10のBash on Ubuntu on Windows環境を初期化/再インストールする」参照)。
手順1.WSL機能を有効にする
WSLを利用するには、まず「Windows Subsystem for Linux」という機能を有効にする必要がある。PowerShellを使い慣れているなら、管理者権限で起動したPowerShellコンソール上で、次のコマンドレットを実行する。追加後は、指示に従ってシステムを再起動すること。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
GUI画面で操作するなら、コントロールパネルの「プログラムと機能」グループにある[Windowsの機能の有効化または無効化]画面で「Windows Subsystem for Linux」の機能を有効にする。
[プログラムと機能]の起動
「アプリと機能」画面で、「関連設定」に表示されている[プログラムと機能]を実行する。Cortanaの入力ボックスまたは[Windows]+[R]で[ファイル名を指定して実行]を呼び出し、「appwiz.cpl」と入力して実行してもよい。
以上の手順で[Windowsの機能の有効化または無効化]画面が表示されるので、「Windows Subsystem for Linux」のチェックボックスをオンにしてインストールする。
WSLを有効にすると再起動を要求されるので、システムをいったん再起動する。
ここまでのWSL機能の有効化操作は、最初に一度だけ、管理者権限を持つユーザーが行えばよい。
手順2.WSLのパッケージをストアから導入する
WSLを有効化したら、次はMicrosoft Store経由でLinuxパッケージを導入する。この手順は、WSLを利用したいユーザーごとに(パッケージごとに)行う。
Microsoft Storeで提供されているLinuxのパッケージ(ディストリビューション)としては、次のようなものがある。それぞれ、ベースとしているディストリビューションが違っていたり、管理用コマンドや設定方法などが異なっていたりするので、慣れているものを選択していただきたい。Linuxにあまりなじみがないなら、比較的ユーザー数が多くて情報を得やすいUbuntuから始めるとよいだろう。
- Ubuntu(複数のバージョンあり)
- openSUSE Leap 42
- SLES(SUSE Linux Enterprise Server 12)
- Debian GNU/Linux
- Kali Linux
- Fedora(将来提供予定)
- WLinux(Debianベースの有償のLinux。WSL環境で使いやすくなるように、あらかじめいろいろカスタマイズされている)
なお原稿執筆時点でUbuntuに関しては、「Ubuntu 16.04 LTS」「Ubuntu 18.04 LTS」「Ubuntu(バージョン名なし)」という3つのパッケージが表示されている。
「Ubuntu(バージョン名なし)」は、提供時期に応じて、その時点での最新バージョンに自動的に切り替わるようになっている(当初は16.04 LTSだったが、原稿執筆時点では18.04 LTS)。
互換性の問題などで、特定のバージョンを使いたい場合はバージョン番号付きの方を、そうでない場合は、バージョン番号なしのUbuntuを使うとよいだろう。
ただし、新しいバージョンがリリースされたばかりの頃は問題が起こる可能性があるので、すぐにインストールするのは控える方がよい。例えばリリースされたばかりの18.04では、「apt upgrade」の途中で失敗するという問題があった(現在では修正されている)。
これらLinuxのパッケージは、「Microsoft Store」アプリを起動して検索窓に「Linux」と入力すると一覧表示されるので、そこからインストールしたいものをクリックして、次画面で[入手]や[インストール]ボタンをクリックすると導入できる。
現在利用できるLinuxディストリビューション
インストール可能なLinuxディストリビューションの一覧が表示されるので、利用したいものを選んでインストールする(複数インストール可能)。これらをダウンロード/インストールするのにMicrosoftアカウントは必要ない。この画面に表示されるのは、いわば「公式」とも言えるディストリビューション。それら以外のWSL関連のパッケージやサポートツールなども多数リリースされている。
これらのディストリビューションはそれぞれ独立して起動・利用できるので、必要なら複数インストールしてもよい。だが1つのディストリビューションを複数インストールして環境を使い分ける(例えば開発用と日常業務用に分けるなど)、といったことはできない。そういう使い方をしたければ、Windows 10にサインインするユーザーアカウントを別のユーザーに切り替えて、インストールし直すことになる。
検索窓に「Linux」と入力すると、「アプリ」グループの下に、これら以外のディストリビューションや(有償/無償の)関連アプリなども表示されるので、それらをインストールしてもよい。
WSL向けのLinuxやアドオン
最近では、WSL向けに特化したディストリビューション(WLinux※、有償)も提供されている。「X410」は、WLinuxで推奨されているXサーバアプリである(これは有償製品だが、Windows OS向けの無償製品もいくつかある)。WSLをよく使うなら、これらを導入してもよいかもしれない。
※【注意】WLinuxを導入/インストールしようとしても、「WslRegisterDistribution failed with error: 0x8007007b 〜 」というエラーが表示されて起動できないことがある。原稿執筆時点で提供されているWLinuxは、C:以外にインストールされているとこの症状が出ることがあるようである。WLinuxアプリのインストール先ドライブを変更するには、[設定]アプリの[アプリと機能]グループで「WLinux」を見つけてクリックする。すると下側に[移動]というボタンが表示されるので、「C:」へ移動させる(TIPS「Windows 10のWSL環境を初期化してクリーンな状態に戻す」も参照)。
インストールしたいアプリのアイコンを選択して[入手]や[インストール]をクリックすると、WSL上で動作するLinuxディストリビューションのダウンロードとインストールが行われる。
Linuxディストリビューションアプリのインストール
WSL上で利用できるLinuxのディストリビューションは、Windowsストア経由のアプリとして提供されているので、簡単に再インストールしたり、アンインストールしたりできる。
WSLの起動方法
インストールされたディストリビューションは、スタートメニューに登録されているのでそこから起動するか、スタート画面に登録しておいて起動する。
インストールされたLinuxディストリビューション
スタート画面のプログラムの一覧にインストールしたディストリビューション名が表示されているので、それをクリックして起動する。よく使うならアイコンとして登録したり、タスクバーに登録したりしておくとよい。
最初に起動したときには、ディストリビューションの内容をユーザーフォルダの下に展開して初期設定する処理が行われるため、しばらく時間がかかる。
数分待つと作業が終了するはずだ。最初に行う作業はユーザー名とパスワードの入力である。WSL環境では、Windows OSのユーザーやグループとは別に、WSLの中だけで閉じたユーザー管理が行われている。そのためのユーザー名とパスワードを最初に入力する必要がある。
ディストリビューションごとに異なる起動メニュー(スタート画面のアイコン)が用意されているので、目的に応じて使い分けることができる。
インストール後の設定や利用方法についての補足
インストール後は、それぞれのディストリビューションごとに固有の方法を使ってパッケージの更新などを行っておこう。例えばUbuntuなら、以下の記事で述べているように「apt update」と「apt upgrade」コマンドを使ってシステムやパッケージを更新する。
インストールしたLinux環境は基本的には英語版となっている。これを日本語化するためには、幾つかの作業が必要になる。具体的な方法はディストリビューションごとに異なるが、UbuntuやDebianなら次のようになる。
- TIPS「WSLのUbuntu環境を日本語化する」
- TIPS「WSLのDebian環境を日本語化する」
インストールしたディストリビューションの「エイリアス名」(例えばUbuntuなら「Ubuntu.exe」や「Ubuntu1804.exe」)を指定すると、コマンドラインなどからWSLのコンソールを直接起動できる。エイリアス名については次の記事を参照のこと。
インストールしたWSL上のLinuxコマンドをWindows OSのコマンドプロンプトから呼び出したり(どのディストリビューションを呼び出すかはカスタマイズ可能)、逆にWSL上からコマンドプロンプト側のコマンドを呼び出したりして使う方法については、以下の記事を参照していただきたい。
WSLの起動後、Windows OS側で使っているUSBメモリのようなリムーバブルドライブや、ファイルサーバのネットワーク共有フォルダを自動マウントする方法については、次の記事を参照のこと。
WSLでGUIのアプリを使いたい場合は、ローカルのWindows OS上にXサーバを導入するとよい。Xサーバの導入方法や、Xサーバ向けのアプリなどに関しては、次の記事を参照のこと。
インストールしたWSLの設定や追加したパッケージ、ユーザー環境、ユーザーファイルなどを削除/初期化して、また最初からやり直したい場合は、次のTIPSを参考にして、WSLアプリを「リセット」すればよい。
■更新履歴
【2018/10/11】最新のディストリビューション情報などを追加しました。
【2018/05/18】最新状況に合わせて内容を更新しました。
【2017/11/08】正式版として公開されたWSLに合わせて、内容を更新しました。
【2016/08/08】初版公開。
Copyright© Digital Advantage Corp. All Rights Reserved.