本記事について
- 自分のメモ用&学習記録用
- 手順を残しておかないと忘れるが、どうせ作るなら記事にしてしまおうという試み
- 基本的にインストール手順は一次情報(公式ドキュメント)に当たるのがよいが、以下の観点から技術ブログを参考にしながらインストールを進めるやり方をとっている
- 全体像を押さえるため
- 公式ドキュメントでは理解できない部分を補うため
- WSLの公式ドキュメントはこちら
WSLとは
- Windows Subsystem for Linux
- Windows上でLinuxを動作させる仕組み
- 様々なLinuxディストリビューションをインストール可能※本記事ではubuntuをインストールする
- WSL1とWSL2の違いはこちら
WSL2利用の前提条件
- Windows1-バージョン2004以上 (ビルド 19041 以上)またはWindows11
- 上記はWindowsの設定>システム>バージョン情報をみるとわかる
WSL2を構築した実行環境
- エディション:Windows 11 Home
- バージョン:23H2
- OSビルド:22631.4169
インストール方法
必要な機能を有効化する
- スタートボタン押下>設定>アプリ>オプション機能>Windowsのその他の機能
- 以下のにチェックを入れる※画像の赤枠
- Linux用Windowsサブシステム
- 仮想マシンプラットフォーム
- 設定反映後、PCの再起動が必要になる
PC再起動後、Powershellを管理者モードで開く
- Ctrl+Rで「ファイル名を指定して実行」のダイアログを開く
- ダイアログ内に「powershell」と入力
- Ctrl+Shift+Enterを押すとPowerShellが管理者モードで起動する
※スタートメニュからPowerShellを起動して管理者モードで実行するよりも楽!
WSL2をインストールする
- powershell(管理者モード)でコマンド実行
PS C:\Windows\system32> wsl --install
- 上記コマンドでインストールされればよいが、私の場合、以下のエラーが出た
PS C:\Windows\system32> wsl --install
wsl : 用語 'wsl' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません
。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくだ
さい。
発生場所 行:1 文字:1
+ wsl --install
+ ~~~
+ CategoryInfo : ObjectNotFound: (wsl:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [3,General]: コマンド wsl は見つかりませんでしたが、現在の場所に存在します。Windows PowerShell は、既定で は、現在の場所からコマンドを読み込みません。このコマンドを信頼する場合は、".\wsl" と入力してください。詳細については 、"get-help about_Command_Precedence" と入力してヘルプを参照してください。
- 上記抜粋すると、「wslは存在する」、「コマンドが違う」という箇所があることわかる
コマンド wsl は見つかりませんでしたが、現在の場所に存在します
このコマンドを信頼する場合は、".\wsl" と入力してください。
- 1つめ:「C:\Windows\system32」配下にWSLが存在するか確かめる
# 現在のディレクトリを確認
PS C:\Windows\system32> Get-Location
Path
----
C:\Windows\system32
# wsl.exeが存在するか確認
PS C:\Windows\system32> Get-ChildItem -Path C:\Windows\system32 -Filte wsl.exe
ディレクトリ: C:\Windows\system32
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2024/06/13 4:29 200704 wsl.exe
- 「C:\Windows\system32」ディレクトリに「wsl.exe」は存在することがわかる
- 2つ目:「wsl」じゃなくて「.\wsl」で入力してみる
PS C:\Windows\system32> .\wsl --install
インストール中: Ubuntu
(略)
Enter new UNIX username: #ユーザ名を入力
New password: # パスワードを入力
- 無事インストール開始。ubuntuがインストールされていることがわかる。
ユーザ名とパスワードの入力をお忘れなく - 続いてWSLが起動しているか確認する
PS C:\Windows\system32> .\wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
- Ubuntuが起動していることがわかる
WSL2上のubuntuにログインする
PS C:\Windows\system32> .\wsl
hogehoge@hoge:/mnt/c/Windows/system32$
以上。