開発や管理のためLinux環境が必要な場合や、Linuxを勉強しておきたいという人もいることだろう。ただ、専用のPCを構築したり、仮想マシンにLinuxをインストールしたりするのは少々ハードルが高い。Windows OSの拡張機能「Linux用Windowsサブシステム」を使えば、簡単にLinux環境が構築できる。そこで本記事では、これからWSLの利用を開始したい、また利用を再開したい人向けにLinuxディストリビューションをインストールする方法を紹介する。
現在、Webサーバの多くがLinuxで動作しており、その開発や管理にLinux環境の構築が求められることがあるのではないだろうか。また、AI(人工知能)開発においても、Linux環境が使われることが多い。そのため専用のPCを用意したり、仮想環境上にLinux環境を構築したりしているのではないだろうか。
Web系の開発者やインフラ系の管理者であれば、専用のLinux環境を構築した方が効率がよいかもしれないが、これから開発者や管理者を目指すには少々ハードルが高い。
少しLinuxについて学びたいという人は、Windows OSの拡張機能「WSL」を有効にするとよい。後述の通り、比較的インストールが簡単で、Windows OS上でLinuxの豊富なコマンドが利用できるようになるからだ。
そこで本記事では、これからWSLの利用を開始したい、また利用を再開したい人向けにWindows 11上にWSLとLinuxディストリビューションをインストールする方法を紹介していく。
WSL(Windows Subsystem for Linux:Linux用Windowsサブシステム)とは、Windows 10/11の拡張機能の一つで、LinuxのプログラムをWindows OS上で実行するための仕組みだ。
2017年10月、最初のバージョンとなるWSLが、Windows 10 Fall Creators Update(バージョン1709)向けに正式提供となった。この当初のWSL(以下、WSL1とする)は、LinuxのシステムコールをWindowsのシステムコールに変換するレイヤーによって実装されていたため、少ないリソースでLinuxコマンドなどが実行できたものの、互換性は高くなかった。
その後、2020年5月のWindows 10向け機能更新プログラム「Windows 10 May 2020 Update(バージョン2004)」で、仮想マシン(Lightweight VM powered by Hyper-V)上でLinuxカーネルを実行する新しいWSL(以下、WSL2)が正式提供された。WSL1に比べ、互換性が高いのが特徴だ。WSL2はHyper-V上で動作するが、Hyper-VをサポートしないWindows 10/11のHomeエディションでも実行可能だ。
2022年11月には、WSL2が更新されると同時にMicrosoft Storeでの提供が開始された(Microsoft Dev Blogs「The Windows Subsystem for Linux in the Microsoft Store is now generally available on Windows 10 and 11」)。
現在、Windows 10/11ともに、Microsoft Storeで提供されるバージョン(Storeバージョンと呼ばれる)のWSL2がデフォルトとなっている。現在もWSL1はサポートされているものの、明示的にWSL1を指定しない限り、WSL2がインストールされる。
なおWSL2をインストールする方法は、コマンドラインを使う方法とMicrosoft Storeからダウンロードする方法がある。どちらもインストールされるバージョンは同じなので、好みの方法を選択してほしい。以下では両方の手順を説明する。
[スタート]ボタンを右クリックするか、[Windows]+[X]キーを押して、[クイックリンク]メニューを開き、[ターミナル(管理者)]を選択して、PowerShellまたはコマンドプロンプトを管理者モードで起動する。
ここで以下のコマンドを実行すればよい。このコマンドを実行するだけで、WSL2とUbuntuがインストールできる。途中、UAC(ユーザー アカウント制御)による「Windowsサービスのホストプロセス」がデバイスに変更を加える許可を求めるダイアログが表示されるので、[はい]ボタンをクリックして変更を許可する。
wsl --install
Ubuntu以外のLinuxディストリビューションをインストールしたい場合は、後述の方法で明示的にインストールしたいLinuxディストリビューションを指定する必要がある。
上記のコマンドを実行した時に、WSLのヘルプが表示されたり、Ubuntuのダウンロードが実行されたりする場合は、既にWSL2がインストール済みとなっている。
WSL2のインストールが完了すると、Ubuntuのインストールの準備が実行され、再起動が要求される。再起動後、自動的にWindowsターミナルが起動し、Ubuntuのダウンロードとインストールが実行される。Windowsターミナルが起動するまで時間がかかることがあるのでしばらく待つこと。
Ubuntuのインストールが完了すると、ヘルプと設定画面を兼ねた[Linux用Windowsサブシステム]ウィンドウが開く。
このウィンドウが表示されたら、[スタート]メニューに登録された[Ubuntu]をクリックする。するとWindowsターミナルが開き、Ubuntuの初期化が実行される。
初期化が終了すると、Ubuntu用のユーザー名とパスワードの設定が求められる。ここでは、適当なユーザー名とパスワードを入力する。ここで入力するユーザー名やパスワードはWindows 11のサインインアカウントと一致させる必要はない。
なおパスワードの入力欄では、文字を入力してもアスタリスクや黒丸などの伏せ文字も含めて画面に何も表示されないことに注意してほしい。これは仕様で正常な動作だ。
入力したユーザー名が、このLinuxディストリビューションの既定のユーザーとなり、起動時には自動的にこのアカウントでログインされる。また、管理者にもなるので、root権限が必要な際に使う「sudo」コマンドを実行する場合も、ここで入力したパスワードを使用する。
WSL2は、Microsoft Storeからインストールすることも可能だ。前述の通り、コマンドでインストールしたのと同じものがインストールできる。
ただし、「Microsoft Store」アプリの検索入力ボックスに「WSL」や「Windows Subsystem for Linux」と入力して検索しても、WSL2が検索結果に表示されないようだ。Microsoft Storeからインストールするには、Webブラウザに以下のURLを入力し、「Microsoft Storeを開きますか?」と表示されたら、[Microsoft Storeを開く]ボタンをクリックする。なお、「https://aka.ms/」はMicrosoftのダウンロードページなどへのリンクに使われるURLだ。
「Microsoft Store」アプリが「Windows Subsystem for Linux」ページを開いた状態で起動するので、[インストール]または[入手]ボタンをクリックすればよい。途中、UAC(ユーザーアカウント制御)による「Windowsサービスのホストプロセス」がデバイスに変更を加える許可を求めるダイアログが表示されるので、[はい]ボタンをクリックして変更を許可する。
「Windows Subsystem for Linux」ページの[インストール]ボタンが[インストール済み]に変われば、WSL2のインストールは完了だ。ただし、この時点でLinuxディストリビューションはまだインストールされていない。
続けて「Microsoft Store」アプリでLinuxディストリビューションをインストールできるが、Windows 11の「仮想マシンプラットフォーム」という機能が有効化されていないと、Linuxディストリビューションをインストール後の初期化でエラーが発生する。そこで、事前に「仮想マシンプラットフォーム」を有効化しておく。
「コントロールパネル」の「プログラムと機能」アプレットを開き、左ペインで[Windowsの機能の有効化または無効化]を選択する。[Windowsの機能の有効化または無効化]ダイアログが開いたら、「仮想マシンプラットフォーム」にチェックを入れて、Windows 11を再起動しておく([Windowsの機能の有効化または無効化]ダイアログは、タスクバーの検索入力ボックスで「Windowsの機能の有効化」と入力して検索すると簡単に開ける)。なお、Windows 11で「コントロールパネル」を開く方法は、Tech TIPS「Windows 11では『コントロールパネル』がなくなったの? いいえ、あります」を参照してほしい。
「Microsoft Store」アプリの検索入力ボックスに「Ubuntu」などのディストリビューション名を入力して検索すると、インストール可能なバージョンが表示される(インストール可能なLinuxディストリビューションについては後述する)。説明を読みたい場合は、検索結果の一覧から確認したいLinuxディストリビューションをクリックし、説明ページを開けばよい。
そのLinuxディストリビューションをインストールしたい場合は、[入手]ボタンをクリックする。
インストールが完了すると[開く]ボタンに変わるので、これをクリックする。Linuxコマンドのウィンドウが開き、コマンドラインの場合と同様、Linuxディストリビューションの初期化が実行され、ユーザー名とパスワードの設定が要求される。
前述の通り、コマンドでインストールする際、Ubuntu以外のLinuxディストリビューションを使いたい場合は、明示的にディストリビューション名を指定する必要がある。2025年4月上旬現在、WSL2にインストールできる主なLinuxディストリビューションは下表の通りだ。コマンドラインとMicrosoft Storeでインストール可能なLinuxディストリビューションが若干異なっているので注意してほしい。
ディストリビューション名 | Linuxディストリビューション | コマンドライン | Microsoft Store |
---|---|---|---|
Ubuntu | Ubuntu | ◯ | ◯ |
Ubuntu-24.04 | Ubuntu 24.04 LTS | ◯ | ◯ |
Ubuntu-18.04 | Ubuntu 18.04 LTS | ◯ | ◯ |
Ubuntu-20.04 | Ubuntu 20.04 LTS | ◯ | ◯ |
Ubuntu-22.04 | Ubuntu 22.04 LTS | ◯ | ◯ |
- | Ubuntu (Preview) | - | ◯ |
Debian | Debian GNU/Linux | ◯ | ◯ |
AlmaLinux-8 | AlmaLinux OS 8 | ◯ | ◯ |
AlmaLinux-9 | AlmaLinux OS 9 | ◯ | ◯ |
AlmaLinux-Kitten-10 | AlmaLinux OS Kitten 10 | ◯ | - |
SUSE-Linux-Enterprise-15-SP5 | SUSE Linux Enterprise 15 SP5 | ◯ | ◯ |
SUSE-Linux-Enterprise-15-SP6 | SUSE Linux Enterprise 15 SP6 | ◯ | ◯ |
kali-linux | Kali Linux Rolling | ◯ | ◯ |
openSUSE-Tumbleweed | openSUSE Tumbleweed | ◯ | ◯ |
openSUSE-Leap-15.6 | openSUSE Leap 15.6 | ◯ | ◯ |
OracleLinux_7_9 | Oracle Linux 7.9 | ◯ | - |
OracleLinux_8_7 | Oracle Linux 8.7 | ◯ | - |
OracleLinux_9_1 | Oracle Linux 9.1 | ◯ | - |
- | Oracle Linux 9.2 | - | ◯ |
- | Oracle Linux 9.4 | - | ◯ |
- | Oracle Linux 9 | - | ◯ |
- | Oracle Linux 8.10 | - | ◯ |
コマンドラインを使ってLinuxディストリビューションをインストールするには、WindowsターミナルのPowerShellまたはコマンドプロンプトを起動する。WSL2をインストールする場合と異なり、Linuxディストリビューションのインストールには管理者権限は不要だ。Ubuntuをインストール済みの状態でも、別のLinuxディストリビューションをインストールすることも可能だ。
インストール可能なLinuxディストリビューションを確認したい場合、以下のコマンドを実行すればよい。これでコマンドラインからインストール可能なLinuxディストリビューションの一覧が表示される。
wsl --list --online
または
wsl -l -o
Linuxディストリビューションをインストールするには、以下のコマンドを実行すればよい。
wsl --install -d <ディストリビューション名>
「-d <ディストリビューション名>」オプションを省略すると、前述の通りデフォルトの「Ubuntu」が指定された状態となり、原稿執筆時点では「Ubuntu 24.04 LTS」がインストールされる。「Ubuntu」は、LTS(長期間サポート)版の中で一番新しいUbuntuのバージョンになるようだ。本記事では、デフォルトの「Ubuntu」を使用することにするが、目的や好みに合わせてインストールするとよい。ただし、Linuxディストリビューションによって、アプリケーションのインストール方法やサポートしているコマンドなどが異なるので注意してほしい。
インストールが完了すると再起動が促されるので、指示に従ってWindows 11を再起動する。
使い始める前にインストールされているパッケージのアップデートを実行しておこう。Windowsターミナルを起動し、ウィンドウ上部のタブ右端にある[v]アイコンをクリックしてメニューで[Ubuntu]を選択して、Bashを開く。
以下のコマンドを入力し、パスワードの入力が求められたら、Ubuntu用のパスワードを入力して、[Enter]キーを押す。途中、インストールを継続するかどうかの確認(Do you want to continue?)が表示されるので、[Y]キーに続けて[Enter]キーを押して、インストールを進める。
sudo apt update && sudo apt upgrade
既にWSL2とLinuxディストリビューションをインストールしていて使っていたり、放置していたりする人もいるだろう。この場合、Linuxディストリビューションのバージョンが古いままになっている可能性がある。サポート終了により脆弱(ぜいじゃく)性が解消できないまま残溜している状態になっている可能性もあるので、新しいバージョンにアップグレードした方がよい。
古いLinuxディストリビューションをアンインストールして、新たに新しいバージョンをインストールしてもいいのだが、環境を引き継いでアップグレードすることも可能だ。ここではUbuntuをアップグレードする方法を紹介しておく。
まず、WindowsターミナルのUbuntuで以下のコマンドを実行し、現在利用しているUbuntuのバージョンを確認しよう。
lsb_release -a
または
cat /etc/os-release
執筆時点でUbuntuの最新バージョンは「Ubuntu 24.04 LTS」である。一方、以前にWSL2をインストールしていた場合は、「Ubuntu 20.04.4 LTS」や「Ubuntu 20.04.6 LTS」といった古いバージョンがインストール済みかもしれない。
アップグレードを実行する前に、現在実行しているUbuntuのパッケージのアップデートとアップグレードを実行しておく必要がある。その後、Ubuntuのアップグレードを実行する。
この一連の処理をまとめて実行するコマンドラインは以下の通りだ。途中、[Enter]キーや[y]キーの入力が求められるので指示に従って入力してインストールを進める。
sudo apt update && sudo apt upgrade
sudo apt dist-upgrade && sudo apt install update-manager-core
sudo do-release-upgrade
インストールパッケージのダウンロードと展開などで10分以上かかるので気長に終了するまで待とう(PCの性能にもよるが)。アップグレードが完了したら、再度、バージョンを確認するコマンドを実行して、Ubuntuのバージョンが上がったことを確認しよう。
上記手順でアップグレードした場合、一段階ずつバージョンが上がるようだ。例えば「Ubuntu 20.04.x LTS」をアップグレードすると、次のバージョンは「Ubuntu 22.04.5 LTS」になる。さらに同じ手順でもう1回アップグレードすると、今度は執筆時点で最新の「Ubuntu 24.04.2 LTS」にバージョンが上がった。
前述のコマンドラインのうち、「sudo do-release-upgrade」コマンドを実行したときに次のようなメッセージが表示され、アップグレードが実行されないことがある。
user01@testpc01:~$ sudo do-release-upgrade
Checking for a new Ubuntu release
In /etc/update-manager/release-upgrades Prompt
is set to never so upgrading is not possible.
この場合は、以下のコマンドラインを実行して、LTS版へのアップグレードを許可する必要がある。
sudo sed -i s/^Prompt=never$/Prompt=lts/ /etc/update-manager/release-upgrades
この後に改めて「sudo do-release-upgrade」を実行すると、アップグレードが始まるはずだ。
次回は、Windows 11上でLinuxのコマンドを実行する方法などについて解説する予定だ。
Copyright© Digital Advantage Corp. All Rights Reserved.
Windows Server Insider 鬯ョ�ォ�ス�ェ髯区サゑスソ�ス�ス�ス�ス�コ髣包スオ隴∵コキ�ク�キ�ス�ケ隴趣ス「�ス�ス�ス�ウ鬩幢ス「�ス�ァ�ス�ス�ス�ュ鬩幢ス「隴趣ス「�ス�ス�ス�ウ鬩幢ス「�ス�ァ�ス�ス�ス�ー