Windows10 WSL2の使い方まとめ [20H1 build 18917~]
WSL2が搭載されたWindows10 20H1 build18917がリリースされたので、さっそく使ってみました。
この記事では、WSL2のインストールからLinuxの起動までの方法と、WindowsからLinuxのファイルへアクセス方法について記載しています。
<記事中のコマンドの表記についての説明>
記事中には、PowerShellコマンド、通常のWindowsコマンド、Linuxのコマンドを記載しています。記事中では、それぞれ以下のプロンプトで表記しています。
PowerShellコマンドプロンプト:PS>
Windowsコマンドプロンプト:>
Linuxコマンド(一般ユーザー):$
Linuxコマンド(管理者ユーザー):#
コピペする際は、プロンプト以降のコマンドをコピペしてください。
WSL2ってなに?
WSL2はWindows Subsystem for Linux 2のことで、WSLの後継にあたります。簡単に言えばWindows10上でLinuxが使えるよ、ということ。
互換性が高いのでDockerがそのまま動くとか。WindowsでのWeb開発が変わるとも期待されてます。
WSL2の準備
まずはWSL2が使用できるように準備をします。
Windows10 20H1 build18917のインストール
Windows10 20H1 build18917は、Insider Preview(開発途中の最新OSを使用するプログラム)のFast Ringで提供されています。
使用するにはInsider Previewに参加してからインストールします。
何はともあれ、Windows10 20H1 build18917をインストールしましょう。
WSL2を有効にする
管理者権限でPowerShellを起動し、以下のコマンドを実行します。
PS> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
続けて以下のコマンドを実行し、デフォルトでWSL2を使用するように設定します。これを設定しておくことで以降にインストールしたLinuxディストリビューションがWSL2としてインストールされます。
PS> wsl --set-default-version 2
Linuxディストリビューションをインストールする
既存のWSLディストリビューションをWSL2に変換する
すでにWSLで使用していたLinuxディストリビューションがある場合は、以下のコマンドでWSL2に変換できます。
まずPowerShellを起動し、WSLディストリビューションをシャットダウンします。これをしておかないと、WSL2に変換時にファイル書き込みができず失敗します。
PS> wsl --shutdown
次にインストールされているLinuxディストリビューションを確認します。
PS> wsl --list --quiet
変換したいLinuxディストリビューションが見つかったら、以下のコマンドでWSL2に変換します。<Distro>
には上記コマンドで表示された、変換するLinuxディストリビューションの名前を指定します。
PS> wsl --set-version <Distro> 2
Linuxディストリビューションをインストール
新規にLinuxディストリビューションをインストールする場合は、Microsoftストアから任意のLinuxディストリビューションをインストールします。
Microsoftストアからインストールしたあと、スタートメニューから一度Linuxディストリビューションを起動します。これにより、インストールが完了します。
WSL2になっているか確認する
PowerShellを起動し、以下のコマンドを実行します。
PS> wsl --list --verbose
結果がVERSION 2
となっていればWSL2ということになります。
Linuxを起動する
スタートメニューからLinuxディストリビューションを起動します。待ち時間はなく、一瞬で起動します!
WindowsからLinuxのファイルへアクセスする
WSL2でWindowsからLinuxのファイルへアクセスする場合は、エクスプローラーのアドレスに\\wsl$\<Distoro>
を入力するとWindowsのファイルと同様にアクセスができます。(<Distoro>
にはディストリビューションの名前を入れてください)
下はWSL2に作成したUbuntuのファイルにアクセスしたときの様子です。アドレスに\\wsl$\Ubuntu
になります。Windowsのファイルと同様にアクセスができています。
Webサーバーを立ち上げてみる
先ほど入れたUbuntuにWebサーバーをインストールして立ち上げてみます。
Ubuntuのターミナルに以下のコマンドを入力します。
$ sudo su -
# apt -y install nginx
# service nginx start
これで、Webサーバーが立ち上がりましたが、Windows側のブラウザからhttp://localhost
としてもアクセスできません。。どうやらこれは仕様のようでIPアドレスでアクセスする必要があります。
UbuntuのIPアドレスを確認するため、Ubuntuのターミナルに以下のコマンドを入力します。eth0
に192.168.48.136
とあります。これがUbuntuのIPアドレスになります。
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet ==192.168.48.136== netmask 255.255.255.0 broadcast 192.168.48.255
inet6 fe80::215:5dff:fe49:2c41 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:49:2c:41 txqueuelen 1000 (Ethernet)
RX packets 1794 bytes 2608276 (2.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 822 bytes 59356 (59.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ブラウザからhttp://192.168.48.136
でアクセスしてみると、、、アクセスできました!
参考サイト
<MicrosoftストアのLinuxディストリビューション>
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- OpenSUSE Leap 15
- OpenSUSE Leap 42
- SUSE Linux Enterprise Server 12
- SUSE Linux Enterprise Server 15
- Kali Linux
- Debian GNU/Linux
- WSL の fedora Remix
- WLinux
- WLinux Enterprise
- Alpine WSL
Windows 10 用の Linux インストール ガイド用 Windows サブシステム
最後まで読んでいただきありがとうございます。
また読んでくださいませ。
そんじゃーね。