0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL 1 と WSL 2 の違い

Posted at

WSL 1 と WSL 2 の比較まとめ

WSL (Windows Subsystem for Linux) は、Windows 上で Linux 環境を実行するための技術です。ここでは、WSL 1WSL 2 の主な違いや特徴、使用シナリオについて詳しく解説します。


1. WSL 1 の特徴

アーキテクチャ

  • 仕組み: WSL 1 は LXCore というサブシステムを利用して Linux のシステムコールを Windows API に変換します。
  • Windowsカーネル: Linux カーネルを直接実行せず、Windows NT カーネルドライバ (LxCore.sysLxss.sys) を通じて処理します。

主な特徴

  • システムコール互換性: Linux カーネルを直接実行しないため、特定のアプリケーションが動作しない場合があります。
  • ファイルシステム:
    • Linux ファイルは NTFS 上に保存され、Windows との統合がシームレス。
    • Windows ファイルへのアクセスは高速ですが、Linux のファイル操作は遅くなることがあります。
  • ネットワーク:
    • Windows のネットワークスタックを共有し、Windows ホストの IP アドレスがそのまま使われます。

使用シナリオ

  • 簡単な開発: シンプルな Linux コマンドやツールの実行。
  • Windows 統合重視: Windows ファイルシステムへの高速アクセスやネットワーク統合が必要な場合。

2. WSL 2 の特徴

アーキテクチャ

  • 仕組み: WSL 2 は Hyper-V を使用し、Linux カーネルが 軽量仮想マシン (VM) 内で直接実行されます。

主な特徴

  • システムコール互換性:
    • Linux カーネルが直接動作するため、システムコールの互換性は完全。
    • Docker や Kubernetes など、Linux に依存するツールも動作します。
  • ファイルシステム:
    • Linux ファイルは ext4 フォーマットの仮想ディスク (*.vhdx) 上に保存され、Linux 環境内でのパフォーマンスが向上します。
  • ネットワーク:
    • 仮想マシン内で独立したネットワークスタックを使用し、Windows とは別の IP アドレスを持ちます。
    • 外部アクセスにはポートフォワーディングの設定が必要です。
  • リソース管理:
    • 仮想マシンを利用するため、CPU やメモリのリソース管理が柔軟です。
  • 起動速度:
    • 仮想マシンが軽量設計のため、起動が速く、動作も軽快です。

使用シナリオ

  • 高度な開発: Docker、機械学習、CI/CD パイプラインなど、Linux 完全互換が必要な開発環境。
  • パフォーマンス重視: Linux ファイル操作やシステムコールの速度が重要な場合。

3. WSL 1 と WSL 2 の比較表

特徴 WSL 1 WSL 2
カーネル Windowsカーネルエミュレーション Linuxカーネル (仮想マシン)
Docker サポート 動作しない 動作する
システムコール互換性 部分的 完全
ファイルシステム NTFS 上に保存 (Windows 統合) ext4 仮想ディスク (高速アクセス)
ファイルアクセス速度 Windows ファイルは高速 Linux ファイルは高速
ネットワーク Windows と統合 (同一 IP) 独立したネットワークスタック
起動時間 非常に速い やや遅い (軽量 VM)
リソース管理 Windows リソースと共有 柔軟な CPU・メモリ管理

4. 互換性と移行

  • バージョン切り替え:
    WSL 1 から WSL 2 へのアップグレード、またはダウングレードは簡単に行えます。
    コマンド例:
    wsl --set-version <ディストリビューション名> 2
    
  • サイドバイサイド実行:
    同一環境で WSL 1 と WSL 2 の両方を使用可能です。
    確認コマンド:
    wsl -l -v
    
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?