WSL/WSL2 インストール (Windows 10でUbuntu)

2020-11-12 | コメント(0)

Windows 10 の Windows Subsystem for Linux (WSL) のインストール、次いで WSL2 のインストールと、ディストリビューションとして Ubuntu の起動方法です。

Windows 10 の場合、WSL の Ubuntu を実行するには、Microsoft Store からインストールする方法と、手動で設置して行う方法があります。

WSL を必要としている人は、開発者もしくはPCに詳しい人かと思いますが、
個人的に言わせてもらうと、Storeアプリでインストールするのはあまりお薦めしません。Storeアプリだと、どこにファイルがあるのか分かり難いため、手動で設置してインストールしたフォルダを把握できるようにしておくことをお薦めします。

このページ内容に関係する Microsoft Docs 参考サイト
Windows 10 用 Windows Subsystem for Linux のインストール ガイド
Linux 用 Windows サブシステム ディストリビューション パッケージを手動でダウンロードする

インストールのところにも記載してますが、WSL2 が利用できる場合は WSL2 をインストールすることを推奨します。既に WSL をインストール済みの場合でも、WSL2 に更新するほうが良いです。WSL (1) に比べ WSL2 では、Linuxの互換性も優れ、動作速度も体感できるほど速く感じることが多くなります。

私の環境ですが、Ubuntu をインストールした直後の apt upgrade でも、WSL でいつも 20分くらい掛かっていたものが、WSL2 だと 10分くらいで終わるほど早くなりました。

さらに、Windows 10 で Docker を使用する場合にも、WSL2 の環境を用意するほうが良いです。
Dockerのインストール方法は Windows 10 Docker インストール を参考にしてください。

なお、Windows Server に WSL をインストールするには、当エントリーでは無く WSL インストール (Windows Server 2019でUbuntu) を参考にしてください。

目次

WSL / WSL2 インストール

ディストリビューションのインストール (Ubuntu)

ディストリビューションのアンインストール (Ubuntu)

プログラムと機能、Windows の機能の有効化または無効化から、「Linux 用 Windows サブシステム」をインストールします。

WSL2 をインストールする場合は、「仮想マシンプラットフォーム」も必要になるので、次項を参照してください。

Windows 10 のバージョンによっては 「Linux 用 Windows サブシステム」 が無く、「Windows Subsystem for Linux」の名前になっている場合はそちらを選択してください。

Windows の機能の有効化または無効化

Linux 用 Windows サブシステム

インストールが完了すると、PCの再起動が必要になります。

Windows の機能 インストール完了再起動

再起動されたらインストール完了です。

PowerShellから wslconfig /l 等のコマンドも実行できるようになります。

WSL2 を使用するには、PCのハードウェアに仮想化テクノロジが必要です。

仮想化テクノロジが無い場合、WSL2 に必要なインストールは無事に成功しますが、WSL2 でセットアップしたディストリビューションは、実行させてもエラーして動作しません。

仮想化テクノロジの判断基準として、Hyper-V Hyperviser の機能がインストールできるかどうかで判断ができます。WSL2 のために Hyper-V は必要ありませんが、Hyper-V Hyperviser がインストールできないPCの場合、WSL2 も結果として動作しないことになります。

WSL2 をインストールするには、「Linux 用 Windows サブシステム」に加えて、「仮想マシンプラットフォーム」の機能もインストールします。

Linux 用 Windows サブシステム

仮想マシン プラットフォーム

機能をインストールすると、再起動が促されるので再起動します。

再起動したら、次にインストールガイド内のリンクにある「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をダウンロードしてインストールします。

Linux カーネル更新プログラム パッケージをダウンロードする

x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ リンク先

ダウンロードした wsl_update_x64.msi は、ファイルのブロックを外してから実行しましょう。

wsl_update_x64.msi

管理者で wsl_update_x64.msi を実行。

WSL2 Linux カーネル更新プログラム パッケージ インストール

WSL2 Linux カーネル更新プログラム パッケージ インストール中

WSL2 Linux カーネル更新プログラム パッケージ インストール完了

次に、WSL の既定のバージョンを 2 に設定します。

PowerShellを起動し wsl --set-default-version 2 を実行します。

PS C:\Users\Administrator> wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
PS C:\Users\Administrator>

WSL2 を既定にする

これで、WSL2 の環境設定は完了です。

WSL の既定バージョンを 2 にしたことで、今後 WSL に登録されるディストリビューションは、WSL2 で動作します。

WSL1 に戻す場合は、wsl --set-default-version 1 を実行し、既定バージョンを 1 にすることで、元のバージョンが使われます。

WSL の既定バージョンは、ディストリビューションが登録される時に決定されるものなので、既に WSL に登録済みのディストリビューションの WSL バージョンは変わりません

つまり、WSL 1 or 2 は、混在させて動作させることができます。WSL2 のほうがパフォーマンスが優れているので、WSL2 が使用できる場合は、WSL 1 を意図して使用することは少ない (ほぼ無い) と思います。

個人的には、Microsoft Store で Ubuntu をインストールするのはお薦めしません。

後述の、手動で設置してインストールするほうをお薦めします。

Storeアプリだと、インストール/アンインストールが面倒に思えて、私の場合 Ubuntu をやり直す際に嫌に感じてしまいます。どこのフォルダにインストールされたのかも分かり難いので、これも嫌に感じる要因の一つです。

手動で設置している場合は、登録されたディストリビューションをコマンドで登録解除する必要はありますが、意図したフォルダで管理できるので、Storeアプリのような不透明な感じがありません。

Microsoft Storeから「Ubuntu」を検索します。Ubuntu 18.04 LTS を選択。

Microsoft Store Ubuntu 検索

Ubuntu を見つけたら、「入手」をクリックすることでインストールできます。

Microsoft Store Ubuntu 18.04 LTS

Microsoft Storeを初めて使う場合や、Microsoft Storeにサインインしていない場合は、サインインを求める画面が表示されますが、「必要ありません」で進めることができます。

Microsoft Store サインイン

インストール中は、上部に進捗状況が確認できます。ダウンロード中、インストール中、と変わっていきます。

Microsoft Store Ubuntu インストール中

インストールが完了すると、「起動」ボタンが現れます。メニューにも、Ubuntu 18.04 LTS が追加されます。

Microsoft Store Ubuntu インストール完了

Microsoft Store Ubuntu メニュー

これでインストール完了です。「起動」もしくは、メニューから Ubuntu 18.04 LTS を選択すると Ubuntu が実行できます。

Store アプリの Ubuntu はどこにインストールされたか?

一般的に、Store アプリは C:\Program Files\WindowsApp\ の中に追加されるので、確認してみたところ、それらしいフォルダが3つ追加されていました。
※ WindowsApp フォルダは隠しフォルダです。

3つあるうちの1つは Ubuntu のフォルダになっています。他の2つのフォルダは良く分かりませんが、Store アプリの管理構成などが壊れるかもしれないのであまり触らないほうが良いでしょう。

Microsoft Store Ubuntu インストールパス

Microsoft Store Ubuntu インストールファイル

手動で設置する場合は、Windows Server と同じ設置方法になります。

参考 Windows Server の WSL Ubuntu インストール

私の場合、ドライブ直下に WSLDistros というフォルダを作成して、そこを WSL のルートフォルダにしています。

ダウンロードしたディストリビューションの appxファイルをそこに置き、拡張子を .zip にします。
※ appxファイルはzipファイルになっています。

zipファイルを解凍すると、WSL の Ubuntu ファイルになるので、解凍先として、ディストリビューション名の Ubuntu_18.04 フォルダを作成しておきます。

WSL ルートフォルダ

zipファイルを右クリックして展開 (すべて展開) で、Ubuntu_18.04 フォルダに解凍します。

WSL Ubuntu 解凍

WSL Ubuntu ファイル

これで準備完了です。

ubuntu1804.exe を実行することで Ubuntu が実行できます。手動で設置した場合は スタートメニュー はありませんので直接ファイルからの実行になります。

Store アプリの Ubuntu の場合は、Windowsのメニューから起動。手動で設置した場合は、ubuntu1804.exe を直接実行します。

WSL の既定のバージョンが 1 でも 2 でも (WSL / WSL2)、ディストリビューションの実行方法は同じです。

実行後の動作は、Store アプリも手動で設置した場合も同じです。

初回実行時には、

Installing, this may take a few minutes...

が表示されて、1分くらい待たされます。

その後、初期ユーザー名とパスワードを登録 (パスワードは2回) をして Ubuntu にログインされます。
※ パスワードの入力は、画面にリダイレクトされないので注意してください。キー打しても画面は何も変わりませんが、押下したキーは、しっかりと読まれています。

この時のユーザー名、パスワードは、初期管理者になるので忘れないようにしてください。

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 password:
Retype new UNIX password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.

WSL Ubuntu 初回起動

初期状態のままでは、各種コマンドが失敗することが多いので、apt update、apt upgrade をしておきます。

sudo apt update
sudo apt upgrade -y

※ 私の環境では、WSL (1) の場合で、いつも15分から20分近く掛かっていましたが、WSL2 にすることで10分程度で済むようになりました。

apt upgrade が完了すれば、通常の Ubuntu として機能します。

ただし、WSL はホストOSと共存して動作するため、
Ubuntu 内で、WebサーバーやDBサーバーなどを使用する場合、同じポート番号がホスト側で使用されている場合は、干渉して使用できないので注意してください。
ポート番号を変えるか、どちらかのサービスを停止するなどの対処をする必要があります。

apt upgrade 中に、次の質問が来ます。

There are services installed on your system which need to be restarted when certain libraries, such as libpam,
libc, and libssl, are upgraded. Since these restarts may cause interruptions of service for the system, you will
normally be prompted on each upgrade for the list of services you wish to restart.  You can choose this option
to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can avoid
being asked questions on each library upgrade.

Restart services during package upgrades without asking?

                                  <Yes>                                     <No>

Ubuntu apt apgrade Serviceリスタート確認

オンプレミスの Ubuntu でもこの質問が来ることもありますが、要はアップグレードに際して関係するサービスを再起動して良いか?というものです。

「←」キーで <Yes> を選択し、「スペース」もしくは「Enter」で進めてください。

<No> で進めた場合、更に追加質問が来ることもありますが、「↓」キーで <Ok> を選択し、「スペース」もしくは「Enter」で進めてください。

Ubuntu から抜けるには、Exit コマンドか、右上タスクバーの「×」で終了させます。

再度 Ubuntu に入るには、(Store アプリの場合) Windowsのメニューから起動。手動で設置した場合は、ubuntu1804.exe を実行することで入ることができます。

2回目以降は、初回起動のプロセスは必要ありません。

PowerShellから、WSL の登録情報を確認してみます。

wslconfig /l

PS C:\Users\Administrator> wslconfig /l
Windows Subsystem for Linux ディストリビューション:
Ubuntu-18.04 (既定)

WSL List

WSL のディストリビューションとして、Ubuntu-18.04 (既定) というのが確認できますが、これが先ほどの Ubuntu です。

末尾の "(既定)" というのはディストリビューション名では無く、WSL の既定のディストリビューションに付くものです。

他、WSL にはディストリビューションのアップグレードというコマンドがあるので、この Ubuntu のアップグレードをしてみます。Ubuntu からは抜けておいてください。

wslconfig /upgrade Ubuntu-18.04

PS C:\Users\Administrator> wslconfig /upgrade Ubuntu-18.04
アップグレードしています...
アップグレードが正常に完了しました。

WSL Ubuntu Upgrad

ディストリビューションのアップグレードは、ディスクアクセスが最適化されるという説明がされています。

個人的には、あまり変わった気がしないので、やってもやらなくても良いと思います。

私は、WSL の Ubuntu を、作成しては削除して .. を何度も繰り返し行っていますが、アップグレードはあまり恩恵も感じられず、面倒なだけなので気が向いた時だけしか行っていません。

Microsoft Store からインストールした Ubuntu の削除は、アプリと機能からアンインストールすることで削除できます。

Microsoft Store Ubuntu アンインストール

アンインストールすると、WSL からも登録解除されるため、wslconfig /u Ubuntu-18.04 を事前に行う必要はありません。

また、インストール時に C:\Program Files\WindowsApp\ の中に追加された3つのフォルダも削除されます。

手動で設置した Ubuntu を削除する場合は、WSL から登録を解除する必要があります。

なるべく、ファイルの矛盾が無いように、物理ファイルを削除する前に登録解除するほうが良いです。

WSL の登録解除は、wslconfig /u <ディストリビューション名> ですので、

PS C:\Users\Administrator> wslconfig /u Ubuntu-18.04
登録を解除しています...

で登録を解除します。

解除されたか結果は表示されないので、wslconfig /l で一覧を確認しておくほうが良いでしょう。

WSL Ubuntu Upgrad

WSL の登録が解除されたら、物理ファイルを削除します。

WSL Ubuntu Upgrad

WSL のディストリビューションは、ファイル展開&登録と削除のやり方が分かっていれば、環境作成を何度も繰り返し行えます。

手動で設置している場合は、Microsoft Store からインストールした場合と違い、ファイルの設置と wslconfig のコマンドを使うことになりますが、ファイルの場所も明確なので管理しやすいと思います。

カテゴリ:

コメントする

※HTMLタグは使えません

Author

あきちゃん

主に、.NETでWebシステムの設計と開発をしています。
(茨城県在住, 都内勤務)
プロフィール