見出し画像

Windows 11 に WSL2 Ubuntu をインストールして使ってみる【誰でもできるよ】

Windows11 ユーザーの方で Linux に興味を持たれている方は多いと思います。

  • 世の中のウェブサーバーのかなりの割合は Linux です。

  • 携帯端末 (Android) や Chrome book も中では Linux が動作しています。

  • Windows11 でも WSL2 (Windows Subsystem for Linux) が使えて、Windows とシームレスに使用できます。

  • 生成 AI の多くは Windows11 でも動作しますが Linux の方が高速に動作します。

Windows11 がメインの環境でも、自分も Linux を使いこなせたら…と感じている方は多いと思いますが、改めて学習するとなると、最初の環境設定で躓いて挫折してしまう方もいると思います。

この記事では

「Windows 11 上の WSL2 で動作する Linux を誰でも使えるようにする事」

を目標として、WSL2 Ubuntu のインストール方法について記載します。


なぜ Ubuntu ?

2024年3月現在で、WSL2 にオンラインでインストールできる Linux ディストリビューションは 6種類あります。(バージョン違いは含まず)

  • Ubuntu (バージョンなし、-18.04、-20.04、-22.04)

  • Debian

  • kali-linux

  • OracleLinux (_7_9、_8_7、_9_1)

  • openSUSE (-Leap-15.5、-Tumbleweed)

  • SUSE-Linux-Enterprise-Server-15-SP4、Enterprise-15-SP5

この中で、世の中で多く使われていて、検索した場合に事例が多く見つかるディストリビューションとして、Ubuntu を選択しました。

【補足】Linux のディストリビューションについて

先に記載したように、Linux といっても複数あってどれを使用したらよいのか分からず迷う方も多いと思います。また、WSL2 では直接使う事はできませんが、実機や仮想マシンで使用できるディストリビューションは更に多くの種類があります。(Gentoo Linux、Arch Linux、Plamo Linux、…)

どのディストリビューションを使うか迷った場合には、検索した時に多くの情報が見つかる Ubuntu から始めてみるのが良いと思います。

ディストリビューション毎に特色がありますので、先ずは Ubuntu で経験を積んでから、興味を持ったディストリビューションを試してみてください。

今回の説明では触れませんが、デスクトップ環境 (GUI) も複数あります。デスクトップ環境を選ぶ理由も同じで、先ずは GNOME を使って経験を積んで、その後で KDE や他の軽量なデスクトップ環境を試してみてください。

【補足2】Ubuntu のバージョンについて

WSL2 にインストールできる Ubuntu も複数あって迷いますよね? WSL2 でインストールできる Ubuntu も 4種類あります。

  • Ubuntu (名称なし…最新版の LTS = 22.04)

  • Ubuntu-18.04

  • Ubuntu-20.04

  • Ubuntu-22.04

Ubuntu は、長期サポート版 (LTS : long-term support) と通常版、有償サポート版 (Ubuntu Pro) があります。有償サポート版は個人で使う事は殆どないでしょうから、LTS と通常版が選択肢となります。

  • LTS : 2年に1回、4月に公開され、公開から5年間はセキュリティー対策などのパッケージが提供されます。新機能の取り込みは限定的です。2024年4月には 24.04 が公開される予定です。

  • 通常版 : 年2回、4月と10月に公開され、サポート期間は公開から9カ月の間です。積極的に新しいパッケージやソフトウェアのバージョンアップが行われます。

Ubuntu のバージョンは、西暦下2桁と4月 (04) の組み合わせで表現されます。上で列記した 18.04、20.04、22.04 は全て長期サポート版です。

LTS の「新機能の取り込みが限定的」というとマイナスの印象を持たれるかもしれませんが「主要なソフトウェアのバージョンが変わらない」というメリットがあります。ソフトウェアのバージョンがある程度固定されると、バージョンアップに伴う非互換性の影響を最小限に抑える事が出来ます。

基本的には LTS の最新版を使用し、どうしても必要なソフトウェアが入っていない、あるいは新しいバージョンのソフトウェアが必要な場合に、通常版にアップグレードする、という使い方が良いかと思います。

バージョン番号の付かない Ubuntu は、最新版の Ubuntu と同じです。別の Ubuntu としてインストールされますので、複数の WSL2 Ubuntu を使用する事も出来ます。

前提条件

次の環境で動作確認を行いました。

  • Windows11 Pro 22H2

  • 評価版 Windows11 Enterprise 開発環境 22H2

Windows11 のバージョン

Windows11 のバージョンは 23H2 でも違いはないと思います。

22H2 よりも前のバージョンの場合では WSL2 の扱いが異なるので、今回は対象外とします。

始めの一歩

ターミナルアプリを起動する

Windows11 をマウス操作をメインに GUI (Graphical User Interface) で使用している方には馴染みがないかもしれませんが、Windows11 にも CUI (Charactor User Interface、所謂「黒い画面」) があります。以前は単機能なものでしたが、現在では「ターミナル」アプリとして以前とは比べ物にならない程の多機能なターミナルが存在します。(Windows11 22H2 から標準アプリとなりました)

始めの一歩として「ターミナルアプリ」を起動します。

Windows11 のタスクバーには検索ボックスがあります。下の画像のスタートボタン (四角4つのボタン) の右横に「検索」と書かれている所です。

Windows11 検索ボックス

検索ボックスをクリックして、「terminal」と入力してください。

ターミナルアプリを探す

ターミナルアプリが見つかったら、マウスでクリックして起動してください。ターミナルアプリを起動した時に、二種類のどちらかの画面が表示されます。

コマンド プロンプト

ターミナルアプリでコマンド プロンプトが起動

タブの所に「コマンド プロンプト」と書かれたウィンドウが開きます。「C:\Users\User>」と表示されて、縦棒が点滅しています。

Windows PowerShell

ターミナルアプリで Windows PowerShell が起動

タブの所に「Windows PowerShell」と書かれたウィンドウが開く場合もあります。「PS C:\Users\User>」と表示されて、縦棒が点滅しています。

どちらを使えばよいの?

「コマンド プロンプト」は Windows の元となった 「DOS」と呼ばれるソフトウェアを Windows に移植したものであり、「Windows PowerShell」は DOS の代替として Windows の CUI として新たに開発されたソフトウェアです。

二つのソフトウェアの違いは大きいですが、今回の使用目的の範囲内では「コマンド プロンプト」と「Windows PowerShell」のどちらでも使い方は同じですので問題ありません。

これで始めの一歩は完了です。

wsl --status で WSL2 の状態確認

次に wsl コマンドが存在するかどうかを確認します。Windows 22H2 以降であれば必ず存在しているはずですが、WSL2 の設定・インストール状態を確認します。

縦棒が点滅している所に以下のコマンドをコピペで貼り付けて実行します。

wsl --status

これでエラーメッセージが表示されなければ、wsl コマンドは存在しています。(下の図は、ワザとコマンド名を間違った場合のエラーメッセージです)

コマンドが見つからない場合のエラー表示
(ワザと間違ったコマンド入力)

仮にエラーメッセージが表示された場合には、Windows11 のバージョンが古いと考えられます。今回の前提条件は Windows11 22H2 以上ですので、この記事の方法ではインストールできません。Windows11 のアップデートを行ってください。

なにも表示されない場合

何も表示されない場合には、WSL2 がインストールされておらず、初期設定もされていない状態です。

何も表示されない場合

既定のバージョンのみ表示される場合

既定のバージョンのみが表示される場合には、WSL2 の初期設定は済んでいますが、ディストリビューションがインストールされていない状態です。

WSL2 の初期設定が済んでいる状態

既定のディストリビューション・バージョンが表示される場合

既定のディストリビューションと既定のバージョンが表示される場合には、WSL2 の初期設定とディストリビューションのインストールも済んでいます。下の画像の場合は、WSL2 に Ubuntu をインストールした場合の結果です。もし、既にインストールしている Ubuntu をもう一度使用する方法、及び WSL2 Ubuntu を消去してやり直す方法については、後半に記載します。

Ubuntu がインストールされている場合

既定のディストリビューション・バージョンの他に、メッセージが表示される事があります。

Ubuntu がインストールされている場合 その2

実害はありませんが、気になる方は「Windows の機能の有効化と無効化」を検索ボックスに入力して「Windows の機能」の画面を呼び出し、「Linux 用 Windows サブシステム」の先頭のチェックを入れて OK を押してください。下2行のメッセージが表示されなくなります。

Windows の機能の有効化または無効化

wsl --install で Ubuntu をインストール

wsl --status で「何も表示されなかった場合」「既定のバージョンのみ表示される場合」には、新たに Ubuntu をインストールします。Windows11 22H2 より、面倒な複数の設定が不要となりコマンド一つでインストール出来るようになりました。

Ubuntu インストール

下記のコマンドで Ubuntu をインストールします。ターミナルにコピペで貼り付けて実行してください。

wsl --install -d Ubuntu

「何も表示されなかった場合」から始めると、再起動を要求されますので PC を再起動してください。

インストール途中の画面です。

Ubuntu インストール途中

ユーザー名とパスワード の設定

インストールが完了したら、ユーザー名とパスワードを設定します。

最初にユーザー名です。

"Enter new UNIX username :" の後にユーザー名を入力して Enter を押します。使用できる文字は、アルファベット小文字、数字、アンダースコア ("_") が使用でき、最大30文字までです。アルファベット大文字は使用できませんので注意が必要です。日本語も使用できません。

私は "hiro" としました。

ユーザー名の設定

次にパスワードを設定します。

"New password :" の後にパスワードを入力して Enter を押します。
"Retype new password :" の後に、確認の為に同じパスワードを入力して Enter を押します。

どちらの場合も、画面には何も表示されません。Enter を押しても直ぐに二行目が表示されない事もあります。少し待って、二行目が表示されてから確認用のパスワードを入力してください。

使用できる文字は、アルファベット大文字・小文字 (大文字小文字は区別します)、数字、記号、空白です。(どの種類の記号が使用できるか見つけられませんでした。おそらくどの記号でも大丈夫なはずです)

私は WSL2 でサーバーを動作させて外部に公開するつもりはありませんので、アルファベット大文字、小文字、数字を組み合わせた簡単なパスワードにしています。

パスワードの設定

インストール完了

確認用のパスワードに間違いが無ければ、下図のように、メッセージの後に緑色の文字 + $ (プロンプト、prompt と呼びます) が表示されます。この状態になれば、WSL2 Ubuntu のインストールは完了です。

インストール完了!

インターネット接続の確認

WSL2 を使用していると、偶にインターネットに接続できなくなることがあります。この後の作業の為に、事前にインターネットに正常に接続できるか確認しておきます。ping コマンドで確認します。下の部分をコピペしてプロンプトに貼り付けて実行します。

ping -c 5 www.google.co.jp

正常にインターネットに接続できている場合には、ping の応答が返ってきます。

ping でインターネットに接続できている事を確認

もし ping の結果が "Destination Host Unreachable" となった場合には、インターネットに接続できていません。

インターネットに接続できていない時の ping の結果

8.8.8.8 (Google の DNS サーバ) に ping が通らない場合には、Windows11 側のネットワークに問題があります。Windows11 でインターネットに接続できているかどうかを確認してください。

8.8.8.8 (Google の DNS サーバ) への ping は正常で、www.google.co.jp への ping が失敗する場合には、DNS (Domain Name Service) の設定を変更する事で対処できます。/etc/resolv.conf を書き換えて Google の DNS サーバーを使用します。

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

これでもう一度 ping を実行して、正常に返信が返ってくる事を確認します。

日付・時刻の確認

こちらも稀に発生するのですが、WSL2 Ubuntu の日付・時刻が実際と大幅にずれている場合に、apt update & upgrade に失敗する事があります。(Windows11 と Linux を両方共に起動させるように設定している場合に生じます)

Windows11 の日付・時刻が合っている事を確認してください。(初期設定では NTP で時刻同期していますので合っていると思います)

また、WSL2 Ubuntu の日時が合っているか確認してください。

date
WSL2 Ubuntu の日付・時刻の確認方法

秒単位で合ってる必要はありませんが、少なくとも数分のズレ程度に収まっていれば OK です。(JST はタイムゾーンの設定ですが、細かい事なので省略します)

パッケージを最新に更新

インストールが完了したら、最初に行う事は、パッケージを最新にする事です (Windows Update のようなものです)。Ubuntu の場合は apt コマンドを使用します。

(なお、コマンドの簡単な説明は別記事でまとめますので、この記事では説明しません)

パッケージリストの更新 (apt update)

最初にパッケージリストを最新に更新します。下記をコピペで貼り付けて実行して下さい。

sudo apt update

パスワードの入力を求められますので、設定したパスワードを入力してください。入力したパスワードは画面に表示されません。

sudo apt update 実行

行頭が Get:1 … となっている行が順次表示されていれば正常に動作しています。

sudo apt update 途中

最後に "79 packages can be upgraded. …" (数字はアップグレードできるパッケージの数で毎回変わります) と表示されれば、パッケージリストの更新は完了です。

sudo apt update 完了

パッケージの更新 (apt upgrade)

次に実際にパッケージを更新します。下記をコピペで貼り付けて実行して下さい。

sudo apt upgrade

パッケージリストの更新を実行した直後であれば、パスワードの入力要求はありません。

アップグレードされるパッケージの一覧が表示されます。その後、"Do you want to continue ? [Y/n] " と表示されますので、"y" を入力して Enter を押してください。

sudo apt upgrade 実行

apt update の時と同様に "Get:1 …" の行が順次表示されているのが正常です。

sudo apt upgrade 途中

エラーメッセージが表示されずにプロンプトに戻れば、アップグレードは完了です。

sudo apt upgrade 終了

ここまでで、WSL2 Ubuntu の初期の初期設定が終わりました。

WSL2 Ubuntu を終了する

WSL2 Ubuntu を終了する場合には exit コマンドを実行します。

exit

これで WSL2 Ubuntu の画面が表示されていたターミナルが閉じます。
(実際には WSL2 Ubuntu は未だ動作していますが、一定時間後に自動的に終了します)

WSL2 Ubuntu をもう一度使い始める

ターミナルを起動して

ubuntu

と入力すれば、WSL2 Ubuntu をもう一度使い始められます。

WSL2 Ubuntu を消去する

既にインストールしている WSL2 Ubuntu を消去したい場合には、ターミナルを起動して

wsl --unregister Ubuntu

と入力します。重要なデータを一緒に消してしまわないようにご注意下さい。

結び

今回の記事では、WSL2 と WSL2 Ubuntu をゼロから使い始める方法について説明しました。

「誰でもできるよ」と題して、細かな手順まで記載しました。WSL2 や Ubuntu を含む Linux に馴染みのない方が、WSL2 Ubuntu を使い始めるスタート地点に立つためにお役に立てれば幸いです。


この記事が気に入ったらサポートをしてみませんか?