LoginSignup
1
3

More than 3 years have passed since last update.

WSL2の手動インストール(2021年睦月)

Last updated at Posted at 2021-03-31

初めに

いつもお読みいただき、ありがとうございます。あと少しですので頑張ります。

WSL2を使えるようにする

PowerShell (Core) を使って作業
- WindowsTerminalからPowerShellを開いて実行する。

準備

sudo を使うので確認

管理者権限でのスクリプト時に便利なので、Scoopで入れておくとよい。

scoop info sudo

image.png

インストールされていない場合は追加する。
powershell
scoop install sudo

インストール

1)WSL機能を有効にする

Windows機能として「Linux 用 Windows サブシステム」オプション機能を有効化することで、WSL1/WSL2が使用可能となる。

sudo dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

image.png

2)仮想マシン機能を有効にする

WSLの実行には「仮想マシン機能」が有効であることが必要。そもそもCPUやファームウェア自体が対応してないと有効化できない。もしうまくいかないときは、自分のマシンスのペックやCPUを調べてみること。

# Windows10のバージョンが新しい(2004)場合は以下のコマンド:
sudo dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# Windows10のバージョンが古い(1903, 1909)場合は以下のコマンド:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart

3)マシン再起動

sudo shutdown /r

4)WSL2 を既定のバージョンとして設定

新しい Linux ディストリビューションをインストールする際の既定バージョンとして WSL2 を設定する。

sudo wsl --set-default-version 2

image.png

指定された https://aka.ms/wsl2kernel に行くと、Linux カーネルコンポーネントの更新が必要とのこと。x64用の更新プログラム1をダウンロードし、インストールする。もし、ARM64 マシンを使用している場合は、代わりに ARM64 パッケージ2をダウンロードして使う。

curl https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi --output c:\home\seeds\wsl_update_x64.msi

image.png

c:\home\seeds\wsl_update_x64.msi

image.png
再設定してみると、警告はでなくなった。

sudo wsl --set-default-version 2

image.png

Linux をインストール

まずはbash(Ubuntu)を使えるようにする

最近のwindows10には、標準でbash.exeというコマンドが入っているが、動かそうとすると以下のように表示される。

bash

image.png
指定のURLを見ると「Microsoft Store」のLinuxのページ。
image.png
「Ubuntu」を選択すると、現時点では20.04が取得できる。
image.png
インストール完了。
image.png
起動すると、Linuxでのユーザ名と、パスワードの入力を促される。
image.png
完了するとubutuのターミナルとなる。
image.png
「sudo」は可能だが、パスワードが必要。
image.png

動作

状況確認

PowerShell (Core) にて実行。

wsl -l -v

image.png

コンソールから使用

PowerShell (Core) のコンソールからbashを起動。

bash

現在のディレクトリにてbashが起動する。

image.png
bashにて、ファイルをリスト表示する。LANGはC.UTF-8となっており、そのままでも日本語ファイルパスを表示できる。

ls -l /mnt/c/Users/${USER}/
echo $LANG

image.png

ツールを使ってインストール先を選択

LxRunOfflineを利用する。

インストール

scoop search LxRunOffline
scoop install LxRunOffline

image.png
image.png

Distroファイルを取得する

curl -L https://lxrunoffline.apphb.com/download/Alpine/v3.13 --output c:\home\seeds\alpine-v3.13-root.tar

image.png

wsl に導入

# 作成
LxRunOffline install -n Alpine_v3.13 -d C:\opt\wsl2\alpine_v3.13 -f c:\home\seeds\alpine-v3.13-root.tar -r .
# 確認:リスト表示
LxRunOffline list

wsl から確認

wsl -l -v

image.png

wsl2 に変換

wsl --set-version Alpine_v3.13 2
wsl -l -v

image.png
image.png

実行

wsl -d Alpine_v3.13

image.png

確認

別のPowerShellを開いて実行。

wsl -l -v

image.png

停止

wsl -t Alpine_v3.13
wsl -l -v

image.png

トラブル

少し使っていると、トラブルも発生する。特に「マシンのメモリーを使い果たしてしまって、WSL2以外のアプリが動かなくなる」のは深刻。対処法は別記事3に書いたので、参考にして設定変更するとよい。

終りに

あともう少しでDockerが動く。

親記事:WSL2とVSCで作るWindowsでのDocker内開発環境(2021年睦月)

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3