torutkのブログ

ソフトウェア・エンジニアのブログ

Windowsマシン上でのLinux環境は混沌と

PC上に直接Linux OSをインストールして起動する(デュアルブート)環境は対象外とします。 Windows OSの動作を前提に設計されたノートPCでは、Linux OS向けドライバが存在しないデバイスが搭載されていることが多く、Windows OSの上でLinux環境を動かすことになります。

Windows 7の頃は、Windows OS上でLinux環境を動かすには、VMwareVirtualBoxなどの仮想マシンソフトウェアを入れて、その上にLinux OSをインストールするか、CygwinなどのLinuxエミュレーションソフトウェアを入れていました。CentOSFedoraUbuntuなど特定のLinuxディストリビューションを動かしたいときは仮想マシンを使い、Linuxコマンド環境を手軽に利用したい(ファイルシステムWindowsと共用したい)ときはCygwinを使う、といった使い分けをしていました。なお、CygwinでもXサーバーのGUI環境を使うことはできました。

Windows 10になると、Proエディションでは標準で仮想マシンHyper-Vが搭載されました。また、WSL(Windows Subsystem for Linux)がWindows 10 1709版からHomeエディションを含めて利用可能となりました。これで、VMware、Virtual Box、Cygwinは不要になるか、と思われましたが、なかなかそうもいきません。

Hyper-Vですが、この上にLinuxを入れてLinuxデスクトップを動かすと動作がもっさりして快適とは程遠いレスポンスです(細い回線でリモートデスクトップ接続して操作している感じ)。さらにHyper-Vを入れると他の仮想マシンソフトウェア(VMwareVirtualBox)が動かなくなるという問題もあります(ハードウェアの仮想化機構 VT-xをHyper-Vが占有するため。今後解消に向かう模様ですが)。

WSLは、利用可能なLinuxディストリビューションが少ない(UbuntuOpenSUSESUSE Enterprise、Kali、有償のWLinux、Fedora Remix、他)ほか、ファイルシステムWindowsと共有することに制約が大きく(ファイルを壊す等)、またファイルI/Oが致命的に遅い問題があります(以前日記に記載)。 WSL(Windows Subsystem for Linux)とHyper-V上のLinuxとの重さの違い - torutkのブログ

来年のWindows 10アップデートで計画されているWSL2は、WSLの問題点を解決すると期待していましたが、なんとHyper-V上でLinuxカーネルを動かす環境となるので、WSLとはコンセプトが随分と変わっています。

というところで、Windows上でLinuxを動かすには選択肢は多くなったものの、これぞという決定打にかけている状況です。