Windows 10 で Windows Subsystem for Linux 2 を実行する
Windows 10 で Linux OS を実行する方法はいくつかあると思います。
1つは Hyper-V などのハイパーバイザー型仮想化ですが、これは、仮想マシンに Linux OS をインストールし実現する方法です。 しかし、Windows の Home エディションでは Hyper-V が実行できないので実現できません。
もう1つは Windows Subsystem for Linux 2(以下、 WSL 2 と呼びます)で実現する方法です。これもハイパーバイザー型仮想化(ハイパーバイザーの上で実行されています)ですが、Hyper-V とは違い 仮想マシンプラットフォームを有効にすれば Linux OS が使用できますので、Windows の Home エディションでも実現できます。
今回は Windows の Home エディションで Linux OS を勉強することを目標に掲げ、WSL 2 の構築とし Linux OS の使用するまでの手順を解説したいと思います。
なお、WSL 2 は Hyper-V の 仮想マシンでも実行できますので、検証機には Windows10 をインストールした仮想マシンを使いたいと思います。
Hyper-V の 仮想マシンの構築手順に関しては、別の記事でまとめていますので、よろしければこちらをご覧ください。ちなみに、OS には Windows Server 2022 をインストールしていますが、Windows 10 にも同様の手順でインストールが可能です。
また、仮想環境には入れ子になった仮想環境(Nested Hyper-V)を使用していますので、よろしければこちらもご覧ください。
WSL 2 に Hyper-V は使用されていますか? Windows 10 Home では使用できるようになりますか?
WSL 2 に関する FAQより引用
WSL 2 は、WSL を使用できるすべてのデスクトップ SKU で使用できます (WINDOWS 10 HOME)。
最新バージョンの WSL では、仮想化を有効にするために、Hyper-V アーキテクチャが使用されます。 このアーキテクチャは、”仮想マシン プラットフォーム” のオプション コンポーネントで使用できます。 このオプションのコンポーネントは、すべての SKU 上で使用できます。 WSL 2 は間もなくリリースされるため、このエクスペリエンスの詳細をすぐにご確認いただけます。
仮想マシンで WSL 2 を実行できますか?
WSL 2 に関する FAQより引用
はい。 仮想マシンで入れ子になった仮想化が有効なことを確認する必要があります。 これを親 Hyper-V ホストで有効にするには、管理者特権を使用して PowerShell ウィンドウで次のコマンドを実行します。
仮想マシンの構成
以下は、仮想マシンの構成となります。
CPU | Core i7 10700F |
メモリ | 8GB |
エディション | Windows 10 Pro |
バージョン | 21H1 |
OSビルド | 19043.1165 |
Microsoft の公式サイトにて WSL 2 の実行要件が公表されていますので、仮想マシンの構成と比較してみます。
実行要件は Windows 10 バージョン 2004 以降 (ビルド 19041 以降) と説明されてますので、仮想マシンの構成は WSL 2 の実行要件を満たしています。
WSL 2 のセットアップ
では、WSL 2 の構築方法を解説したいと思います。
なお、今回は Microsoft が公式サイトにて手順を公開していますので、その手順に従い構築をを進めていきたいと思います。
また、Windows Insider Program に参加していない方も実施できるように、今回は手動で WSL 2 を構築していきたいと思います。
まず、Windowsにサインインします。
Windows PowerShell を管理者として実行します。
次に、WSL を有効化するため、以下のコマンドレットを実行ます。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
WSL が有効化されました。
[Windows の機能] を開くと [Linux 用 Windows サブシステム] が有効化されています。
WSL を有効化するコマンドレットが正常に完了した場合のみ [Linux 用 Windows サブシステム] が追加されます。
次に、WSL 2 の実行要件を確認します。
これに関しては、「仮想マシンの構成」でも確認した通り、仮想マシンは WSL 2 の実行要件を満たしています。
次に、仮想マシンプラットフォームを有効化するため、以下のコマンドレットを実行します。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
仮想マシンプラットフォームが有効化されました。
[Windows の機能] を開くと [仮想マシン プラットフォーム] が有効化されています。
仮想マシン プラットフォームを有効化するコマンドレットが正常に完了した場合のみ [Linux 用 Windows サブシステム] が追加されます。
次に、「Linux カーネル更新プログラム パッケージ」をダウンロードします。
「Linux カーネル更新プログラム パッケージ」をダウンロードする場合は こちら をクリックしてください。
「wsl_update_x64.msi」がダウンロードできます。
ダウンロード後、WSL 2 をセットアップする対象マシンで「wsl_update_x64.msi」を実行し、「Linux カーネル更新プログラム パッケージ」を適用します。
次に、WSL 2 をデフォルトのバージョンに設定するため、以下のコマンドレットを実行します。
wsl --set-default-version 2
WSL のデフォルトのバージョンが WSL 2 に変更されました。
Ubuntu のインストール
WSL 2 のセットアップが完了しましたので、続いては、Linux ディストリビューションのインストールを実施いたします。
なお、本稿では Linux のディストリビューションとして「Ubuntu 20.04 LTS」をインストールいたします。
まず、Microsoft Storeを開き「Ubuntu 20.04 LTS」を検索します。
Microsoft Store の検索ボックスに「Ubuntu」と入力するれば「Ubuntu 20.04 LTS」が表示されます。
次に、[入手] ボタンをクリックすると「Ubuntu 20.04 LTS」のインストールが開始されます。
なお、著者の環境では1~2分程度でインストールが完了しました。
もし、Microsoft アカウントを登録していない場合、もしくは Microsoft アカウントを登録していても、そのアカウントでサインインしていない場合は、以下のメッセージが表示されます。
メッセージが表示されても [必要ありません] をクリックすれば「Ubuntu 20.04 LTS」のインストールが開始されます。
次に、コンソールウィンドウを開きます。
コンソールウィンドウを開くと、新しいユーザーとパスワードの作成を要求されます。新しいユーザーとパスワードを作成します。
ユーザーの作成とパスワードの設定が完了すると「Ubuntu 20.04 LTS」にログインできます。
なお、WSL 2 をセットアップする対象マシンが仮想化されていない場合、コンソールウィンドウにエラーが表示されます。
表示されたエラーコードは「Error: 0x80370102」です。
次に、Windows メニューを開きます。
「Ubuntu 20.04 LTS」のショートカットが追加されます。
そのショートカットのクリックすると、「Ubuntu 20.04 LTS」のコンソールウィンドウが表示されます。
次に、「Ubuntu 20.04 LTS」に割り当てられている WSL のバージョンを確認するため、以下のコマンドレットを実行します。
wsl --list --verbose
WSL のバージョンは WSL 2 です。
Ubuntu の動作検証
Linux ディストリビューションのインストールが完了しましたので、続いては、Ubuntu の動作検証を実施いたします。
なお、動作検証ではパッケージのアップグレードと root のパスワード設定を実施いたします。
まず、インストール可能なパッケージ一覧を更新しするため、以下のコマンドを実行します。
sudo apt update
次に、インストール済みのパッケージを更新するため、以下のコマンドを実行します。
パッケージの更新が正常に完了しました。
sudo apt upgrade
次に、root のパスワードを設定するため、以下のコマンドを実行します。
root のパスワード設定が正常に完了しました。
sudo passwd root
次に、root へスイッチしてみます。
root へのスイッチも問題ありませんでした。
まとめ
以上が、WSL 2 のセットアップと Linux ディストリビューションのインストール手順となります。
いかがでしたでしょうか?
WSL 2 のセットアップも Linux ディストリビューションのインストールも GUI で操作できますので、 WSL 2 の環境はスムーズに構築できたのではないでしょうか。
WSL 2 は Windows の Home エディションでも、入れ子になった仮想化(Nested Hyper-V)でも動作しますので、これから Linux OS を勉強したい方にとっては強力なツールなのではないでしょうか。
ただし、Linux OS はインストールできますが CUI ベースの OS ですので、そのあたりは注意が必要です。GUI ベースの Linux OS はインストールできません。
ただし、GUI ベースの Linux OS がインストールできなくても「VcXsrv」や「MobaXterm」などの X サーバーとあわせることにより Linux の GUI アプリケーションが実行できますので、X サーバーの構築もおこなってみるのもよいと思います。
「VcXsrv」や「MobaXterm」を使って Linux の GUI アプリケーションを動作させる手順も公開していますので、よろしければこちらもご覧ください。
また、WSL 2 の環境に Docker Desktop for Windows を構築する手順も公開していますので、 よろしければこちらもご覧ください。
なお、WSL 2 の環境へも WordPress をセットアップすることは可能です。
WSL 2 を学習中の方や、これから学習しようと考えている方の参考になれれば幸いです。
最後までお読みいただきありがとうございました。
では。