「Windows 11でLinuxを動かしたい」
「WSL 1?WSL 2?よくわからない・・・」
このような場合には、この記事の内容が参考になります。
この記事では、Windows 11でWSLを利用してUbuntuを動かす方法を解説しています。
本記事の内容
- Windows 11におけるWSL
- Linux用Windowsサブシステムの有効化
- WSLコマンドのインストール
- WSLコマンドによるUbuntuのインストール
- WSLコマンドによるUbuntuの起動・停止
それでは、上記に沿って解説していきます。
Windows 11におけるWSL
WSLについては、情報が錯綜しています。
そのため、調べれば調べるほど混乱する可能性が大きいです。
その主な原因は、Windows 10とWindows 11で大きく設定方法が異なることでしょう。
よって、この記事ではWindows 11に絞って説明します。
Windows 11であれば、普通にしていればWSL2を利用することになります。
そのため、Windows 11の場合はWSL1のことを無視してOKです。
つまり、「WSL=WSL2」と考えてもよいということになります。
Windows 11が動くマシンなら、WSL2も問題なく動くはずです。
WSL1のことを切り捨てたら、WSLはとてもシンプルに捉えることができるようになります。
あと、Linuxのインストールも混乱を招きやすい部分です。
Microsoft Store経由でLinuxをインストールすることができます。
確かに、それでもインストールは可能です。
しかし、コマンドだけでLinuxをインストールすることができます。
コマンドであれば、再現性も高くてトラブルも少ないです。
よって、できる限りコマンドで処理する方向で考えます。
そうしていくと、Windows 11におけるWSLはとてもシンプルになります。
以降では、その考えに基づいてWindows 11上でUbuntuを動かす方法を説明していきます。
以上、Windows 11におけるWSLを説明しました。
次は、Linux用Windowsサブシステムの有効化を説明します。
Linux用Windowsサブシステムの有効化
最初にやるべき作業です。
OS再起動が必要になるので、利用中のアプリなどは停止しておきましょう。
この作業では、コマンドではなくGUIを利用します。
まず、Windowsの検索ボックスで「Windowsの機能」と検索します。
「Windowsの機能の有効化または無効化」を開きます。
「Linux用 Windows サブシステム」にチェックを入れます。
チェックを入れて、「OK」ボタンをクリック。
処理が完了すると、次の画面が表示されます。
「今すぐ再起動」ボタンをクリック。
以上、Linux用Windowsサブシステムの有効化を説明しました。
次は、WSLコマンドのインストールを説明します。
WSLコマンドのインストール
管理者権限でPower Shellを起動します。
検索ボックスに「power」と入力すれば、次のような画面が表示されます。
「管理者として実行する」をクリック。
クリックすると、次のように管理者権限でPower Shellが起動します。
ここで次のコマンドを入力すれば、WSLをインストールできます。
wsl --install
ただし、上記のコマンドはWSL がインストールされていない場合にのみ機能します。
インストールに成功すると、次のように表示されます。
PS C:\WINDOWS\system32> wsl --install インストール中: 仮想マシン プラットフォーム 仮想マシン プラットフォーム はインストールされました。 インストール中: Linux 用 Windows サブシステム Linux 用 Windows サブシステム はインストールされました。 インストール中: Ubuntu Ubuntu はインストールされました。 要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
WSLがインストール済みであれば、利用可能なディストリビューションの一覧が確認できます。
PS C:\WINDOWS\system32> wsl --install Linux 用 Windows サブシステムは既にインストールされています。 インストールできる有効なディストリビューションの一覧を次に示します。 'wsl.exe --install <Distro>' を使用してインストールします。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling SLES-12 SUSE Linux Enterprise Server v12 SLES-15 SUSE Linux Enterprise Server v15 Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS OracleLinux_8_5 Oracle Linux 8.5 OracleLinux_7_9 Oracle Linux 7.9
以上、WSLコマンドのインストールを説明しました。
次は、WSLコマンドによるUbuntuのインストールを説明します。
WSLコマンドによるUbuntuのインストール
今回は、Ubuntu 20.04をインストールします。
この場合、次のコマンドでインストールが可能です。
wsl --install -d Ubuntu-20.04
上記コマンドを実行すると、次の画面が表示されます。
数分と書いています。
待ち時間はマシンのスペックによるでしょうが、次のようにユーザー名の入力が促されます。
パスワードも入力します。
アカウント登録が完了すると、次のように表示されます。
このように表示されれば、Ubuntuのインストールが成功しています。
ここで、一旦Ubuntuからログアウト(exitコマンド)しておきます。
以上、WSLコマンドによるUbuntuのインストールを説明しました。
次は、WSLコマンドによるUbuntuの起動・停止を説明します。
WSLコマンドによるUbuntuの起動・停止
Power Shellを起動します。
WSLコマンドのインストール時以外は、管理者である必要はありません。
まず、次のコマンドで状況を確認しましょう。
wsl -l -v
上記コマンドを実行すると、次のように表示されます。
PS C:\Users\win11> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Running 2
このコマンドでインストールしたディストリビューションの管理ができます。
複数インストール済みなら、複数のディストリビューションが表示されることになります。
「Ubuntu-20.04」は、先ほどインストールしたディストリビューションです。
そのOSの状況は、「Running」で起動中だとわかります。
また、Versionの「2」はWSL2でインストールしたことを表しています。
「wsl –install」コマンドでインストールしたモノは、必然的にWSL2でインストールされます。
Windows 11であれば、基本的にはWSL2だけを対象にしてもよいでしょう。
では、まずUbuntuを停止させてみましょう。
ヘルプより、次のオプションを利用することになっています。
--terminate, -t <Distro> 指定されたディストリビューションを終了します。
実行したのは、以下のコマンドです。
PS C:\Users\win11> wsl -t Ubuntu-20.04 この操作を正しく終了しました。
ここで状況を確認してみましょう。
PS C:\Users\win11> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2
「Stopped」になりました。
起動させる場合は、次のコマンドを実行します。
wsl
実行すると、しばらく待たされます。
そして、ディストリビューションにログインした状態になります。
PS C:\Users\win11> wsl To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. win11@my_rtx3090:/mnt/c/Users/win11$
また、ディストリビューションが起動中「Running」に「wsl」を実行すると、単なるログインになります。
もちろん、この時はOSの起動がない分だけ早くログインできます。
つまり、「wsl」コマンドは以下の二つを担っているのです。
- ディストリビューションの起動(停止中のみ)
- ディストリビューションへのログイン
なお、「wsl」コマンドで対象になるディストリビューションは以下のコマンドで確認できます。
既定という言葉はデフォルトだと考えればよいでしょう。
PS C:\Users\win11> wsl --list Linux 用 Windows サブシステム ディストリビューション: Ubuntu-20.04 (既定)
もちろん、既定は変更可能です。
既定を変更するのは、次のオプションになります。
--set-default, -s <Distro> ディストリビューションを既定として設定します。
以上、WSLコマンドによるUbuntuの起動・停止を説明しました。