WSL(Windows Subsystem for Linux ) を Windows 10に設定してみた
Contents
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 |
今、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 | 再起動を抑制(再起動が不要な場合は何もしない) この後、続けてコマンドを入力するのでここで再起動されると面倒なので指定する。 |
Virtual Machine Platformの有効化
続いて以下のコマンドで Virtual Machine Platform を有効化すると “今すぐコンピュータを再起動しますか?” を確認されるので Y で再起動する。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
各パラメータの意味は以下の通り。
/online | 現在実行中の OS に対してアクションを実行する |
/enable-feature | /featurename と一緒に指定して指定された機能を有効化または更新する |
WSL2用Linuxカーネルのインストール
ダウンロード
こちらのページから WSL2 用の Linuxカーネルをダウンロードする。
“x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ” のリンクをクリックして wsl_update_x64.msi(約14.6MB) を適当な場所に保存する。
インストール
先程保存した wsl_update_x64.msi を実行するとインストール画面が表示されるので “Next” をクリックする。
インストールが始まり、直ぐに終了するので “Finish” をクリックする。
デフォルトをWSL2に設定
Linux ディストリビューションをインストールする際に、デフォルトで WSL2 を使うように設定する。
PowerShell を開き、以下のコマンドを実行する。
wsl --set-default-version 2
“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 を起動する。
検索をクリックする。
Ubuntu を検索して Ubuntu 20.04 LTS を選択する。
一番上にある “Ubuntu” (版表示なし)を選択すると時期によって版数が変わる様なのでインストールしたい版数が決まっている時は明確に指定した方が良い。
尚、Ubuntu 以外の Linuxディストリビューションは Debian や openSUSE 等、何種類かあった。
入手ボタンをクリックする。
同じ Microsoft アカウントでログインをしている複数の端末で同じアプリケーションを使用したい時は、”サインイン” する。
自分はこのパソコンだけにインストールをしたかったので “必要ありません” を選択した。
約453.7MBのファイルをダウンロードした後、インストールされるので「起動」ボタンをクリックする。
Ubuntu
初期設定
初回の起動時にusernameとpassword(2回入力)を設定する。
Windows10上でコマンドラインベースの Linux(Ubuntu 20.04 LTS)が起動した。
ファイルへのアクセス
Ubuntu から Windowsファイルは以下のディレクトリにアクセスすれば良い。
ls -l /mnt/c
Windows 側から Linux のファイルシステムへのアクセスはファイルマネージャーで以下のフォルダーにアクセスする。
Linux ディストリビューションのバージョン毎のフォルダーが表示されるのでその中に Linux ファイルが格納されている。
\\wsl$\
Widnows Terminal
Windows Terminal をインストールしておくと PowerShell や Ubuntu がひとつの Window で操作ができるのでオススメだ。
先程と同様の手順で Microsoft Store から Windows Terminal を検索してインストールする。
PowerShell の他に Ubuntu-20.04 やコマンドプロンプトも同じ 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
この状態だとWSL1 配下で Ubuntu 20.04 LTS が起動された。
終わりに
以上でWSL(Windows Subsystem for Linux )についての記事は終了とする。
この記事が何処かで誰かの役に立つことを願っている。
尚、当記事中の商品へのリンクはAmazonアソシエイトへのリンクが含まれています。Amazonのアソシエイトとして、当メディアは適格販売により収入を得ていますのでご了承ください。
最近のコメント