OSS Fan ~OSSでLinuxサーバ構築~

このエントリーをはてなブックマークに追加

Windows 11にWSL2をインストールし、Ubuntu-22.04を起動させる

カテゴリ:OSSセットアップ | ソフトウェア:Windows | タグ:
最終更新日:2022-04-02 | 公開日:2022-04-02

目次

概要

 職場のメンバーがWSLを使用して絶賛していたので、試しに自宅のノートPC(ちょっと古いVAIOでOSはWindows 11)に WSL2をインストールしてみました。本来インストールはコマンド一発で全自動な感じで終わるのですが、裏でどんな機能が 使われているのかを確認したかったので、あえて全自動にはせず、一つずつ機能を設定してみました。 それでもインストールとしての作業は少なく、とても簡単でした。 自宅ではラズパイ4を常時起動させているので、Linuxを使いたいときはすぐに使える状態になっており基本的には不自由はないのですが、 そうとは言っても外出先で使えないなどの一定の不自由はあるので、WSL2の使い道は見いだせそうな気がしました。 とりあえず今回はWSL2をインストールしたあとに、LinuxのディストリビューションとしてUbuntu-22.04をインストールするところまでやってみました。

構成

端末構成

ハードウェア

 VAIO S13(VJS132C12N)

OS

Windows 11 Pro 22H2

ソフトウェア

  • wsl_update_x64.msi

環境構築

WSL2のインストール

Linux用Windowsサブシステムの有効化

 Windowsの機能として提供されている「Linux用Windowsサブシステム」を有効化します。 デフォルトでは無効化された状態でした。

 [Windowsメニュー]を右クリックし、[ターミナル(管理者)]を選択します。 「ユーザーアカウント制御」画面が表示され、「このアプリがデバイスに変更を加えることを許可しますか?」と表示されるので[はい]をクリックします。 「管理者: Windows PowerShell」画面が表示されたら、以下のコマンドを実行します。

PS C:\Users\user01> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

展開イメージのサービスと管理ツール
バージョン: 10.0.22621.1

イメージのバージョン: 10.0.22621.1105

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。

WSL2の実行に関する要件を確認

 2023/4/2時点でWSL2の動作要件としてはWindows 10のバージョン1903以降(ビルド18362以降)と書かれています。 Windows 11は細かいビルドの指定はありませんでした。 PowerShellで以下のコマンドを実行します。

PS C:\Users\user01> winver

 コマンドを実行すると、以下のような「Windowsのバージョン情報」画面が表示されます。 WSL2の動作要件を満たしたバージョンであることを確認します。 確認が終わったら[OK]ボタンを押して画面を閉じて問題ありません。

仮想マシンの機能の有効化

 Windowsの機能である「仮想マシン プラットフォーム」を有効化します。 PowerShellで以下のコマンドを実行します。

PS C:\Users\user01> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

展開イメージのサービスと管理ツール
バージョン: 10.0.22621.1

イメージのバージョン: 10.0.22621.1105

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。

Windowsの再起動

 このまま次の手順に移ると「wsl_update_x64.msi」を実行した際にエラーとなったので、 一度Windowsを再起動しました。再起動すると問題なく実行できました。

PS C:\Users\user01> Restart-Computer

Linuxカーネル更新プログラムパッケージのダウンロード

 ブラウザで以下のURLを表示し、「手順4 - Linuxカーネル更新プログラム パッケージをダウンロードする」のところに書かれている 「x64マシン用WSL2 Linuxカーネル更新プログラム パッケージ」をクリックして「wsl_update_x64.msi」ファイルをダウンロードします。

 https://learn.microsoft.com/ja-jp/windows/wsl/install-manual

Linuxカーネル更新プログラムパッケージのインストール

 ダウンロードした「wsl_update_x64.msi」ファイルをダブルクリックします。

 「Windows Subsystem for Linux Update Setup」画面が表示されたら、[Next]をクリックします。

 自動でセットアップが実行され、「Complete the Windows Subsystem for Linux Update Setup Wizard」と表示されたら、[Finish]をクリックします。

WSL2を規定のバージョンとして設定

 今後新しいLinuxディストリビューションをインストールする際のWSLのバージョンを2に設定します。 初期状態では1が設定されているようです。

PS C:\Users\user01> wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2
 を参照してください
この操作を正しく終了しました。

WSLのバージョンを確認する

 ここまででWSL2のインストールは終わりです。 参考までにインストールされているWSLと関連コンポーネントのバージョン情報は以下の通りでした。 (WSL2なのにバージョン 1.0.3.0って表示されるんですね、勉強不足のためバージョンの見方は把握していません。。。)

PS C:\Users\user01> wsl --version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
MSRDC バージョン: 1.2.3575
Direct3D バージョン: 1.606.4
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windowsバージョン: 10.0.22621.1105

補足

 家のPC何台かにWSL2をインストールしましたが、インストール後PCによって wsl --version コマンドや、 wsl --install xxxxxx コマンドを受け付けてくれないことがありました(オプションが存在しないようなメッセージが出ました)。 こんなときは wsl --update でWSLを最新バージョンに更新すると正常に実行できるようになりました。 インストールする際に最新バージョンを入れてくれるわけではないってことかなと思われます(時間があるときに確認します)。

Linuxディストリビューションのインストール

使用可能なLinuxディストリビューションの一覧を表示

 利用できるLinuxディストリビューションの一覧を表示して確認します。 今回は「Ubuntu-22.04」をインストールすることにします。

PS C:\Users\user01> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストールします。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_8_5                        Oracle Linux 8.5
OracleLinux_7_9                        Oracle Linux 7.9
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
openSUSE-Leap-15.4                     openSUSE Leap 15.4
openSUSE-Tumbleweed                    openSUSE Tumbleweed

Linuxディストリビューションのインストール

 Ubuntu-22.04をインストールします。 インストールが完了するとそのまま起動されます。

PS C:\Users\user01> wsl --install Ubuntu-22.04
インストール中: Ubuntu 22.04 LTS
Ubuntu 22.04 LTS はインストールされました。
Ubuntu 22.04 LTS を開始しています...

インストールしたLinuxディストリビューションで使用するユーザの作成

 Linuxディストリビューションのインストールが成功すると、 Ubuntu-22.04の場合は新しいコンソール画面が表示され、以下のようにユーザ名とパスワードの入力を求められました。 ユーザの作成に成功すると、あとはインストールしたディストリビューション(今回はUbuntu-22.04)を利用できるようになります。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: ubuntu ←作成するユーザ名を入力、例は「ubuntu」
New password: ←作成するユーザのパスワードを入力
Retype new password: ←作成するユーザのパスワードを再入力
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.79.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

This message is shown once a day. To disable it please create the
/home/ubuntu/.hushlogin file.
ubuntu@LAPTOP-A1B2C3D4

 Ubuntu-22.04のコンソールはログアウトするとLinuxサブシステムとしても停止した状態となります(当然ですがまた起動できます)。 使い終わったらすぐに停止して、使うときだけ起動するっていうコンセプトのようです。 サーバのようにWindowsの裏でずっと動き続けている(こともできるが)ものではないようです。

インストールされているLinuxディストリビューションを一覧表示

 Ubuntu-22.04のコンソールではなく、WSL2をインストールしたPowerShellの画面を使います。 インストールされているLinuxディストリビューションの一覧を表示すると、状態(起動/停止)やWSLのバージョンも併せて表示されます。 先程の手順でWSL2を規定のバージョンとして設定したので、以下の例では「2」と表示されています。

PS C:\Users\user01> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-22.04    Running         2

参考にしたサイト