【概要】 WSL 2のインストールとUbuntuの利用手順を解説する.まず、Windowsの機能の有効化から始める.WSL 2 のインストールが終わったら,管理者としてコマンドプロンプトを実行し、「wsl --list --online」コマンドでWSLの一覧を取得できる.「wsl --update」コマンドを実行してWSLを更新できる.Ubuntu 22.04 のインストールは、「wsl --install -d Ubuntu-22.04」コマンドである.インストール時にユーザ名とパスワードの設定が求められる.CUDA ToolkitやcuDNN、PyTorch、TensorFlowのインストールや動作確認、Ubuntu上でのセットアップ手順やアプリケーションのインストール方法については別のページで詳しく説明している.以上がWSL 2のインストールとUbuntuの利用手順の概要である.
【目次】
【関連する外部ページ】
Windows 10 を使う場合には,Windows 10 May 2021 Update 以上に更新する.
自動で更新されない場合は, 次のサイトを利用できる.
https://www.microsoft.com/en-us/software-download/windows10
更新による不具合の可能性がある. 大事なデータのバックアップを取っておくなど,慎重に行うこと.
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
Windowsの更新は,Windows Subsystem for Linux (WSL) を利用するために重要です. Windowsのセキュリティを保つためにも重要です.
しかしながら,まれに,更新がシステムの安定性に影響を与え、起動しなくなるという問題を引き起こすことがあります. これは主に、更新後の Windows と既存のソフトウェアとの互換性や,更新プログラムに含まれる未知のバグが原因となります。
そこで,重要なデータのバックアップを常に行うことを推奨します.このことは Windows の更新に伴う問題解決だけでなく,さまざま役に立ちます. そして,Windowsの更新により問題が生じた場合には, システムの復元ポイントなどを用いて復元することを検討することになります.
powershell -command "Start-Process ms-settings:windowsupdate"
powershell Get-WindowsOptionalFeature –Online
今確認した機能名により,次のコマンドを実行
powershell -command "Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -n" powershell -command "Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -n" powershell -command "Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -n"
HOME エディションの場合には,「Microsoft-Hyper-V」は無いはずである.そこで,「HypervisorPlatform」を含めてる.次のコマンドを実行.
powershell -command "Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -n" powershell -command "Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -n" powershell -command "Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -n"
shutdown /r /t 0
以上のことを,コマンドではなく,画面操作で行いたい場合
確実で簡単なコマンド操作を推奨しますが,コマンド操作ではエラーが出るという場合,あるいは,画面で確認しながら行いたいときのために,画面操作で行う手順を書いておきます.
すでにチェックされている場合には,チェックされたままにしておく.
このときに,「Linux 用 Windows サブシステム」がないというときは, 「Windows Subsystem for Linux」と 「仮想マシンプラットフォーム」にもチェックし, 「OK」をクリック.
https://docs.microsoft.com/en-us/windows/wsl/install-win10に記載の手順による
次のコマンドを実行
powershell -command "dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart"
次のコマンドを実行
powershell -command "dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart"
wsl --set-default-version 2
※ このとき「 WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel」 のようなメッセージが表示されることがある.
その場合は,表示の指示に従い, https://aka.ms/wsl2kernel から,Linux カーネル更新プログラムパッケージをダウンロードし,インストールする.
Windows 11, Windows 10 の順で,Ubuntu (Linux ディストリビューション) のインストールを説明.なお,この先には,Ubuntu の設定や操作について説明している.
コマンドプロンプトを管理者として実行: 別ページ »で説明
wsl --list --online
「wsl --update」は,wsl を更新する操作.Ubuntu のインストールの前に行っておくことで,トラブルを減らす.
wsl --update wsl --install -d Ubuntu-22.04
このときに設定したパスワードは,sudo コマンドの実行で必要になるので覚えておくこと. パスワードが画面に表示されないのは正常動作である.
wsl --shutdown wsl --unregister Ubuntu-22.04
Ubuntu, OpenSUSE, SUSE Linux Enterprse Server, Lali Linux, Debian GNU/Linux から選ぶことができる.
start ms-windows-store:
※ 「Ubunt 20.04 LTS」を選んだとして説明を続ける.
「入手」が表示されていなくて, 「インストール」が表示されているというときは, 「インストール」をクリック.
新しい画面が現れる. Linux ディストリビューションの初期化が始まる. しばらく待つ.
Ubuntu を起動したあと,「The Windows Subsystem for Linux optional component is not enable. Please enable it and try again」と表示され,進まない場合がある.
上の「Hyper-V,Linux 用 Windows サブシステム,仮想マシンプラットフォームを有効にする」に戻って,やり直してみる.
Ubuntu を起動したあと,「WslRegisterDistribution failed with error: 0x800701bc」と表示され,進まない場合がある.
このときは,次の操作で解決する可能性がある.
その他, Linux ディストリビューションのインストールができないときは, 次のページより手がかりが得られる可能性がある.
このときに設定したパスワードは,sudo コマンドの実行で必要になるので覚えておくこと. パスワードが画面に表示されないのは正常動作である.
Windows で,コマンドプロンプトを開き,次のコマンドを実行する.
wsl -l -v
次のように表示される場合は,WSL のバージョンは 2.
次のように表示される場合は,WSL のバージョンは 1.
「Linux カーネル更新プログラムパッケージ」をインストールしていない場合には, WSL バージョン2が使えるようにするために, 次のページからダウンロードし,インストールする.
WSL のバージョンが 1 のとき, 次のコマンドで,WSL のバージョンを 2 に変更できる.
「Ubuntu-20.04」のところには, いま確認を行ったLinux ディストリビューションの名前を指定すること.
wsl --set-version Ubuntu-20.04 2 wsl -l -v
wsl コマンドの使用法については, https://docs.microsoft.com/ja-jp/windows/wsl/reference
wsl ls
コマンドプロンプトで 「bash」あるいは「wsl」を実行.
wsl
既定の Linux サブシステムをUbuntu-20.04 に設定するときは,Windows で,コマンドプロンプトを開き,次のコマンドを実行する.
wsl -s Ubuntu-22.04
Ubuntu 22.04 でも Ubuntu 20.04 でも Ubuntu 18.04 でも同様の手順になる.
【サイト内の関連ページ】
次のコマンドを実行
あとで「sudo」を使いたい.「sudo」を使うたびに,パスワードを入れることが面倒なので,bash シェルを起動して,bash シェルで作業することにより,この問題を回避する.
wsl
実行時に自分で設定したパスワードが必要.
sudo sed -i 's/\/\/archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list sudo sed -i 's/\/\/us.archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list sudo sed -i 's/\/\/fr.archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
sudo apt -y update sudo apt -yV upgrade sudo apt -yV dist-upgrade
sudo apt -y install build-essential python3-dev python3-pip notepadqq
そこで,エディタの nodepadqq を使って次のプログラムファイルを作成. ファイル名は,何でも良いが,「hello.c」としている.
nodepadqq hello.c
次のプログラムファイルを作成.notepadqq で「save」の操作を行って,notepadqq を終了.
#include<stdio.h> int main() { printf("Hello,World!\n"); printf("sizeof(size_t)=%ld\n", sizeof(size_t)); return 0; }
次のコマンドで,コンパイルして,実行
gcc -o a.out hello.c ./a.out
python3 print("Hello,World") exit()
Windows 11 では,WSLg の機能により,WSL 2 上の Ubuntu のX ウインドウ・アプリの画面を出すのに特別な設定は必要はない.
WSLg の公式情報: https://github.com/microsoft/wslg
Windows 10 では,次の手順により, WSL 2 上の Ubuntu のX ウインドウ・アプリの画面を出すことができるようになる.
Ubuntu の X ウインドウ・アプリを使いたいときのため
次の手順で,SSH サーバを動かす.あわせて,Ubuntu が「デスクトップ」として機能するためのソフトをインストールする.
wsl sudo apt -y install ubuntu-desktop openssh-server net-tools wsl sudo /usr/bin/ssh-keygen -t rsa -b 1024 -f /etc/ssh/ssh_host_rsa_key -C '' -N ''
コマンドプロンプトで 「bash」あるいは「wsl」を実行するか, スタートメニューで Ubuntu を選ぶ.
X サーバソフトとして, MobaXTermをインストール.
次のコマンドで,「inet」のところに表示されるのが,IP アドレスである.
wsl ifconfig
ssh -X <ユーザ名>@<IPアドレス>