WSL 2(Windows Subsystem for Linux 2)のlightweight vmについて調べてみた

f:id:ts0818:20220220202931j:plain

nazology.net

がん細胞を強制的に眠らせることができるようです。

米国マウントサイナイ医科大学(ISMMS)の研究で、活発に増殖する危険ながん細胞を強制的に休眠状態にする薬剤が発見されました。

がん細胞を強制的に「眠らせる」薬剤を発見! - ナゾロジー

がん細胞を殺すのではなく、患者が老衰や他の原因で死亡するまで「眠らせる」という共存戦略は、がん治療の将来におけるスタンダードとなるかもしれません。

がん細胞を強制的に「眠らせる」薬剤を発見! - ナゾロジー

⇧ 衝撃...100%の制御が可能なら、デファクトスタンダードになってもおかしくないですね。

今回も、冒頭から関係ない話でしたが、「WSL 2(Windows Subsystem for Linux 2)」の「lightweight vm」について調べてみました。

レッツトライ~。

WSL 2(Windows Subsystem for Linux 2)のlightweight vmについて調べてみた

「WSL 2(Windows Subsystem for Linux 2)」の「lightweight vm」について芳しい情報が見つけられなかったので、

Future plans and where to learn more

As always you can reach members of the WSL team that are on Twitter, or me personally @craigaloewen on Twitter if you have any general questions. For technical issues please file an issue on the WSL Github Repo. We always love hearing your feedback, thank you for helping make WSL amazing, and we’ll see you with the next update soon!

https://devblogs.microsoft.com/commandline/wsl2-will-be-generally-available-in-windows-10-version-2004/

⇧ お言葉に甘えて、Twitterで「@craigaloewen」さんに質問させていただいたところ、回答いただけました、本当に感謝しかない。

で、以下のサイトのURLを連携いただきました。

docs.microsoft.com

⇧ 上記のドキュメントによりますと、「WSL 2(Windows Subsystem for Linux 2)」の「仮想的なハードディスクイメージファイル」について言及されており、

%LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\<disk>.vhdx

⇧ 上記のパスに存在するということらしい。

f:id:ts0818:20220220172843p:plain

確かに、おりましたと。

f:id:ts0818:20220220172802p:plain

ということは、ディストリビューション毎に、「lightweight vm」が存在するということになってくるということかと。

ちなみに、Docker Desktopも「仮想的なハードディスクイメージファイル」を持っているっぽい。

f:id:ts0818:20220220174153p:plain

f:id:ts0818:20220220174442p:plain

つまり、「WSL 2(Windows Subsystem for Linux 2)」は複数の「lightweight vm」も持つことになるってことですかね。

f:id:ts0818:20220220181926p:plain

⇧ 検索したところ、自分の環境では、「WSL 2(Windows Subsystem for Linux 2)」が管理する「lightweight vm」は3つということだと思われますと。

f:id:ts0818:20220220185616p:plain

⇧ 上記の3つは「WSL 2(Windows Subsystem for Linux 2)」の「仮想マシン(lightweight vm)」で動いているということになるみたいね。

Docker Desktopについては、自分の場合は、Windows 10 Homeを使ってるので、

docs.docker.com

⇧「WSL 2(Windows Subsystem for Linux 2)」で管理されてる感じになってるのかな? 

なので、他に「WSL 2(Windows Subsystem for Linux 2)」で「ディストリビューション」をインストールしたら、その分の「仮想マシン(lightweight vm)」が追加されるってことですかね。

ちなみに、Wikipediaさんによりますと、

Virtualization

A hard disk image is interpreted by a Virtual Machine Monitor as a system administrator using terms of naming, a hard disk image for a certain Virtual Machine monitor has a specific file.

https://en.wikipedia.org/wiki/Disk_image#Virtualization

⇧ とあり、「仮想的なディスクイメージファイル」ってのは、ベンダー毎に仕様が異なるということみたいね...

一応、「RFC 7666」で、

datatracker.ietf.org

⇧『Management Information Base for Virtual Machines Controlled by a Hypervisor』について言及はあるのだけど、「仮想的なディスクイメージファイル」の一覧みたいな情報は特に記載はないですと。

そもそも、「RFC 7666」のタイトル的に「Hypervisor」限定っぽいのかな?

自分の環境で「.vhdx」以外の拡張子でも検索したところ、

f:id:ts0818:20220220184708p:plain

自分の環境では、「Virtual Box」とかでも仮想マシン作ったりしてたので、他にも「仮想的なディスクイメージファイル」はおりましたと。

とりあえずは、「WSL 2(Windows Subsystem for Linux 2)」において、「lightweight vm」は複数存在し得るってことなんじゃないかと。

そして、

logmi.jp

WSL2は、WSL1と違って、VMになったとよく説明がされるのですが、実はWSL2はVMかつコンテナなんですね。WSL2はLight-weight VMというのは、まあ正しい。さらにDSL2ディストロは、実はコンテナであるという表現も、実は正しいんです。

ここが変だよ「WSL2」 自作ディストロ開発で発見した知られざる“バグ”と“事実” - ログミーTech

⇧ 上記サイト様によりますと、「WSL 2(Windows Subsystem for Linux 2)」は「仮想マシン(lightweight vm)」且つ「コンテナ」ってことになるらしい...う~む、紛らわしい...

「WSL 2(Windows Subsystem for Linux 2)」の複数ディストリビューションにおけるアーキテクト構成図みたいなのを公式のドキュメントに掲載して欲しいところですな。

ちなみに、「.vhdx」という拡張子のファイルについては、

VHDX

VHDXVHDの後継として開発された。

VHD (ファイルフォーマット) - Wikipedia

Wikipediaさんによりますと、「仮想ハードディスク(VHD:Virtual Hard Disk)」の後継ということで、

docs.microsoft.com

Specifies the Virtual Hard Disk v2 (VHDX) File Format Protocol, the virtual hard disk format that provides a disk-in-a-file abstraction.

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-vhdx/83e061f8-f6e2-4de1-91bd-5d518a43d477?redirectedfrom=MSDN

⇧ 上記のページでダウンロードできる『[MS-VHDX]: Virtual Hard Disk v2 (VHDX) File Format』っていうPDFによると、

⇧ 3種類の「仮想ハードディスク(VHD:Virtual Hard Disk)」に対応するように設計されてるそうな。

毎度モヤモヤ感が半端ない...

今回はこのへんで。