Windows 10のWindows Subsystem for Linux 2(WSL2)を使うと、Windows 10上で、超お手軽にLinuxで遊ぶことができる。
How to Install
必要条件
- Windows 10 version 2004 以降
- Windows 10 version 1903 and 1909
KB4566116を適用することで、1903, 1909でもWSL2が使えるようになった。(2020/8/20)
使用しているWindowsのバージョンはwinver
コマンドで確認できる。
Windows 10 version 2004以降でKB5004296を適用済みの場合(おすすめ)
コマンドプロンプトを管理者モードで開き、下記のコマンドだけでインストール完了。
wsl --install
デフォルトではUbuntuが一緒にインストールされる。別のディストリビューションを使いたい場合は、下記のように-d
オプションを使って指定可能。ディストリビューションを追加インストールする場合もこれでOK。
wsl --install -d Debian
Windows 10 version 2004以前 or KB5004296を未適用の場合
"Windows Subsystem for Linux"の有効化
管理者としてpowershellを開き、以下を実行。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
"Virtual Machine Platform"の有効化
管理者としてpowershellを開き、以下を実行。PCを再起動するかどうか問い合わせがあるので、Y
を入力する。PCが自動的に再起動する。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
WSL2用Linuxカーネルのインストール
WSL 2 Linux カーネルの更新ページから、WSL2用Linuxカーネルをダウンロードして、インストールする。
デフォルトをWSL2に設定
Linuxディストリビューションをインストールする際に、デフォルトでWSL2を使うように設定する。
powershellを開き、以下を実行。
wsl --set-default-version 2
Linuxディストリビューションをインストール
- Microsoft Storeを起動し、Ubuntu等のディストリビューションを検索
Ubuntu以外には、DebianやSLES等何種類かある。
なお、特定の版数のUbuntuを入れたい場合は、版数が入ったもの(Ubuntu 20.04 LTS等)を入れたほうがよい。版数無しUbuntuはインストールする時期によって、版数が変わる模様。
2. 「入手」ボタンをクリックして、Ubuntuをインストール
3. インストール完了後、「起動」をクリックしてUbuntu起動!
4. 初回起動時にUbuntu用ユーザIDとパスワードを設定して、インストール完了
ここで入力するユーザ名はWindowsのユーザ名とは関係ない。
root権限が必要な場合は、sudoで実行できる。なお、パスワードを忘れた場合は、パスワードを忘れた場合を参照。
How to use
スタートメニューから起動
インストールしたLinuxディストリビューションは通常のアプリケーションと同様に、スタートメニューから起動可能。作成したユーザでログインした状態で起動する。
Windows Terminalからアクセス
Windows Terminalでは、自動でWSL2のプロファイルが登録されるため、簡単にアクセスできるのでお勧め。Microsoft Storeからインストールできるので、気になる方は試してみては。
Windows-Linux間のファイル共有
LinuxからのWindows上のファイルへのアクセス
WindowsのCドライブがLinuxの/mnt/c
にマウントされている。/mnt/c
にアクセスすることで、Windows上のファイルにアクセス可能。
WindowsからLinux上のファイルへのアクセス
\\wsl$\[ディストリビューション名]
でLinux上のファイルにアクセス可能。Ubuntuを使っている場合は、\\wsl$\Ubuntu
でアクセスする。
時刻ずれ問題
しばらく使っていて気が付いたのだけど、WSL2のUbuntuの時刻が結構な勢いでずれる。どうも、Note PCがスリープから復帰したタイミングで、UbuntuがNote PCと時刻同期できていないみたい。既知の問題のようで、カーネル版数5.10.16.3で修正されている。カーネルのアップデートはWindows Updateで自動的に実施されるが、すぐに試したい場合は下記の手順で更新できる。
-
Microsoft Updateカタログから、
Windows Subsystem for Linux Update - 5.10.16
をダウンロードする。 -
ダウンロードしたcabファイルを展開し、
wsl_update_x64.msi
を取り出す。 -
コマンドプロンプトを管理者権限で開き、下記のコマンドを実行して、WSLを停止
wsl --shutdown
-
wsl_update_x64.msi
を実行する -
Ubuntuにログインして、カーネル版数を確認する。
$ uname -r 5.10.16.3-microsoft-standard-WSL2
なお、Windows Updateで配信されるのを待つのであれば、下記のようにログイン時に毎回sudo hwclock -s
を実行することで対処することも可能。
- /etc/sudoersにhwclockコマンドをパスワードなしで実行できるように設定
sudo visudo
コマンドを実行して、/etc/sudoers
ファイルを下記のように編集
(hwclock
のパスは/sbin
かもしれません。)
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/hwclock -s #この行を追加
- ~/.bashrcにhwclockコマンドを追加
ホームディレクトリにある.bashrc
ファイルの最後に下記の行を追加
# sync HW clock
sudo hwclock -s
How to Uninstall
インストールしたLinuxディストリビューションは、通常のアプリケーションと同様にプログラムの追加と削除
からアンインストール可能。
wslコマンド
個人的にたまに使う、Windowsのコマンドプロンプトから実行できるwslコマンドの一覧。
オプション | 概要 |
---|---|
wslの後にLinuxコマンドを書くと、そのコマンドを実行できる。wsl ls 等 |
|
--install | Linuxのインストール(初回実行時はwslの有効化もしてくれる)。デフォルトではUbuntuをインストールするが、-d オプションをつけることでディストリビューションを指定可能。 |
--status | Linuxカーネル版数等を確認可能 |
--list -v | インストール済みディストリビューションを表示 |
--list -o | インストール可能ディストリビューションを表示 |
--update | Linuxカーネルのアップデート。--rollback をつけると以前の版数に戻る。 |
C:\>winget uninstall | wsl grep Ubuntu
Ubuntu Canonical.Ubuntu
リンク
-
Windows Subsystem for Linux に関するドキュメント
- WSL関連のリソース。ここから一通りの情報にアクセスできる。
-
Installation Instructions for WSL 2
- WSL2のインストール手順。
-
- WSL関連の小技集。MSのWSL開発者のページ。