調べて分かったことザックリメモ。
※間違いあれば指摘していただけると非常にうれしいです。
違い
VT-XとAMD-V
- VT-X:IntelのCPUに内蔵されている「仮想化を支援しまっせー」な機能のこと。
- AMD-V:AMDのCPUに内蔵されている「仮想化を支援しまっせー」な機能のこと。
BIOS/UEFIからON・OFFができる。(通常はデフォルトでONになっているはず)
最近のCPUならほぼ全部付いているらしい。
▲タスクマネージャの仮想化
の項目でONになっているか確認できる。
Hyper-V
- 「VT-X」や「AMD-V」がONになっているWindowsで使える仮想化技術のこと。
- 俗に言う「ハイパーバイザー」。
- Windows10 Pro以上のエディションでないと使えない。
- Hyper-Vを有効にすると、Hyper-VがVTーXやAMD-Vを占有してしまうらしいので、他の仮想化ソフト(例えばVirtualBox)などはVT-Xが使えなくなり、結果的に起動できなくなる。
WSL
- Windows純正の「Windows上でLinuxを動かすソフト」。
- WSLではLinuxカーネルを使わずに、Windows上(というかWindowsカーネル)だけでLinuxをシミュレートする。要するに再現できるのは”LinuxのモノマネができるWindows”であって、一言で言えば”偽物”。
(ちなみにVirtualBoxやVMwareでは、実際にWindows上で”本物のLinux”を再現できる。しかし重い。)
WSL2
- WSLをパワーアップしたバージョン。
- Hyper-V(というかHyper-Vの一部機能?)を使って仮想化するので、”本物のLinux”を再現できる。
- Hyper-VはWindows Pro以上のOSでないと使えないけど、WSL2でHyperーVを使用する場合は、Windows Pro以外のOS(Homeなど)でも使えるらしい。つまり最近のPCでWindows10が入ったものならWSL2が使える。
- Windowsのバージョンが
2004
以上なら誰でも無料で使える。エディションも問わない。
▲Win+R → winverで表示できる。 - 以下の図で書かれている「WSL2用に用意されたLinuxカーネル」を追加インストールする必要があるらしい。
(具体的にいうとこのファイル→x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ)
▲引用元:https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html
使用方法とか
WSL、WSL2
以下のようにすれば、WSL2が使えた。
Windowsの機能
からLinux用Windowsサブシステム
をONにする
- 上でも書いている「WSL2用に用意されたLinuxカーネル」を別途アップデートするパッチを適用
- PC再起動
- Windows StoreからUbuntuなどのOSをダウンロード&インストールする
この手順をするだけで、以下のようにLinuxが起動できた。
VirtualBox
VirtualBoxでは、VT-XやAMD-Vを使う。
なのでHyper-Vが有効になっていると(VT-Xなどを占有してしまうので)起動しなくなるらしいけど
Windowsハイパーバイザープラットフォーム
をONにすると両方起動できるようになるっぽい。
Docker
Dockerには
- Docker Desktop for Windows
- Docker Toolbox on Windows
という2種類があって、それぞれ以下のように違うらしい。(2021年2月現在)
Docker Desktop for Windows | Docker Toolbox on Windows | |
---|---|---|
仮想化に使う機能 | WSL2 もしくは Hyper-V (ハイパーバイザー型) |
WSL もしくは VirtualBox (ホスト型) |
ダウンロードできる場所 | Docker公式 | Docker ToolBoxのGitHub(非推奨扱い) |
動作するOSのエディション |
|
? (興味がないので調べてません) |
今現在は、前者の「Docker Desktop for Windows」一択。
なぜなら
- 今現在はWindows10であればどんなPCでもWSL2が使えるため
- Docker自身がWSL2での使用を推奨しているため
という理由。
おわり
コメント