Github等で公開されているAI系の論文のソースコードを動かそうと思ったときに、動作環境自体はLinuxが推奨されていて、Windowsだと上手く動かなくて試行錯誤なんてことはありませんか。
私はWindowsを普段は使っているのですが、Linuxを動かしたいということが年に数回はあります。
私も今回Linux上で動かしたいプログラムがあり、初めてWSL(Windows Subsystem for Linux)を使ってみたら思いの外楽だったので、使い方を紹介しようと思います。
目次
WSL(Windows Subsystem for Linux)とは
Windows上でLinuxを動作させるための実行環境のことで、これを用いることで複雑な環境構築を行うことなく、簡単にWindows上でLinux OSを動かすことができるようになります。
WSL1の時点ではできることにかなり制約があったのですが、2019年にWSL Version 2(WSL2)が発表され、各段に進化して使いやすくなりました。
WSLを使う利点
普段Windowsを使っている人がLinuxを使う場合、WSL以外にもいくつか手段があります。思いつくだけでもざっと以下の手段が考えられると思います。
- Linux OS用のPCを、Windowsとは別に用意する
- WindowsとLinuxのデュアルブートができるように環境を構築する
- VirtualBoxなどの仮想環境上でLinux OSを動作させる
これらに対してWSLを使うメリットを見ていきたいと思います。
「Linux OS用のPCを、Windowsとは別に用意する」という手段に関しては、PCを2台用意できる環境であれば、比較的ストレスの少ない手段になるかと思います。ただ、当然ですがPCを2台用意することはコストも掛かりますし、常に選択できる手段ではありません。
「WindowsとLinuxのデュアルブートができるように環境を構築する」という手段に関しては、環境構築に専門性が求められることに加え、場合によりデータが破損するなどのトラブルが発生する可能性は否定できません。また、同時に両方のOSを動かすことはできないため、片方のOSで作業しながら、もう片方のOSで別の作業をするということがスムーズにできません。
「VirtualBoxなどの仮想環境上でLinux OSを動作させる」という手段は、WSLを使うことと一番近い手段ですが、私の印象では動作速度が遅かったりすることが多く、Linux用の専用PCを用意したり、デュアルブートをするより、性能面で劣る印象です。
WSL2を使うことで、これらの問題を解消できる可能性があります。
WSL2を導入できる条件
どんな環境でもWSL2を導入できるのかと言えば、そうではありません。
- OSがWindows10(64bit版)以降のバージョンであること
- Windows10の場合は以下より新しいバージョン・ビルドであること
- x64システムの場合:バージョン 1903 以降、ビルド 18362 以上
- ARM64システムの場合:バージョン 2004 以降、ビルド 19041 以上
バージョンとビルドの確認方法ですが、簡単なのは「winver」を使うことです。検索窓から「winver」で検索し、実行するとバージョン情報とビルド情報が表示されます。
WSL2の導入方法(Window10)
前置きが長くなりましたが、WSL2の導入方法を見ていきましょう。今回はWindows10環境で、WSL2上でUbuntuを動かしてみたいと思います。
手順1 「Linux 用 Windows サブシステム」と「仮想マシン プラットフォーム」を有効にする。
「Windowsの機能の有効化または無効化」を開きます。
その後、「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」にチェックを入れて、右下の「OK」をクリックします。再起動を要求されるので、再起動を行います。
手順2 Linuxカーネルのインストールを行う
以下のサイトから「WSL2 Linux カーネル更新プログラム パッケージ」を入手してインストールします。
私はx64マシンなので「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージをインストールしました。
外部サイト:Linuxカーネル更新プログラムパッケージの取得
手順3 WSL2を既定のバージョンとして設定する
デフォルトの設定だと、WSL1が動作するようになっているので、WSL2が既定となるように変更しておいた方が良いでしょう。Powershellを開いて、以下のコマンドを実行してください。
wsl --set-default-version 2
Powershellは任意の場所(例えばデスクトップ)の何もないところで[Shiftキー]を押しながら右クリックをし、開いたメニューから「PowerShellウィンドウをここで開く」を選択することで開くことができます。
手順4 動かしたいディストリビューションをMicrosoft Storeからダウンロード・インストール
Microsoft Storeを開き、動かしたいディストリビューションをダウンロードします。
今回は「Ubuntu」を導入します。Ubuntuの中でも色んなバージョンが公開されているので、そのときの用途に合ったものを「入手」を選択してダウンロードします。
手順5 Ubuntuを起動する
後は、使いたいときに毎回Ubuntuを起動すればOKです。
初回起動のみ、ユーザーネームやパスワードの設定が必要なので、適宜設定を行ってください。最終的にUbuntuのコマンドラインが表示されれば成功です。
まとめ
今回はWSL2を使ってWindows上でLinuxを簡単に導入する方法を紹介しました。開発ももちろんですが、LPICなどの資格取得に向けた勉強を行う観点でも、簡単に環境を導入できるので非常に便利です。