WSL (Windows Subsystem for Linux) のセットアップ

2019年2月2日にリリースされたHomebrew v2.0から、公式サポート環境にWindows 10(WSL)とLinuxが加わりました。

この記事では、Homebrewで必要になるWSLのセットアップ方法を解説します。

スポンサーリンク

Windows 10でのWSLのインストール

次の手順でインストールします。

(1) スタートメニューから「設定」を選択します。

(2) 「アプリ」を選択します。

(3) 「プログラムと機能」をクリックします。

少し分かりにくいところにありますが、「関連設定」というところの下にあります。スクリーンキャプチャでは右上に表示されていますが、ウインドウの幅が狭いときは、インストール済みのアプリのリストの下に表示されます。

(4) 「Windowsの機能の有効化または無効化」をクリックします。

表示されたウインドウの左側に並んだリンクの中にあります。

(5) 「Windows Subsystem for Linux」と「Windowsハイパーバイザープラットフォーム」(または「Hyper-V」)をチェックして「OK」ボタンをクリックします。

(6) インストールが始まります。インストールが完了すると「必要な変更が完了しました。」が表示されます。「今すぐ再起動」ボタンをクリックします。

Windows 11でのWSLのインストール

次の手順でインストールします。

(1) スタートボタンをクリックし、「設定」を選択します。

(2) 「アプリ」を選択します。

(3) 「オプション機能」をクリックします。

(4) 表示された画面を一番下までスクロール、「関連設定」の「Windowsのその他の機能」という項目をクリックします。

(5) 「Windowsの機能」というダイアログが表示されます。「Linux用Windowsサブシステム」と「Hyper-V」(または「Windowsハイパーバイザープラットフォーム」)をチェックし、「OK」ボタンをクリックします。

(6) インストールが始まります。インストールが完了すると「必要な変更が完了しました。」と表示されます。「今すぐ再起動」ボタンをクリックします。

Linuxディストリビューションをインストールする

次にWSLで動かすLinuxディストリビューションをインストールします。WSLで動かすLinuxディストリビューションはMicrosoft Storeからインストールできます。

Homebrewを使うという目的では、どのディストリビューションでも構わないと思います。私は慣れていることもあり、Ubuntuをインストールすることにしました。

次のように操作します。

スポンサーリンク

Windows 10の場合

Windows 10とWindows 11で少し表示が変わりますが、操作方法は同じです。

(1) Microsoft Storeアプリで「Ubuntu」を検索します。

(2) Ubuntuをクリックします。(この記事執筆時点では無料です)

(3) 入手ボタンをクリックします。

(4) 起動ボタンをクリックします。インストール完了時の通知で「スタートにピンとめ」を選択しておけば、スタートから起動できます。

Windows 11の場合

Windows 10とWindows 11で少し表示が変わりますが、操作方法は同じです。

(1) Microsoft Storeアプリで「Ubuntu」を検索します。

(2) Ubuntuの「インストール」ボタンをクリックします。ストアへのログイン状況や過去に一度もダウンロードしたことがアカウントの場合は「入手」と表示されます。その場合は「入手」ボタンをクリックします。

Ubuntuのセットアップ

Ubuntuを起動すると、シェルが起動します。初回起動時はUbuntu側のセットアップが必要になります。次の手順でセットアップします。

(1) 次のように表示され、インストール処理の残りが実行されます。そのまま待ちます。

Installing, this may take a few minutes...

ここで、エラーが表示されることがあります。エラーメッセージと共に解決方法が書かれたWebサイトのURLが表示されるので、そのページを開き、指示に従って解決してから、再度、起動してください。エラー画面は何かキーを押すと閉じられます。

私の環境で起きたエラーについては、この記事の後の項目に書きましたので、参照してください。

(2) しばらくすると、次のように表示され、UNIXユーザーアカウントを作成するため、ユーザー名の入力待機になります。任意のユーザー名を入力します。

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:

(3) 次のように表示されるので、パスワードを設定します。

Enter new UNIX password:
Retype new UNIX password:

これで、WSL上でUbuntuを使えるようになりました。

カーネルコンポーネントを更新する

次のようなエラーが表示されることがあります。

WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ???????? ?????????????? https://aka.ms/wsl2kernel ????

Press any key to continue...

古いカーネルコンポーネントのときに表示されるエラーなので、https://aka.ms/wsl2kernelを開き、新しいコンポーネントをインストールする必要があります。次のように操作します。

(1) https://aka.ms/wsl2kernel を開きます。

(2) 「x64マシン用WSL2 Linuxカーネル更新プログラムパッケージ」をダウンロードします。但し、ARM64マシンなど、x64マシン以外を使っている場合は、Webページに書かれている指示に従ってください。

(3) ダウンロードしたファイルを開きます。ウィザードが表示されるので、「Next」ボタンをクリックします。

(4) インストールが始まります。ウィザードの指示に従います。完了画面になったら「Finish」ボタンをクリックして閉じます。

BIOSで仮想化支援機能の有効化が必要なとき

BIOSで仮想化支援機能の有効化が必要なときは、次のようなエラーが表示されます。

WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/enablevirtualization

(1) 使用しているマシンの説明書に従って仮想化機能を有効化します。例えば、私が使用しているDELLのマシンの場合は、BIOSメニューの中に、次の項目があります。

  • Enable Intel Virtualization Technology
  • Enable VT for Direct I/O

(2) 管理者権限でPowerShellを起動します。

(3) PowerShellで次を実行し、ハイパーバイザーの起動が有効になっているかを確認します。

bcdedit /enum | findstr -i hypervisorlaunchtype

以下の様に表示された場合は、ハイパーバイザーの起動がOFFになっています。

hypervisorlaunchtype Off

次のように入力して、有効にします。

bcdedit /set {current} hypervisorlaunchtype Auto

何も表示されない場合は、必要なコンポーネントがインストールされていない可能性があります。まず、次のように入力して、Hyper-Vに対応しているかを調べます。

systeminfo.exe

色々な情報が表示されますが、Hyper-Vの要件を確認します。以下のように出力されればHyper-Vに対応しているマシンです。

Hyper-V の要件: VM モニター モード拡張機能: はい
               ファームウェアで仮想化が有効になっています: はい
               第2レベルのアドレス変換: はい
               データ実行防止が使用できます: はい

この状態でエラーが出ている場合は、Hyper-Vがインストールされていない可能性が高いです。この記事のWSLのインストール手順に従って「Hyper-V」(「Windowsハイパーバイザープラットフォーム」)をインストールしてください。

スポンサーリンク
最新情報をチェックしよう!