Windows Subsystem for Linux 2 (WSL2) による Linux の利用方法

目次

このページは,https://www.swlab.cs.okayama-u.ac.jp/~nom/lect/common/setup-guide/WSL2-setup.html です.

はじめに

Linux 環境を利用した演習等を自宅等にある Windows 機で実施したい場合にはいくつか方法がありますが, その1つに Microsoft が提供する Windows Subsystem for Linux 2 (以降 WSL2) を用いる方法があります. ここでは,WSL2 を利用して Ubuntu などの Linux 環境を自身のパソコン上で実現する手順について説明します.

なお,Linux の操作そのものについては,説明していません.

以下,手順の概略です.Windows に慣れた人は,以下の手順だけでインストール可能かもしれません.

  1. Windows10 のアップデート
    • Windows10 の最新版にアップデートします.
  2. WSL機能の有効化
    • コントロールパネルから 「Hyper V」,「Linux 用 Windows サブシステム」,「仮想マシンプラットフォーム」を有効にします.
  3. カーネル更新プログラムのインストール
    • https://aka.ms/wsl2kernel から「x64 マシン用 WSL2 Linux カーネル更新プログラム」 である wsl_update_x64.msi をダウンロードし,インストールします.
  4. WSL2 へのバージョン変更
    • WSL の最新版である WSL2 を利用するように設定を変更します.
  5. Ubuntu (Linux) のインストールと初期設定
    • Microsoft Store から Ubuntu 20.04LTS を入手しインストールします.
    • Ubuntu で利用するユーザ名とパスワードを設定します.

以下,それぞれのステップについて詳細に説明します.

WSL2 のセットアップ

1. Windows10 のアップデート

WSL2 利用には Windows10 が必要です.その上で,Windows10 の最新版である必要があるので, まず,アップデートしておきます.

  1. 「スタートメニュー」から「設定」を選択します.
  2. さらに「更新とセキュリティ」を選択します.
  3. Windows Update が開き,更新可能な項目があれば 「ダウンロードしてインストール」を選択します.

動画:1. Windows10 のアップデート操作の様子 (00:00-00:33まで)

2. WSL機能の有効化

コントロールパネルから 「Hyper V」,「Linux 用 Windows サブシステム」,「仮想マシンプラットフォーム」を有効にします.

  1. 「スタートメニュー」をクリックして,そのまま con と入力します.
  2. 「コントロールパネル」を選択して開いたら,一覧から「プログラム」をクリックします.
  3. 「プログラムと機能」の下に小さく表示されている「Windows の機能の有効化または無効化」をクリックします.
  4. チェックボックスが現れたら,「Hyper V」,「Linux 用 Windows サブシステム」,「仮想マシンプラットフォーム」のチェックボックスを on にします.
  5. OK を押してしばらく待つと再起動を促されるので,再起動をします.

動画:2. WSL機能の有効化の様子 (00:33-01:50まで)

3. カーネル更新プログラムのインストール

WSL2 で利用する Linux カーネルを最新のものにします.

  1. マイクロソフトの Web ページ https://aka.ms/wsl2kernel を開いて,以下のような記述を見付けます.

    kernel-update-page.jpg

  2. ページ中のリンクから,「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をダウンロードします.
  3. ダウンロードしてきたファイル (wsl_update_x64.msi) 開いて,画面の指示に従って Next をクリックしていけば完了です.

動画:3. カーネル更新プログラムのインストールの様子 (01:51-02:31まで)

4. WSL2 へのバージョン変更

WSL の最新版である WSL2 を利用するように設定を変更します.

  1. 「スタートメニュー」をクリックしてそのまま powershell と入力します.
  2. 「PowerShell」の項目を右クリックで選択し,「管理者として実行」します.
  3. PowerShell の画面 (コマンドプロンプト) が現れたら,

    wsl --set-default-version 2
    

    と入力し,Enter を押します.

    WSL 2 との主な違いについては,…
    

    といった応答があれば,成功です.

    WSL 2 を実行するには,カーネルコンポーネントの…
    

    といった応答であれば,「3. カーネル更新プログラムのインストール」に戻って確認をしてください.

動画:4. WSL2 へのバージョン変更の様子 (02:32-02:54まで)

5. Ubuntu (Linux) のインストールと初期設定

Linux のディストリビューションで人気のある Ubuntu をインストールして初期設定します. 普段使っている好きな Linux ディストリビューションがあれば,必ずしも Ubuntu にする必要はありません.

  1. 「スタートメニュー」をクリックしてそのまま store と入力し,「Microsoft Store」を開きます.
  2. 「Microsoft Store」の検索から「ubuntu」と入力します.
  3. アプリ候補の中から 「Ubuntu 20.04LTS」を選択します.
    • 20.04LTS よりこれより新しいバージョンの Ubuntu があるかもしれませんが,LTS と付いているものがオススメです.
  4. 「入手」→「インストール」を選択し,インストールできたら 「起動」します.
  5. コマンドを入力する画面 (ターミナル) が出現し,しばらく待つと

    Enter new UNIX username:
    

    という質問 (プロンプト) が出るので,Linux で使用する unsername (ユーザ名) を決め,その後 Linux を利用するためのパスワードも設定します.

    この username は,Windows のユーザ名とは関係ありません.識別子 (id) のようなもので,日本語や空白文字を入れないほうがいいでしょう. 通常は,nomura や yoshinari のような文字列を指定します.迷ったら,p から始まる大学のシステムID や学生番号にしてもいいでしょう.

動画:5. Ubuntu (Linux) のインストールと初期設定の様子 (02:55-04:13まで)

Ubuntu 利用方法の簡単な説明

1. Windows のスタートメニューから Ubuntu を起動する方法

  • Windows Key を押して, bash [enter] 等で起動できます.
  • C:\Windows\System32\bash.exe のショートカットをデスクトップに作って, スタートメニューやタスクバーに置けるようです.「ピン止め」をしてから実際に反映されるまでに少し時間がかかるかもしれません.

2. Windows と Ubuntu の間でファイルを共有する方法

Windows の中で起動する Linux は,Windows が見えているファイルとは違う見え方をします.

Ubuntu からは, ls /mnt/c とすることで,Windows でいう C ドライブ (C:) が見えます. 書き込み可能なので,不用意に Windows の動作に必要なファイルを消さないで下さい.

デスクトップは /mnt/c/Users/username/Desktop です.

USB ドライブ等は,Windows で USB メモリを認識した後で Ubuntu (前述の bash) を起動する必要がある等, 参照する順序によっては Ubuntu から見えません.デスクトップに一旦コピーするなどすればよいでしょう.

Windows (エクスプローラ) からは, \\wsl$\Ubuntu で Ubuntu のルートディレクトリ (つまり /) を参照できます. Ubuntu のルートディレクトリには書込みできませんが,階層を辿った \\wsl$\Ubuntu\home\USERNAME 以下には書き込みが可能です.ここで USERNAME は,WSL2 のセットアップ時に作成したユーザのユーザ名です.

3. 演習等で使用するコマンドの導入方法

演習では,gcc や emacs, LaTeX 等のコマンド (ソフトウェア) を利用することでしょう. Ubuntu (bash) を起動して apt コマンドを利用することで,必要なソフトウェアパッケージを導入できます.

例えば,gcc と emacs を利用したい場合は,以下のように入力すればいいでしょう. build-essential には,gcc コマンドが含まれます.

sudo apt update
sudo apt upgrade
sudo apt install build-essential emacs

その他,演習や実験の科目によって導入すべきパッケージが異なります.講義の担当教員に聞くといいでしょう. ちなみに, LaTeX のためのパッケージは, texlive-lang-japanese です.

また,導入したパッケージは,日々バージョンアップされている可能性があります. 以下のコマンドで定期的に update/upgrade しておくとよいでしょう.上記の例でいうと,以下の 2行がその操作です.

sudo apt update
sudo apt upgrade

日付: 2021-04-12

著者: Yoshinari Nomura