Windows 11にWSL2をインストールし、Ubuntu-22.04を起動させる
目次
概要
職場のメンバーが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