WSL(Windows Subsystem for Linux ) を Windows 10に設定してみた | そう備忘録

WSL(Windows Subsystem for Linux ) を Windows 10に設定してみた

Windows Subsystem for Linux

Windows環境下でLinuxを動作させる方法は幾つかある。

例えば Oracle VM VirtualBox をインストールして Virtual Box 内に Ubuntu 等の任意の Linux OS をインストールする方法は以前の記事で紹介した。

今回は Windows 10 の標準的機能のWSL(Windows Subsystem for Linux)を設定して Ubuntu 20.04 をインストールしてみたので備忘録として残しておく。

尚、まだ GUI環境の Ubuntu を動作させることは出来ないよう様なのでコマンドラインベースの Linux環境となる。

今であれば WSL2 がオススメなのだが WSL1 に切り替える方法も後述する。

というのも Linux(Ubuntu) から USBケーブルでシリアル接続(COM接続)された機器が WSL2 では未対応(ソースからコンパイルし直せば認識する)だからだ(2021年5月現在)

ドライバーをインストールしても WSL2 ではどうしても認識しなかったのだが WSL1 の Ubuntu 20.04 からはあっさり認識した。

という事で WSL1 に切り替える方法も載せておくことにした。

環境

試した環境は以下の通りである。

OS

Windows10 Home バージョン2004

OSビルド:19041.985

プロセッサ

Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz 2.21

実装RAM

16.0 GB

 2022/02/12 追記

今、Microsoftのページを見たら wsl –install コマンドでインストールする方法が紹介されていた。

下記の方法は「以前のバージョンの手動インストール手順」として載っていたので記事としては残しておくが、今の手順の方が簡単にインストールができるのだと思う。(試してはいない)

Windows Subsystem for Linuxの有効化

最初に管理者用の PowerShell で以下のコマンドを実行して WSL を有効化する。

管理者用の PowerShell は Windows のスタートボタン上で右クリック、”Windows
PowerShell(管理者)” から実行する。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

各パラメータの意味は以下の通り。

/enable-feature

/featurenameで指定する Windows の機能を有効にする

/featurename

有効にする機能を指定する。

Microsoft-Windows-Subsystem-Linux

を指定した。

/all

指定した機能の全ての親機能を有効にする

/norestart

再起動を抑制(再起動が不要な場合は何もしない)

この後、続けてコマンドを入力するのでここで再起動されると面倒なので指定する。

Windows Subsystem for Linuxの有効化

Virtual Machine Platformの有効化

続いて以下のコマンドで Virtual Machine Platform を有効化すると “今すぐコンピュータを再起動しますか?” を確認されるので Y で再起動する。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all

各パラメータの意味は以下の通り。

/online

現在実行中の OS に対してアクションを実行する

/enable-feature

/featurename と一緒に指定して指定された機能を有効化または更新する

Virtual Machine Platformの有効化

WSL2用Linuxカーネルのインストール

ダウンロード

こちらのページから WSL2 用の Linuxカーネルをダウンロードする。

“x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ” のリンクをクリックして wsl_update_x64.msi(約14.6MB) を適当な場所に保存する。

WSL2用Linuxカーネルをダウンロード

インストール

先程保存した wsl_update_x64.msi を実行するとインストール画面が表示されるので “Next” をクリックする。

Linuxカーネルのインストール

インストールが始まり、直ぐに終了するので “Finish” をクリックする。

Finishをクリックする

デフォルトをWSL2に設定

Linux ディストリビューションをインストールする際に、デフォルトで WSL2 を使うように設定する。

PowerShell を開き、以下のコマンドを実行する。

wsl --set-default-version 2
WSL2をデフォルトに設定する

“WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください” とメッセージが表示されているが環境によっては同じ内容が英語で “For information on key differences with WSL 2 please visit https://aka.ms/wsl2” と表示される事もあった。

Linuxディストリビューションをインストール

Windowsの環境が整ったので Linux ディストリビューションを Microsoft Store より検索してインストールする。

スタートボタンより Microsoft Store を起動する。

Microsoft Storeを起動する

検索をクリックする。

検索をクリックする

Ubuntu を検索して Ubuntu 20.04 LTS を選択する。

一番上にある “Ubuntu” (版表示なし)を選択すると時期によって版数が変わる様なのでインストールしたい版数が決まっている時は明確に指定した方が良い。

尚、Ubuntu 以外の Linuxディストリビューションは Debian や openSUSE 等、何種類かあった。

Ubuntu 20.04 LTS を選択する

入手ボタンをクリックする。

入手ボタンをクリックする

同じ Microsoft アカウントでログインをしている複数の端末で同じアプリケーションを使用したい時は、”サインイン” する。

自分はこのパソコンだけにインストールをしたかったので “必要ありません” を選択した。

複数のデバイスで使用する

約453.7MBのファイルをダウンロードした後、インストールされるので「起動」ボタンをクリックする。

起動する

Ubuntu

初期設定

初回の起動時にusernameとpassword(2回入力)を設定する。

usernameとpasswordを設定する

Windows10上でコマンドラインベースの Linux(Ubuntu 20.04 LTS)が起動した。

Windows環境下でUbuntu 20.04.2 LTSが起動した

ファイルへのアクセス

Ubuntu から Windowsファイルは以下のディレクトリにアクセスすれば良い。

ls -l /mnt/c
LinuxからWindowsファイルへのアクセス

Windows 側から Linux のファイルシステムへのアクセスはファイルマネージャーで以下のフォルダーにアクセスする。

Linux ディストリビューションのバージョン毎のフォルダーが表示されるのでその中に Linux ファイルが格納されている。

\\wsl$\
WindowsからLinuxファイルシステムへのアクセス

Widnows Terminal

Windows Terminal をインストールしておくと PowerShell や Ubuntu がひとつの Window で操作ができるのでオススメだ。

先程と同様の手順で Microsoft Store から Windows Terminal を検索してインストールする。

Windows Terminalのインストール

PowerShell の他に Ubuntu-20.04 やコマンドプロンプトも同じ Window の複数タブで操作が出来る。

PowerShellとUbuntuを1つのWindowで操作する

WSL1への切り替え

通常は WSL2 を使用していて問題が無いのだが、C++ のソースコードをコンパイルして USB でシリアル接続(COM)された ESP-WROOM-32 に Flush(書き込み)をしようとした所、WSL2 の Ubuntu からでは COM が認識されなかった。

まだ(2021年5月現在)WSL2 では対応していないらしく Linux のソースからコンパイルし直せば認識するとの情報もあったが WSL1 に戻すほうが簡単だったので管理者モードの PowerShell から以下のコマンドで WSL1 に戻している。

現在のバージョンを確認

以下のコマンドで現在のバージョンを確認する。

wsl -l -v

現在のバージョンは 2 になっている。

現在のバージョン

以下のコマンドで WSL1 に切り替える。

wsl --set-version Ubuntu-20.04 1
バージョン1に切り替えた

この状態だとWSL1 配下で Ubuntu 20.04 LTS が起動された。

終わりに

以上でWSL(Windows Subsystem for Linux )についての記事は終了とする。

最後に

この記事が何処かで誰かの役に立つことを願っている。

尚、当記事中の商品へのリンクはAmazonアソシエイトへのリンクが含まれています。Amazonのアソシエイトとして、当メディアは適格販売により収入を得ていますのでご了承ください。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。