WSL2インストール

1 Virtual Box以外でのUbuntuの動かし方

本書ではOracleのVirtualBoxを利用し、その中に仮想マシンを作成してUbuntuを構築しました。しかし、それ以外にもWindowsのWSL2( Windows Subsystem for Linux 2)という機能を使用することで、Windows内に直接Ubuntuを構築することができます。WSL2はWindowsの中にLinuxをインストールできる機能で、VirtualBoxを使用しなくてもLinuxが使用できるようになります。

メモ
Virtual BoxにインストールしたUbuntuは純粋なUbuntuですが、WSL2はWindowsのWSL2向けにカスタマイズされたものです。現在は公式ディストリビュータとなる英CanonicalがWSL2向けのUbuntuを提供しているのでかなり互換性が上がっており、動作上の違いも少なくなっておりますが、本家は公式サイトでisoイメージで提供されるものとなり、一部WSL2のUbuntuでは動作しないコマンドなどがあります(例えば「Shutdown」コマンド⁠⁠。そのため、WSL2のUbuntuは練習環境や開発環境として用いる形が中心となります。

ここではWindowsにWSL2のUbuntuをインストールする手順を紹介します。

2 WSL2の動作に必要な環境

  • OSはWindows10の2004以降である、もしくはWindows11である必要があり、64bit版OSである必要があります。
  • Hyper-Vアーキテクチャという仮想プラットフォームを使用する上で、CPUおよび関連ハードウェアがHyper-Vに対応している必要があります。こちらは現在市販PCであれば概ね問題ないかと思いますが、非常に古いPCを使用している場合や、特殊なCPUを使用している場合には注意してください。

確認の仕方は、まずタスクマネージャーを開き、[パフォーマンス]-[CPU]の項目にある[仮想化]を確認します。ここが[有効]である必要があります。

19.png

3 WindowsへのWSL2のインストール

今回はWindows 11にWSL2およびUbuntuをインストールする手順を説明します。

  1. まず、[スタート]アイコンをクリックし[すべてのアプリ]を開き、[た]のところにある[ターミナル]で右クリック→[詳細]→[管理者として実行]をクリックします。
    (Windows 10の場合もターミナルがインストールされていればターミナルを、インストールされていなければWindows PowerShellもしくはコマンドプロンプトを管理者として実行します。)
    インストールが失敗する場合、⁠管理者として実行」しているかを確認してください。
    01.png
  2. [ユーザーアカウント制御]ウィンドウが開かれるので、[はい]をクリックします。
    02.png
  3. "C:\Users\ (ユーザー名) > "でプロンプトが表示されるので次のコマンドを入力します。
    > wsl --install

    03.png
  4. WSLのインストールが始まり、途中で[ユーザーアカウント制御]ウィンドウが開かれたら、[はい]をクリックします。
    04.png
    05.png
  5. しばらくWSL(Linux用Windowsサブシステム)のインストールが行われますので完了まで待ちます。
    06.png
  6. WSLインストール後、自動的にUbuntuのインストールが始まりますのでしばらく待ちます。
    07.png
  7. インストールが終わるとWindowsの再起動が促されますので、PCを再起動します。
    08.png
  8. 再起動すると自動でUbuntuのセットアップが始まります。Ubuntuに設定する初期ユーザー名とパスワードを設定します。
    (本書の例ではVirtualBoxでのセットアップ時と同じく「nyagoro」としています。このユーザー名はWindows上のユーザー名と同じものである必要はありません。)
    11.png
  9. パスワードの設定が終わると、Ubuntuがセットアップされ、Ubuntuが利用できるようになります。
    なお、ホスト名はWindowsのコンピューター名が自動的にセットされます。
    13.png

以上でUbuntuのセットアップは完了です。Ubuntuを終了するときは「exit」コマンドを入力します。Ubuntuを起動するときは、[スタート]メニューの[すべてのアプリ]の[U]にある[Ubuntu]をクリックします。

15.png

4 上手くインストールできないとき

1. インストールに必要な条件を満たしていない

まずはWSLをインストールするのに必要な条件を確認します。

  • OSがWindows 10 2004以降あるいはWindows11であること
  • PCがHyper-Vに対応していること

また、⁠wsl --install」コマンドはWindowsの古いビルドにはないため、その場合はWindowsをアップデートするか、⁠wslの手動インストール」を行う必要があります。

wslの手動インストールは手順がやや上級者向きであり、現在は該当するケースも少ないと思われますので本書では割愛しますが、手動インストールが必要な場合は下記Microsoftのサイトを参考に行ってください。
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual

2. すでにWSLがインストールされている

WSLがすでにインストールされている場合は次のような画面が表示されます。

Windows 10の場合 - 「使用法」が表示され、wslコマンドのヘルプテキストが表示される。

E_01.PNG

Windows 11の場合 - すでにインストールされている旨の説明が表示される。

17.png

これはすでにWSLがPCにインストールされている場合に表示されます。

この場合、次のコマンドを入力し、WSLの状態と何がインストールされているかを確認します。

> wsl -l -v

(※「-l」はハイフンと小文字のエル)

ここで次の2点を確認します。

  • 「NAME」「Ubuntu」があるか
  • 「VERSION」「2」であるか
18.png

すでにインストールされている場合

この2つを満たしているときはすでにインストールできていますから問題ありません。

「NAME」「Ubuntu」があるがWSLのバージョンが2ではないとき

「VERSION」「2」ではなく「1」のとき、WSLはバージョン1で動作していることになります。その場合、次のコマンドでバージョン2に変更してください。
(今回初めてインストールした場合はWSL2で動作しますが、かなりの昔にインストールした場合や意図的にバージョン1にした場合はバージョン2になっていない可能性があります。本書ではWSLバージョン2が前提となっておりますので、バージョン2にします。)

> wsl --set-default-version 2

「NAME」「Ubuntu」がなく、他のアプリが入っている場合

古くから使用しているPCの場合、WSL2を使用する他のアプリがすでにインストールされている場合があります。
⁠この画面は「Docker Desktop」というアプリケーションをインストールした場合の例)

E_02.PNG

この場合は今動作しているWSLにUbuntuをインストールすることで対応します。

まずは次のコマンドを入力します。

> wsl --list --online

するとWSLにインストール可能なLinux一覧が表示されるので下記コマンドを入力して「Ubuntu」をインストールします。

・Windows 10
> wsl --install -d Ubuntu

・Windows 11
> wsl --install Ubuntu
※執筆時点でインストール時のオプションに若干の違いがありました。Windows 10では「-d」が必要となります。Windows 11では「-d」は不要ですが、付けても動作します。ただし本書はOS側の指示に合わせて書き分けています。
E_04.PNG
20.png

補足となりますが、本書執筆時の「Ubuntu」は22.04となります。そのためインストール時に指定する名前として「Ubuntu」「Ubuntu-22.04」は基本的に同じものとなりますが、WSLにインストールするとそれぞれ別のOSとして認識されます。

なお「Ubuntu」のようにバージョン指定がない場合、ほとんどはリリース時の最新のものがインストールされます。

もし間違ったバージョンを入れてしまった場合には下記のコマンドを入力します。
(例:「Ubuntu」を入れたかったが「Ubuntu-22.04」をインストールしてしまったため「Ubuntu-22.04」を消したい場合)

> wsl --unregister Ubuntu-22.04

これを実行するとWSL上から登録が抹消されます。

ただし、まだパッケージは残っており、[スタート]の[すべてのアプリ]に登録されています。この状態の時にアプリを実行するとWSLに対してインストールが始まり、初期ユーザー設定から求められるところから始まります。

完全に不要な場合には[すべてのアプリ]から誤ってインストールしたLinuxを右クリックし、[アンインストール]します。

なお、アプリだけ削除し、⁠wsl --unregister」コマンドを入力しなかった場合、wsl上のリストに残ったままとなります。

そのため、コマンドとアンインストールはセットで行った方がよいでしょう。

小笠原種高(おがさわらしげたか)

愛称はニャゴロウ陛下。同人はモウフカブール。

パソコンで遊んでるように見えて仕事してると見せかける仕事。サーバとか,DBの本を書いていると言う噂と,毎日昼寝しているという噂があります。

著書:
『仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん』(マイナビ出版)
『図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書』(技術評論社)

Twitter:@shigetaka256