ゼロからわかるLinuxサーバー超入門 Ubuntu対応版

WSL2インストール

この記事を読むのに必要な時間:およそ 4 分

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上のリストに残ったままとなります。

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