Windows Subsystem for Linux 2 (WSL2)のインストールで気をつけることを徹底解説

この記事は 3 分で読めます。
概要

本記事では、Windows10/11でLinuxが利用できる仮想化技術「Windows Subsystem for Linux 2 (WSL2)をインストールする方法を紹介します。①初期ユーザーがWSL2をインストールする方法、②WSL1からWSL2へバージョンアップさせる方法の二つを紹介します。

管理人

本記事の読者層は以下の方を想定しています。

本記事の読者層
  • Windows Subsystem for Linux2のインストール方法を知りたい方
  • Windows11/Windows10でLinuxを利用したい方
目次

はじめに

 本記事では、Windows10/11上でLinuxが利用できるWSL2のインストール方法について紹介します。WSLとはWindows Subsystem for Linux (WSL/SWL2)と呼ばれ、Windows上でLinuxOSを実現させるための仮想環境ソフトです。Windows10/11ユーザーであれば、どなたでもインストールできる無料のソフトです。

WSLは2019年によりWSL2にバージョンアップしたことにより完全な形でLinuxを再現できるようになりました。

本記事では

について解説していきます。WSL2は、WSLよりLinuxをネイティブに利用できる機能が多くなり仮想環境プラットフォームなどが利用できるようなりました。

ポイント
  • Windows10/11
  • Windows Subsystem for Linux (WSL/WSL2)

WSLのインストール方法

  • ①CASE1:WSL2を直接インストールする場合
  • ②CASE2:WSLからWSL2へインストールする場合

CASE1:WSL2を最初からインストールする場合

WSLがインストールされているWindows10もしくはWindows11にて管理者権限を利用したPoweShellモードで下記のようにコマンド入力します。

(注意)WSL/WSL2ともに初めてインストールする場合、スタート右クリックでターミナル(管理者)をクリック。

すると「PowerShell」というターミナル画面が現れます。

そこから以下のようにタイプしてください。

> wsl --install 

すると、セットアップが始まります。

さらにUbuntuをインストールする場合には、以下のコマンドを実行ください。

> wsl --install -d Ubuntu
Ubuntu を起動しています...
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:

ここで、「Enter new UNIX username」にてパスワードを入力する

このようにすることでWSL2がインストールできます。インストールできたかは以下のPowerShell上のlistコマンドで確認できます。

以下のようになっていれば成功です。

>  wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         2
>

WSL2を規定にする場合
PowerShellなどのコンソールから下記コマンドを実行します。

>wsl --set-default-version 2
For information on key differences with WSL 2 please visit https://aka.ms/wsl2

CASE2:WSLからWSL2へのバージョンアップの場合

バージョンの確認

WindowsでWSL2のインストールには、WSLをインストールしておく必要があります。

WSLのインストールが完了していない場合は、以下の記事を参考にWSLをインストールください。

WSLがインストールされているWindows10もしくはWindows11にて管理者権限を利用したPoweShellモードで下記のようにコマンド入力します。

> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         1

ここで、Ubuntu-18.04で現在のWSLのバージョンが1となっています。これを以下のコマンド

wsl –set-version (ディストリビューション名) 2

を入力することで、WSL2へバージョンアップできます。この(ディストリビューション名)は上記のNAMEの表記を利用下さい。

ただし、”仮想マシン プラットフォーム” が現在、有効でないと以下のような警告とError codeがでます。

>  wsl --set-version Ubuntu-18.04 2
WSL 2 との主な違いについては、https://aka.ms/wsl2
 を参照してください
変換中です。これには数分かかる場合があります。
WSL2 は、現在のマシン構成ではサポートされていません。
"仮想マシン プラットフォーム" オプション コンポーネントを有効にし、BIOS で仮想化が有効になっていることを確認してください。
詳細については、https://aka.ms/enablevirtualization をご覧ください
Error code: Wsl/Service/CreateVm/0x80370102

このようなエラーがでた場合、以下の確認を行って下さい。

「Windowsの機能の有効化または無効化」が行われているか

下記「Windowsの機能の有効化または無効化」の設定で、下から3番目の「仮想マシンプラットフォーム」が有効化されていることを確認します。

更に、次のコマンドを入力して、現在の仮想マシンのプラットフォーム状態をチェックします。

> Get-WindowsOptionalFeature -online -featurename *plat*

FeatureName : HypervisorPlatform
DisplayName : Windows ハイパーバイザー プラットフォーム
Description : 仮想化ソフトウェアを Windows ハイパーバイザーで実行できるようにします
RestartRequired : Possible
State : Disabled
CustomProperties :

FeatureName : VirtualMachinePlatform
DisplayName : 仮想マシン プラットフォーム
Description : 仮想マシンのプラットフォーム サポートを有効にします
RestartRequired : Possible
State : Enabled
CustomProperties :

ここで、次のコマンドでVirtualMachinePlatformを有効化します。

> Enable-WindowsOptionalFeature -online -featurename VirtualMachinePlatform

Path :
Online : True
RestartNeeded : False

この表記の後に再起動が要求されると思います。もし再起動が要求されなければ、同一コマンドを再度入力してみて下さい。

次に、再度「wsl –set-version Ubuntu-18.04 2」コマンドを入力して起動するか確認ください。

これでまだ警告がでるようであれば、以下のBIOSの設定方法を試してみてください。

BIOS設定の変更

仮想環境にBIOSが対応していない場合があります。再起動直後に、F2~F6もしくはDELコマンドを入力すると、大抵のコンピューターでは、BIOS設定画面に移動できます。

ここでBIOSを仮想化(VTもしくはVTX)に対応するように設定しておきます。

基本は

AMD系CPU(Ryzenなど)の場合

BIOS画面の詳細→CPUの設定に「SVM MODE」を有効にするという設定があります。「有効」にしてください。

INTEL(Coreシリーズなど)の場合

BIOS画面の詳細→CPUの設定に「INTEL VT」を有効にするという設定になっているかと思われます。「有効」にして下さい。

BISO設定が終了したら、Windows上で再度、「wsl –set-version (ディストリビューション名) 2」コマンドを入力すると以下のように正しく終了しましたというメッセージが現れます。

> wsl --set-version Ubuntu-18.04 2
WSL 2 との主な違いについては、https://aka.ms/wsl2
 を参照してください
変換中です。これには数分かかる場合があります。
この操作を正しく終了しました。

再度、バージョン情報を確認してみると以下のように表示されているため成功です。

>wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         2

以上により、WSLをWSL2へバージョンアップしたことになります。

Ubuntuを立ち上げれば利用可能になります。とくに、snapやDockerなどが利用可能になっているかと思います。

WSL2の設定後にapt-get updateでエラーが出る場合の対応方法

WSL2の設定後にapt-get updateで以下のようなエラーが出る場合がある。

$sudo apt-get update
Err:1 http://archive.ubuntu.com/ubuntu bionic InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
  Temporary failure resolving 'security.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Reading package lists... Done
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-backports/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease  Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.

これはDNSが解決できていないことが原因のため、以下の2つの設定を行う。

wsl.confの設定

$ sudo nano /etc/wsl.conf

にて、以下のように「resolv.conf」を生成しないような設定を行う。

[network]
generateResolvConf = false

resolv.confの設定

次に、以下のように

$ sudo nano /etc/resolv.conf

resolv.confに以下のgoogleのDNSを記載しておきます。

nameserver 8.8.8.8

以上の2点の修正をした後に、DOSプロンプトもしくはPowerShellコマンドの管理者権限から、

wsl --shutdown

にて一度、WSLを再起動させます。

ystemdと呼ばれるLinux機能

新しいWSL2では、ubuntuからシャットダウンできるようになりました。

設定方法は簡単です。

  • /etc/wsl.confファイルを以下のように作成もしくは修正します。
    systemd=true
  • powershell上で「wsl –shutdown」コマンドを実行
  • 再度wls2からubuntuディストリビューションへ入り直します。
  • これで、shutdown -r now等のコマンドがwsl上で利用できます。

再度、WSL立ち上げ後、「apt-get update」が以下のように通常通りできるようになります。

$sudo apt-get update
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [2473 kB]
Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [83.3 kB]
Get:6 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [2810 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [428 kB]
Get:8 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [985 kB]
Get:9 http://security.ubuntu.com/ubuntu bionic-security/restricted Translation-en [136 kB]
Get:10 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1246 kB]
Get:11 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [288 kB]
Get:12 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [19.0 kB]
Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [517 kB]
Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [1015 kB]
Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/restricted Translation-en [141 kB]
Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1858 kB]
Get:17 http://archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [402 kB]
Get:18 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [24.9 kB]
Get:19 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [6012 B]
Get:20 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [53.3 kB]
Get:21 http://archive.ubuntu.com/ubuntu bionic-backports/main Translation-en [14.6 kB]
Get:22 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [18.1 kB]
Fetched 12.7 MB in 7s (1911 kB/s)
Reading package lists... Done

以上で終了です。

Windows10/11で「ownCloud」や「nextCloud」などを利用したい場合

Dockerのインストール

更に「Wordpress」や「nextCloud」など様々なサーバー環境をより簡単インストールしたい場合には、Dockerを使うと便利です。Dockerとは、仮想環境プラットフォームと呼ばれるLinux用のアプリケーションで、さまざまなサーバーイメージをサーバー環境下で構築できます。以下の手順を参考にDockerをインストールして置くと便利です。

WindowsでLinuxのデスクトップ環境を実現したい場合

WindowsでLinuxのデスクトップ環境を実現したい場合には以下の記事をご参照ください。

まとめ

本記事のまとめ

本記事はで、Windows10や/11にて完全な形のLinuxが実現できるWSL2のインストール方法を解説しました。

この設定には

  • 仮想マシンプラットフォーム」が有効化
  • 「BIOSの設定」


が必須となります。
次回の記事をご期待下さい。どうぞよろしくお願いいたします。

関連リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次