WSL に関する補足
目次
ここでは Windows 10 2004 よりも前のバージョンで行っていた手動での WSL 導入方法や WSL の管理方法等について補足します。
WSL の導入 (Windows 10 1607 以降 2004 未満の場合)
警告
前述の通り、既にサポート提供機関が終了していますから、この手順は非推奨です。 早急にサポートが提供されているバージョンに更新すると共に 「Windows 10 2004 以降の場合 (Windows 11 も含む)」の手順を推奨します。
実験段階の WSL2 が使える場合もありますが、基本的には WSL1 を前提として説明します。
まず、「設定」→「アプリ」→「プログラムと機能」→「Windows の機能の有効化または無効化」 (以上の手順で "C:\Windows\System32\OptionalFeatures.exe" が起動する) から、 以下の項目を有効にして再起動する必要があります。
☑ Windows Subsystem for Linux
使っているバージョンによっては
☑ Linux 用 Windows サブシステム
と表示されている可能性もあるかもしれません。
面倒なら、管理者権限で実行した PowerShell に リスト 111 コマンドをコピペすると良いでしょう。 設定変更後は再起動が必要なので、作業中のファイル等を保存する前に実行しないよう注意してください。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
無事実行が完了すると リスト 112 のように再起動するか確認を求められます。 Y または何も入力せずに [ENTER] を叩くと再起動されます。自動的に再起動されると困る場合は N を入力してから [ENTER] を叩きましょう。
PS C:\WINDOWS\system32> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
この操作を完了するために、今すぐコンピューターを再起動しますか?
[Y] Yes [N] No [?] ヘルプ (既定値は "Y"):
再起動が完了したら、以下のリンクから Microsoft Store を開いて Ubuntu をインストールします。
Microsoft Store / Ubuntu
WSL の導入 (Windows 10 1903 以降 2004 未満の場合)
警告
前述の通り、既にサポート提供機関が終了していますから、この手順は非推奨です。 早急にサポートが提供されているバージョンに更新すると共に 「Windows 10 2004 以降の場合 (Windows 11 も含む)」の手順を推奨します。
Windows 10 2004 から WSL2 がバックポートされているため、一応 WSL2 は利用可能ですが、
wsl --install
による自動設定ができるかは不明です。
できなかった場合は、以下の手順で設定します。
まず、「設定」→「アプリ」→「プログラムと機能」→「Windows の機能の有効化または無効化」 (以上の手順で "C:\Windows\System32\OptionalFeatures.exe" が起動する) から、 以下の2項目を有効にして再起動する必要があります。
☑ Linux 用 Windows サブシステム
☑ 仮想マシン プラットフォーム
面倒なら、管理者権限で実行した PowerShell に リスト 113 のコマンドをコピペすると良いでしょう。 設定変更後は再起動が必要なので、作業中のファイル等を保存する前に実行しないよう注意してください。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux,VirtualMachinePlatform
無事実行が完了すると リスト 114 のように再起動するか確認を求められます。 Y または何も入力せずに [ENTER] を叩くと再起動されます。自動的に再起動されると困る場合は N を入力してから [ENTER] を叩きましょう。
PS C:\WINDOWS\system32> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux,VirtualMachinePlatform
この操作を完了するために、今すぐコンピューターを再起動しますか?
[Y] Yes [N] No [?] ヘルプ (既定値は "Y"): ?
再起動が完了したら、以下のリンクから Microsoft Store を開いて Ubuntu をインストールします。
Microsoft Store / Ubuntu
WLS1/2 のどちらで動作しているかの確認や変更は、 「Windows 10 2004 以降の場合」を参照してください。
途中、以下のような指示が表示される場合があります。表示された場合は、指示に従って適切に作業してください。
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください
https://aka.ms/wsl2kernel : Linux カーネル更新プログラム パッケージをダウンロードする
WSL の導入 (Windows 10 2004 以降かつ 22H2 未満、及び Windows 11 22H2 未満の場合)
注釈
2022年11月以降は Microsoft Store 版の提供が開始され、現在は Microsoft Store 版が標準となっていますが、
22H2 未満の Windows でも有効かどうかは不明です。
Microsoft Store 版が有効である場合、以下の手順では Microsoft Store 版がインストールされます。
インストールの際 --inbox
オプションを追加すると inbox 版 (Windows コンポーネント版) を選択することも可能ですが、
あえて inbox 版を選択するメリットはないでしょう。
ここからの作業は、管理者権限で起動した PowerShell をで行う必要があります。 まず、「PowerShell の起動方法」で紹介した方法で、 管理者権限で Windows PowerShell のウインドウを開いてください。
管理者権限の PowerShell が開いたら、wsl --install -d Ubuntu
(リスト 116)と入力して [ENTER] キーを叩けば
WSL のインストールが開始されます(リスト 117)。
wsl --install -d Ubuntu
PS C:\WINDOWS\system32> wsl --install -d Ubuntu
インストール中: 仮想マシン プラットフォーム
[================= 30.0% ]
無事インストールが終了すると、リスト 118 のように再起動を促されますので、Windows を再起動してください。
PS C:\WINDOWS\system32> wsl --install -d Ubuntu
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
ダウンロード中: Ubuntu
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
PS C:\WINDOWS\system32>
再起動後、WSL が自動的に起動してユーザー名 (リスト 119) と パスワード登録を確認のため 2 度 (リスト 120、リスト 121) 要求されます。 ユーザー名は半角の英数字、パスワードは半角の英数字及び記号を組み合わせて登録しましょう。 パスワードを失念すると WSL の環境を一旦消して再構築する必要が生じるので注意してください。 親環境である Windows のユーザー名とパスワードに揃えられる場合は揃えておくとよいでしょう。
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:
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: USERNAME
New password:
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: USERNAME
New password:
Retype new password:
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: USERNAME
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.10.102.1-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Fri May 27 17:25:45 JST 2022
System load: 1.35 Processes: 12
Usage of /: 0.5% of 250.98GB Users logged in: 0
Memory usage: 1% IPv4 address for eth0: 172.28.149.30
Swap usage: 0%
1 update can be applied immediately.
To see these additional updates run: apt list --upgradable
The list of available updates is more than a week old.
To check for new updates run: sudo apt update
This message is shown once a day. To disable it please create the
/home/USERNAME/.hushlogin file.
USERNAME@HOSTNAME:~$
以上で WSL の導入は完了です。
WSL の既定のバージョン
導入した WSL の既定のバージョンが WSL1 か WSL2 かを確認するには、
PowerShell を開いて wsl --status
(リスト 123)と入力して [ENTER] を叩いてください。
wsl --status
リスト 124 のように「規定のバージョン: 2」となっていれば WSL2 です。 特に WSL1 にする理由がなければ WSL2 を推奨します。 ただし WSL2 は Windows 標準の仮想化の仕組みである Hyper-V を使う関係上、VMWare や VirtualBox 等、 Hyper-V 以外の仮想化の仕組みと同時に使うと不具合を生じる場合があります。 そのような場合は、あえて WSL1 を使うという選択肢はあります。
PS C:\WINDOWS\system32> wsl --status
既定の配布: Ubuntu
既定のバージョン: 2
Linux 用 Windows サブシステムの最終更新日: 2022/01/24
WSL の自動更新が有効になっています。
カーネル バージョン: 5.10.60.1
既定と言われているのは、導入されている distro 毎に WSL1 で動かすか WSL2 で動かすかを 選択できるためです。 distro の導入時、既定のバージョンに従って WSL1 を使うか WSL2 を使うかが自動的に決定されます。
Distro 毎の WSL バージョン確認
どの distro が WSL1 と WSL2 のどちらで動作するかを確認するには、
PowerShell に
wsl --list --verbose
(リスト 125)と入力して [ENTER] を叩きます(リスト 126)。
wsl --list --verbose
PS C:\WINDOWS\system32> wsl --list --verbose
NAME STATE VERSION
* Ubuntu Stopped 2
上記のように VERSION が 2 と表示されていれば WSL2、1 ならば WSL1 で動作します。
Distro 毎の WSL バージョン変換
Distro 毎に WLS1/2 を切り替えるには wsl --set-version
に続けて
wsl --list
で NAME に示されている Linux distro の名前と、
切り替え後のバージョン番号 (1 または 2) を
スペース区切りで入力(リスト 127)して [ENTER] を叩きます。
「変換が完了しました。」が表示されるまで数分かかりますので気長に待ちましょう。
wsl --set-version distro名 バージョン番号
例えば WSL にインストール済みの Ubuntu を WSL1 から 2 に切り替えるコマンドは リスト 128 のようになり、 無事変更が完了すると リスト 129 のようになります。
wsl --set-version Ubuntu 2
PS C:\WINDOWS\system32> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。
WSL2 から 1 に切り替える場合は リスト 130 のようになり、 無事変更が完了すると リスト 131 のようになります。
wsl --set-version Ubuntu 1
PS C:\WINDOWS\system32> wsl --set-version Ubuntu 1
変換中です。この処理には数分かかることがあります...
変換が完了しました。
Inbox 版から Microsoft Store 版への Update
既に inbox 版の WSL をインストール済みの場合、 リスト 132 のコマンドで Microsoft Store 版にアップデートすることができます。
実行すると UAC が表示されるので、これに許可を与えると、 リスト 133 , リスト 134 のようになり Microsoft Store 版に update されます。
wsl --update
PS C:\WINDOWS\system32> wsl --update
インストール中: Linux 用 Windows サブシステム
[ 0.0% ]
PS C:\WINDOWS\system32> wsl --update
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
Microsoft Store 版では wsl
コマンドに --version
オプションが追加されています。
リスト 135 のコマンドを実行して、
リスト 136 のようにバージョンが表示されれば
Microsoft Store 版の WSL になっているはずです。
wsl --update
PS C:\WINDOWS\system32> wsl --version
WSL バージョン: 1.2.5.0
カーネル バージョン: 5.15.90.1
WSLg バージョン: 1.0.51
MSRDC バージョン: 1.2.3770
Direct3D バージョン: 1.608.2-61064218
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows バージョン: 10.0.19045.3031