※当サイトの記事には、広告・プロモーションが含まれます。

WSL 2(Windows Subsystem for Linux 2)をそろそろ導入してみるかで、導入してみた

f:id:ts0818:20210219184234j:plain

www.publickey1.jp

オンラインイベント「Microsoft Build 2020」を開催中のマイクロソフトは、「Windows Subsystem for Linux 2」(WSL 2)の正式リリースを発表しました

[速報]WSL 2が正式版に到達。今後はLinuxのGUIアプリへも対応すると。Microsoft Build 2020 - Publickey

⇧ 2020年の5月に正式リリースって話は出てたけども、ネックになってたのが「Windows 10 May 2020 Update」なんだけども、

www.atmarkit.co.jp

2020年10月初め、Windows 10 May 2020 Update(バージョン2004)に3回目のオプションの更新(Cリリース)が提供されました。過去3回と同様、Windows 10 バージョン1809~1909から1週間以上(今回は15日)、大幅に遅れての提供です。Windows 10 バージョン2004におけるCリリースのインストール挙動は、やはり何かおかしいです。幾つかのパターンで試してみました。

Windows 10 May 2020 Update後のWindows Updateに“へん”化あり[その3]:山市良のうぃんどうず日記(190) - @IT

⇧ 2020年の10月時点においても、何か安定してないって話があって、どうも躊躇してしまってたんですよね。

とは言え、 「Windows 10 October 2020 Update」とかも出てるので、流石に「Windows 10 May 2020 Update(バージョン2004)」で正規リリースの「WSL 2(Windows Subsystem for Linux 2)」を導入しても差し支えないだろうと。

レッツトライ~。

 

WSL 2(Windows Subsystem for Linux 2)って?

Microsoftさんの公式のドキュメントによると、

docs.microsoft.com

WSL 2 は、LinuxWindows サブシステムが Windows 上で ELF64 Linux バイナリを実行できるようにする、LinuxWindows サブシステム アーキテクチャの新しいバージョンです。 その主な目標は、ファイル システムのパフォーマンスを向上させることと、システム コールの完全な互換性を追加することです。

https://docs.microsoft.com/ja-jp/windows/wsl/about

⇧ ということで「WSL(Windows Subsystem for Linux)」の新バージョンですと。

「ELF64 Linux バイナリ」の実行ができるようになった点が「WSL(Windows Subsystem for Linux)」との大きな違いということなんですかね?

「ELF」って?

Executable and Linkable Format (ELF) とは、コンパイラが生成するオブジェクト、および、ライブラリとリンクされた実行ファイルファイルフォーマットである。a.outフォーマットCOFFの後継として広く採用されている。セクション数の制限が緩く、メモリ上で連続していないファイルや、ロードされる場所と実行される場所が違う箇所を含む場合にも対応が可能な柔軟な設計となっている。

Executable and Linkable Format - Wikipedia

System V が採用し、GNUツールチェーンがサポートしている。今ではBSD派生OSやLinuxをはじめとするフリーなOSにおける実行ファイルフォーマットや、ゲーム機等を含む組み込み機器開発にも数多く使われている。

Executable and Linkable Format - Wikipedia

Linuxでも使われてるファイルフォーマットらしい。

「ELFファイルの構造」は、

⇧ 上図のような感じらしい。

「WSL(Windows Subsystem for Linux)」ってのは、 

LinuxWindows サブシステムを使用すると、開発者は、従来の仮想マシンまたはデュアルブート セットアップのオーバーヘッドなしで、ほとんどのコマンド ライン ツール、ユーティリティ、アプリケーションを含む GNU/Linux 環境を変更せずそのまま Windows 上で直接実行できます

https://docs.microsoft.com/ja-jp/windows/wsl/about

次の操作を行います。

https://docs.microsoft.com/ja-jp/windows/wsl/about

⇧ ってことらしい。

「WSL(Windows Subsystem for Linux)」と「WSL 2(Windows Subsystem for Linux 2)」で決定的に異なっているところは? 

www.atmarkit.co.jp

f:id:ts0818:20210215174623p:plain

WSL 1とWSL 2のアーキテクチャの違い
WSL 1は、サブシステムが特殊なプロセス環境を作り、Linuxカーネル機能をNTカーネルの機能呼び出しに変換してLinuxプログラムを実行する環境を作っていた。このためWSL 1ではLinuxカーネル自体は存在していなかった。これに対してWSL 2では仮想マシン内に専用パッチを当てたLinuxカーネルを動かし、Linuxの実行環境を作る。Linuxカーネルが動作するためほとんどのLinuxプログラムを動作させることができる。

完全なLinuxがWindows 10上で稼働する? 「WSL 2」とは:Windows 10 The Latest - @IT

⇧ 上記サイト様によりますと、「Linuxカーネル」があるかどうかってことらしいですね。っていうか、「Linuxカーネル」が無いのに「Linux」と謳うことはできない気がするんだが...だから名前が「WSL(Windows Subsystem for Linux)」ってことだったのかね。

「WSL 2(Windows Subsystem for Linux 2)」は名前が紛らわしいけど、「Linuxカーネル(WSL 2パッチ)」が動いてるんなら、完全な「Linux」ってことじゃないのかね?

 

VirtualBoxVMwareとはバッティングしないの?

ここで、気になるのが、 「WSL 2(Windows Subsystem for Linux 2)」では「ハイパーバイザー(Hyper-V)」が使われてるらしいですと。

ただ、Microsoftの公式のドキュメントでは、アーキテクト図が見当たらず、

Microsoftに就業してる人のブログで、アーキテクト図が紹介されてますが、本当に「ハイパーバイザー(Hyper-V)」使われてるの?って懸念が浮かび上がりますかね。

だからかもしれませんが、

WSL 2 に Hyper-V は使用されていますか? Windows 10 Home では使用できるようになりますか?

WSL 2 は、WSL を現在使用できるすべての SKU (Windows 10 Home を含む) 上で使用できます。

最新バージョンの WSL では、仮想化を有効にするために、Hyper-V アーキテクチャが使用されます。 このアーキテクチャは、"仮想マシン プラットフォーム" のオプション コンポーネントで使用できます。 このオプションのコンポーネントは、すべての SKU 上で使用できます。 WSL 2 は間もなくリリースされるため、このエクスペリエンスの詳細をすぐにご確認いただけます。 

WSL 2 についてよく寄せられる質問 | Microsoft Docs

⇧ っていうような質問が飛び交うと。「ハイパーバイザー(Hyper-V)」は使われてますと。

気になってた、他の仮想化アプリケーションとバッティングしないかどうかですが、

WSL 2 と、VMwareVirtualBox などの他のサード パーティの仮想化ツールを実行できますか?

一部のサード パーティ アプリケーションは、Hyper-V が使用されている場合は機能しません。つまり、VMwareVirtualBox など、WSL 2 が有効な場合は実行できません。 しかし、VirtualBoxVMware の両方から、Hyper-v と WSL2 をサポートするバージョンが最近リリースされました。 VirtualBox の変更点についてはこちらから、VMware の変更点についてはこちらから、詳細を参照してください。 トラブルシューティングの問題については、GitHub の WSL リポジトリにある VirtualBox の問題に関するディスカッションをご覧ください。

WSL 2 についてよく寄せられる質問 | Microsoft Docs

⇧「VirtualBox」や「VMware」側で対応してくれたらしいので「VirtualBox」や「VMware」で対応すれば共存させることはできそうですと。

VirtualBox」の場合は、おそらく、

VirtualBox 6.0.0 (released December 18 2018)

This is a major update. The following major new features were added:

  • Added support for using Hyper-V as the fallback execution core on Windows host, to avoid inability to run VMs at the price of reduced performance

WSL 2 についてよく寄せられる質問 | Microsoft Docs

⇧「VirtualBox 6.0.0」の変更が該当するんじゃないかと。「WSL」については「VirtualBox」側で言及してる部分が見当たらなかったけど...

つまり、「VirtualBox」の場合は、6.0.0 以上のバージョンを使っていればバッティングは回避できそうですと。

と思いきや、

kzlog.picoaccel.com

VirtualBoxは、Windows 10 1809のときにバージョン6.0.0でHyper-Vに対応しました。

WSL2やHyper-Vと共存できるVirtualBox 6.1.16が公開されました | K'zlog

しかし、Windows 10 1903のときにMicrosoftAPIを変更してしまい動かなくなりました。

WSL2やHyper-Vと共存できるVirtualBox 6.1.16が公開されました | K'zlog

原因は、仮想化のすべての処理をユーザーモードで行わなくてはいけないようにしたからです。

WSL2やHyper-Vと共存できるVirtualBox 6.1.16が公開されました | K'zlog

WSL2やHyper-Vに対応したVirtualBox 6.1.16が公開されました。パフォーマンスは悪くなっていますが、安定して動いています。

WSL2やHyper-Vと共存できるVirtualBox 6.1.16が公開されました | K'zlog

⇧ という、Microsoftさんの傍若無人ぶりに、周囲の人間の疲弊は並々ならぬものであった。

というわけで、「VirtualBox 6.1.16」以上でないと駄目みたいね...

自分のインストールしてる「VirtualBox」のバージョン確認してみた。

f:id:ts0818:20210215184600p:plain

ちなみに、「chocolatey」でインストールしてた場合、「chocolatey」でもバージョン確認はできるっぽいけど、バージョンの細かい部分までは表示されない模様。あと、virtualbox以外の情報も表示されるという...

f:id:ts0818:20210215184958p:plain

⇧ う~ん、バージョンアップが必要やね... 

 

WSL2(Windows Subsystem for Linux 2)を導入してみる

導入手順については、

docs.microsoft.com

⇧ 一応、Microsoftの公式のドキュメントがありますと。

ただ、

LinuxWindows サブシステム (WSL) をインストールするには、次の 2 つのオプションを使用できます。

  • 簡略化されたインストール " (プレビュー リリース) ": wsl --install

    簡略化されたインストール コマンド wsl --install を使用するには、Windows Insider Program に参加し、Windows 10 のプレビュー ビルド(OS ビルド 20262 以降) をインストールする必要がありますが、手動インストールの手順に従う必要がなくなります。 必要な操作は、管理者特権でコマンド ウィンドウを開いて wsl --install を実行するだけです。再起動後、WSL を使用する準備が整います。

  • 手動インストール :以下に示す 6 つの手順に従います。

    WSL の手動インストール手順を以下に示します。これを使用して、任意のバージョンの Windows 10 に Linux をインストールできます。

https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

⇧「簡略化されたインストール」の場合は「OS ビルド 20262 以降」ってあるけど、それの調べ方を載せといて~、って話ですよね、流石はMicrosoft様、安定の不親切さ。

で、衝撃的なんだけども、

docs.microsoft.com

⇧ どういうわけかMicrosoftの公式ページだと、「OS ビルド 20262 以降」についての記載がない...

Wikipediaさんに頼ることにしました。

Windows 10 のメインストリーム ビルドには"YYMM" というラベルが付けられており、YY は 2 桁の年を表し、MM はリリース予定の月を表します (たとえば、バージョン1507は2015年7月にリリースされたビルドを表します)。バージョン20H2以降、Windows 10 リリースの命名法は年と月のパターンから年と半年のパターン (YYH1、YYH2) に変更された。

Microsoft Windows 10のバージョン履歴 - Wikipedia

⇧ ということですが、「OS ビルド」の規則については依然として、判明せず...

というわけで、「手動インストール」でトライすることにしました。

bebebe.hatenablog.jp

WSL2 の正式版が使えるのは、「Windows 10 2004 May 2020 Update」適用後です。まずは自分のOSがアップデート済みかを確認しましょう。

Windows 10 に正式版 WSL2 をインストールしてみる - bebebe note

⇧ 上記サイト様を参考に確認していきます。

Win + Rを押して出てきたダイアログに winverと入力してOKを押します。

Windows 10 に正式版 WSL2 をインストールしてみる - bebebe note

⇧ ということなので、

いざ。

f:id:ts0818:20210215182341p:plain

f:id:ts0818:20210215182137p:plain

ここで赤枠でかこった Version 情報が、Version 2004 (OS Build 19041) 以降になっていれば大丈夫です。 (言語設定を英語にしているので、日本語設定の場合とは文言が多少違うかもしれません。)

Windows 10 に正式版 WSL2 をインストールしてみる - bebebe note

⇧ ということみたいなので、大丈夫そうです!

ちなみに、www.winhelponline.com

⇧ 上記サイト様によりますと、自分のPCのWindows がどうアップデートを重ねてきたかなんかも確認できるみたい。

$AllBuilds = $(gci "HKLM:\System\Setup" | ? {$_.Name -match "\\Source\s"}) | % { $_ | Select @{n="UpdateTime";e={if ($_.Name -match "Updated\son\s(\d{1,2}\/\d{1,2}\/\d{4}\s\d{2}:\d{2}:\d{2})\)$") {[dateTime]::Parse($Matches[1],([Globalization.CultureInfo]::CreateSpecificCulture('en-US')))}}}, @{n="ReleaseID";e={$_.GetValue("ReleaseID")}},@{n="Branch";e={$_.GetValue("BuildBranch")}},@{n="Build";e={$_.GetValue("CurrentBuild")}},@{n="ProductName";e={$_.GetValue("ProductName")}},@{n="InstallTime";e={[datetime]::FromFileTime($_.GetValue("InstallTime"))}} };

$AllBuilds | Sort UpdateTime | ft UpdateTime, ReleaseID, Branch, Build, ProductName

f:id:ts0818:20210215171148p:plain

 

話が脱線しましたが、自分の場合は、 「WSL(Windows Subsystem for Linux)」からインストールする必要があるみたいなので、PoweShellを管理者権限で起動し以下のコマンドを実行で。

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

f:id:ts0818:20210217185450p:plain

コマンドの実行が完了したらば、PCを再起動します。

f:id:ts0818:20210217185632p:plain

再起動後、以下のコマンドを実行で。 

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

f:id:ts0818:20210217191057p:plain

コマンドの実行が完了したらば、また、PCを再起動します。

f:id:ts0818:20210217185632p:plain

再起動後、以下のコマンドを実行で。 

systeminfo

f:id:ts0818:20210217192841p:plain

ご自分のマシンのタイプに合った「WSL 2(Windows Subsystem for Linux 2)」のインストーラーをインストールします。

docs.microsoft.com

⇧ 上記の「手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする」のリンク(自分は「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」のリンクを押下しました)を押下で。

インストーラーがダウンロードできたら、インストーラーを起動で。

f:id:ts0818:20210217193337p:plain

「Next」を押下で。

f:id:ts0818:20210217193453p:plain

「Finish」を押下。

f:id:ts0818:20210217193838p:plain

そしたらば、以下のコマンドを実行。 

wsl --set-default-version 2

f:id:ts0818:20210217194318p:plain

WSL 2 (Windows Subsystem for Linux 2)のインストールは完了したようですが、Linuxディストリビューションを1つもインストールしてないデフォルトの状態だと、

PS C:\Users\Toshinobu> wsl -l -v
Linux 用 Windows サブシステムには、ディストリビューションがインストールされていません。
ディストリビューションは Microsoft Store にアクセスしてインストールすることができます:
https://aka.ms/wslstore    

f:id:ts0818:20210217203354p:plain

みたいな感じで、何でもいいからインストールしろと促されるようです。

 

VirtualBoxをバージョンアップする

WSL 2(Windows Subsystem for Linux 2)とは関係ないのですが、VirtualBoxも使えるようにしておきたいので。

VirtualBox 6.1.16以上であれば、「WSL 2 (Windows Subsystem for Linux 2)」と共存ができるようなので、 バージョンアップしときます。(時間があれば、Vagrantとかもバージョンアップしていきたいところですが、今回は割愛)

自分は、「chocolatey」でインストールしてしまってるので、「chocolatey」でアップグレードしていこうと思います。

f:id:ts0818:20210217210656p:plain

ちなみに、もう少しすると、「winget(「Windows Package Manager」のクライアントツール)」っていう「パッケージ管理ツール」が正式リリースされるみたいね。

www.atmarkit.co.jp

 今回紹介する「Windowsパッケージマネージャー」は、プレビュー版であり、コマンドオプションや動作など細かい部分は、最終的に変更される可能性があることをご理解いただきたい。現時点での完成予定は、2021年5月である。GitHubソースコードが公開されており、ここで進行状況を見ることもできる。原稿執筆時点では、winget.exeのバージョンが「v.0.2.2941」であった。

Windows環境再構築をコマンドラインで自動化可能にするMicrosoft製ツール「winget」とは:Windows 10 The Latest(1/2 ページ) - @IT

⇧ 全Windowsの民が待ち望んでいたといっても過言でない、ついにWindowsに正式な「パッケージ管理ツール」がやって来るんですね。

なので「chocolatey」や「scoop」から「winget」へ切り替わっていくことになるかもですね、時代の流れ~。

はい、脱線しましたが、VirtualBoxをバージョンアップで。コマンドプロンプトを管理者権限で起動して、以下のコマンドを実行。

choco upgrade virtualbox    

f:id:ts0818:20210217211952p:plain

f:id:ts0818:20210217212030p:plain

f:id:ts0818:20210217212432p:plain

新たにコマンドプロンプトを起動して、バージョンアップできてるか確認。

f:id:ts0818:20210217215116p:plain

ただ、「Guest Additions」もアップグレードしないといけないんだけど、自動で更新してくれるのが、ゲストOSがWindowsのものしか用意されてないっぽいので、一旦、対応はパスで。

何故か、

chocolatey.org

⇧ ゲストOSがWindowsの場合に限り、提供してるっぽいという...

 

Docker Toolboxをアンインストールで

「WSL 2(Windows Subsystem for Linux 2)」は「Hyper-V」を内部で利用している関係上、「Docker」を使う場合は「Docker Desktop」をインストールする必要があるらしく、「Docker Toolbox」とバッティングするらしいので、「Docker Toolbox」をアンインストールしていきます。 

正規のアンインストール方法は

docs.docker.com

⇧ 公式サイトに掲載されてるようです。

私はコマンドプロンプトを管理者権限で起動して、以下コマンドを実行いたしました。(自分は「chocolatey」を使って「Docker Toolbox」をインストールしてるため)

choco uninstall docker-toolbox

f:id:ts0818:20210218200938p:plain

f:id:ts0818:20210218201014p:plain

消しきれなかったフォルダを削除しときます。

自分の場合は、「C:\Users\[ユーザー名]\.docker」が残ってたので「削除(D)」で。

f:id:ts0818:20210218201449p:plain

さようなら、「Docker Toolbox」。いままで、ありがとう(涙)。 

 

Docker Desktopをインストール

「Docker」使わない場合は、不要ですが、「Docker」を使いたいので「Docker Desktop」をインストールしていきます。

「chocolatey」を使ってインストールしました。 

choco install docker-desktop

f:id:ts0818:20210218202151p:plain

f:id:ts0818:20210218202230p:plain

f:id:ts0818:20210218202635p:plain

で、

docs.docker.jp

インストール後の Docker Desktop は、自動的に起動できません。Docker Desktop を開始するには Docker を検索し、検索結果にある Docker Desktop を選択します。

Windows Home に Docker Desktop をインストール — Docker-docs-ja 19.03 ドキュメント

⇧ まさかの初回起動は、コマンドでの起動は受け付けていませんと...

というわけで、「Docker Desktop」のアイコンをクリック。

f:id:ts0818:20210218204121p:plain

はい、エラー。

f:id:ts0818:20210218204258p:plain

どうやら、一旦、PCから「サインアウト」すれば動くようになるそうな。

「サインアウト」後、無事動きました。 

f:id:ts0818:20210218205307p:plain

動き出しました。

f:id:ts0818:20210218205412p:plain

「docker」コマンドも動くようになりました。

f:id:ts0818:20210218205502p:plain

とりあえず、「Settings」で設定の確認してみます。

f:id:ts0818:20210218210116p:plain

Windows 10 Homeで「Docker for Desktop」を使ってる場合は、「Use the WSL 2 based engine (Windows Home can only run the WSL 2 backend)」にチェックが入っていればOKみたいですね、というかチェックボックスが不活性化されてるので、そもそもチェックを外したりできないようになってますね。

f:id:ts0818:20210218210319p:plain

ちなみに、

laboradian.com

WSL 2 based engine」とあるように、この機能を有効にした場合は、WSL 2 の仮想マシンとして Docker サーバーが動くようです。PowerShell で WSL のディストリビューション一覧を表示するとそれが分かります。

WSL 2 で Docker を使うパターン – ラボラジアン

⇧ 上記サイト様によりますと、「WSL 2 based engine」は、WSL 2の仮想マシンとして「Docker サーバー」が動くらしいです。

f:id:ts0818:20210218211953p:plain

Windows 10 Homeを使ってる場合は、

Hyper-V マネージャーを開くと、DockerDesktopVM という仮想マシンが作成されて動いているのが分かります。

Hyper-V を使うということで、Windows 10 Home では利用することができません。

WSL 2 で Docker を使うパターン – ラボラジアン

⇧ 残念ながら、「Hyper-V マネージャー」で「仮想マシン」がどれだけあるのか確認することはできないようです。

yosshi.snowdrop.asia

ubuntuのファイルをWindowsから操作する場合は、「\\wsl$」でアクセスが可能です。

Windows 10 Home でWSL2を使ってdockerを試してみた | 今日という日は贈り物

⇧ 上記サイト様によりますと、「Windows 10 Home」で「WSL 2 」を使ってる場合は、「\\wsl$」で「WSL 2 」環境下のファイルを確認できるようです。

f:id:ts0818:20210218213644p:plain

⇧ 自分の場合は、「Docker Desktop」をインストールしたばかりなので、いまのところ「Docker Desktop」関連のファイルだけある状態。

一応、「\\wsl$\docker-desktop-data\isocache」に「ISOファイル」のキャッシュ?っぽいものがあったので、「Docker Desktop」の「仮想マシン」がどっかで動いてるってことなんですかね。

f:id:ts0818:20210218214439j:plain


「Docker Toolbox」だと「docker-machine」コマンドで「Dockerエンジン」入りの「仮想マシン」とか作成できたわけだけど、「Windows 10 Home」で使う「Docker Desktop」は「仮想マシン」作成っぽいコマンドとか無いので、ちょっと、慣れるまでに時間かかりそうね...

う~ん、結局のところ、「Windows 10 Home」とそれ以外でやっぱりできることが変わってきちゃうんですかね...

とりあえず、時間ができたら、「WSL 2 」で「RHELRed Hat Enterprise Linux)」とか導入できるか試していきますか。

2021年2月19日(金)追記:↓ ここから

Windows 10 Homeでも「WSL 2(Windows Subsystem for Linux 2)」で仮想マシンを確認できるみたい。

roy-n-roy.github.io

Windowsコンテナの操作にはdockerを利用する場合が多いが、その他にhcsdiag.exeというものが存在します。
しかしながら、コマンドのリファレンスが現時点(2019/12)で見つからないため、そのオプションと実行した結果をここに記載します。

Windowsのコンテナ - roy-n-roy メモ

⇧ 上記サイト様によりますと、「hcsdiag.exe」ってコマンドが存在するそうな。

PowerShellを管理者権限で起動して、以下のコマンドを実行してみた。

hcsdiag list

f:id:ts0818:20210219220338p:plain

⇧ 一応、「WSL」の「VM仮想マシン)」が「Running」になってるから起動してることになるみたい。

Windows 10 Home」以外であれば、「VMMS」の「VM仮想マシン)」も表示されるみたいね。

「Virtual Machine Management Service」の略らしく、「vmms.exe」ってのが実行されてるってことらしいね、「Windows 10 Home」でも動かせるのかは謎です...

そもそも「Hyper-V」に関わる部分のどこまでが「Windows 10 Home」でも操作できるのかが分からん...

2021年2月19日(金)追記:↑ ここまで

2021年2月20日(土)追記:↓ ここから

ちなみに、「Docker Desktop」を止めてPCをシャットダウンすると、PCのシャットダウン時にエラーが出ないかも。(駄目でした...なんか「wsl.exe」ってやつが動き続けて、PCシャットダウン時にエラー出ますね)

ただ、

wsl --shutdown

だと、「Docker Desktop」の仮想マシンが止まらないっぽいので、

wsl --terminate [Name]

って感じで、明示的に指定しないと駄目らしい。

f:id:ts0818:20210220100342p:plain

「WSL 2」で存在してた「VM仮想マシン)」のほうも止まった模様。

f:id:ts0818:20210220101236p:plain

試しに、「docker-desktop」を再起動すると、

f:id:ts0818:20210220101540p:plain

f:id:ts0818:20210220101611p:plain

「WSL 2」で存在してた「VM仮想マシン)」が再び起動し出すという...

f:id:ts0818:20210220101836p:plain

⇧ ということは、動いてる「VM仮想マシン)」は「Docker Desktop」のものということなんですかね?

「WSL 2」自体は、

docs.microsoft.com

WSL 2 uses the latest and greatest in virtualization technology to run a Linux kernel inside of a lightweight utility virtual machine (VM). However, WSL 2 is not a traditional VM experience.

https://docs.microsoft.com/en-us/windows/wsl/compare-versions

⇧「lightweight utility virtual machine (VM)」ってのが動いてる、ってことみたいなんですが、この「VM仮想マシン)」自体の状態ってのは、どうやって調べたら良いのかね?

「WSL 2」については、

www.atmarkit.co.jp

ascii.jp


The new Windows subsystem for Linux architecture: a deep dive - BRK3068

⇧ 上記サイト様が詳しいですかね。

いまいち、「lightweight utility virtual machine (VM)」の中に「VM仮想マシン)」や「コンテナ」が入るという認識で良いのかが分からん...

「WSL 2」の文脈で語られる時の「Linux ディストリビューション」は「VM仮想マシン)」の形で導入されるということなのか、「VM仮想マシン)」とも「コンテナ」とも全く異なる形で導入されているということなのか?

このあたり、有識者の方が解説してくれることを切に願いますね。(日本語で)

とりあえずで、「WSL 2」を導入してはみたものの、何か発展途上の感は否めないようですね。

2021年2月20日(土)追記:↑ ここまで

今回はこのへんで。