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?

Windowsを使って開発するときによく使うWSLについて

0
Posted at

WSLは、Microsoftが提供する、Windows上でLinuxの実行環境を直接動作させるための仕組みです。従来の仮想マシン(VM)のような重快なセットアップを必要とせず、Windowsアプリの感覚でLinux(Ubuntu等)を利用できます。

1. WSL1 と WSL2 の違い

WSLには大きく分けて2つの世代があり、現在はWSL2が主流です。

特徴 WSL 1 WSL 2 (現在の標準)
仕組み LinuxシステムコールをWindows用に変換。 本物のLinuxカーネルを軽量VM上で実行。
パフォーマンス ファイルアクセスは早いが、実行は遅め。 実行速度が劇的に向上(ネイティブに近い)。
互換性 一部のアプリ(Docker等)が動かない。 完全な互換性。Dockerもスムーズに動作。
リソース管理 Windowsとメモリを共有。 動的にメモリを確保(設定で制限可能)。

2. WSL2 の主なメリット

  1. Windowsとの共存: Windowsのファイル(Cドライブなど)にLinuxからアクセスでき、その逆も可能です。VS CodeなどのWindowsアプリからLinux上のコードを編集できます。
  2. 爆速な起動: 従来のVM(VirtualBox等)が起動に数十秒かかるのに対し、WSL2は1〜2秒で起動します。
  3. GPUアクセラレーション: NVIDIA CUDAなどをサポートしており、Windows上でLinux版の**機械学習(AI)**やディープラーニングの環境を容易に構築できます。
  4. GUIアプリのサポート (WSLg): Linux用のデスクトップアプリ(GIMPやテキストエディタなど)をWindowsのウィンドウとしてそのまま表示・操作できます。

3. なぜ「VM」ではなく「WSL」を選ぶのか?

比較項目 従来のVM (VirtualBoxなど) WSL 2
目的 OS全体の完全なエミュレーション。 開発環境・コマンドラインの統合。
オーバーヘッド 高い(CPU・メモリを固定で消費)。 低い(必要な分だけ動的に使用)。
ネットワーク 独自のIPを持つ(設定がやや煩雑)。 Windowsとlocalhostを共有(設定不要)。
使い分け サーバー本番環境の完全再現に。 Web開発、データサイエンス、日常のツールに。

4. 導入方法(Windows 10/11共通)

現在はコマンドプロンプトやPowerShellを「管理者として実行」し、以下のコマンドを打つだけでインストールが完了します。

wsl --install

注意点: WSL2はバックグラウンドでHyper-Vの仕組みを利用しているため、Windowsの「仮想化プラットフォーム」機能が有効である必要があります(通常は自動で有効になります)。


5. cloud-init との関係

WSL2でも、最近のアップデートによりcloud-initのサポートが強化されました。 /etc/wsl.conf や特定のインポート手法を用いることで、インスタンス起動時にユーザー作成やパッケージインストールを自動化する「クラウドに近い開発体験」が可能になっています。

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?