
Windows と Linux は、最も一般的な 2 つのオペレーティング システム (OS) です。 Windows はユーザー フレンドリーなアプローチを提供しますが、Linux の高度なカスタマイズ性により、開発者、生産的な人々、および学習者にとって最優先の選択肢となっています。
それらに同時にアクセスするには、Windows 内での仮想化またはデュアル ブートが必要です。
ただし、Windows で Linux に簡単にアクセスできる新しい Windows 機能があります。
WSL2 の紹介 – Linux 用の Windows サブシステムが登場します。これは、Windows で Linux にアクセスできるようにする Windows の機能です。
この記事では、WSL2 に焦点を当てます。 その詳細、その定義、目的、インストール プロセス、および効果的な使用方法について説明します。
始めましょう。
Linux 用 Windows サブシステムとは何ですか?
Windows Subsystem for Linux を使用すると、Windows のターミナルから直接 GNU/Linux 環境にアクセスできるため、デュアル ブートや仮想化ツールを使用する必要がなくなります。 これにより、Linux カーネルにアクセスできます。 これは、コマンドライン ツール、アプリケーション、ユーティリティなど、Linux の機能を Windows から直接使用できることを意味します。
WSL 2 は、WSL1 (Windows 10 で起動) よりも優れた機能と速度を提供する最新の Windows サブシステムです。 また、ほとんどの Windows インストールには WSL がプリインストールされています。 使用するには、有効にする必要があります。
内部では、WSL2 は Windows の Hyper-V 仮想マシン テクノロジを使用します。 これにより、WSL2 は Linux と互換性があり、WSL1 よりも実行速度がほぼ 20 倍速くなります。
つまり、WSL2 は Linux 用の最新の Windows サブシステムであり、Linux カーネルに直接アクセスできる Windows ユーザーを提供します。
WSL2 の概要
チュートリアル全体を通して、Windows ターミナルを使用するための便利ですが推奨されるオプションである Windows ターミナルも使用します。 これは、コマンド ライン ツールと WSL を使用するユーザー向けの最新の高速で効率的なターミナルです。
PC 要件
すべての PC が WSL2 を実行できるわけではありません。 WSL2 を実行するには、システムが仮想化をサポートしている必要があります。 これは、WSL2 が内部で Hyper-V を使用しているためです。
また、SLAT (Second Level Address Translation) をサポートする 64 ビット CPU を使用する必要があります。 ほとんどすべての最新の CPU がサポートしています。
ディスク容量に関しては、少なくとも 1 GB の空き容量が必要です。
BIOS からの仮想化の有効化
ハードウェア要件を満たしている場合は、マザーボードの BIOS から有効にする必要があります。
F2、Del、F10 などのキーボード キーを押して、BIOS に入ります。
BIOS で、AMD の Secure Virtual Machines (SVM)/Intel の Virtualization Technology VTx を見つけて有効にする必要があります。 完了したら、マシンを再起動します。
さらに明確にする必要がある場合は、別の投稿「Hyper-V を使用して Windows 10 に Ubuntu をインストールする方法」の詳細な手順を確認してください。
WSL2 の Windows 機能を有効にする
ハードウェア要件が満たされたら、Windows から WSL2 を有効にします。
最初のステップは、Windows のバージョンを確認することです。 これは、Windows が WSL をサポートしているかどうかを知るのに役立ちます。
これを行うには、キーボードで CMD + R を押して「winver」と入力します。 Windows のバージョンが表示されます。
Windows 10 を使用している場合は、おそらく WSL1 を使用しています。 ただし、ほとんどの Windows 11 ユーザーにとっては、WSL2 です。
WSL2 はセキュリティを目的としており、仮想化が無効になっているため、Windows S を除くすべての Windows 10 および 11 バージョンが WSL2 をサポートします。
Windows S を使用している場合は、Windows Home や Pro などの別のバージョンに変更する必要があります。
これを行うには、[設定]>[更新とセキュリティ]>[アクティベーション]に移動して、OS を変更します。
また、最新の Windows アップデートがインストールされている必要があります。 これにより、WSL2 の完全な互換性とサポートが保証されます。 システムを更新するには、[設定]>[Windows Update]に移動します。
WSL2 を使用するには、複数の Windows 機能を有効にする必要があります。
[コントロール パネル]>[プログラムと機能]に移動します。 その下に、「Windows の機能の有効化または無効化」があります。 それをクリックすると、新しいウィンドウ「Windows Features」が開きます。
そこで、「Hyper-V」、「仮想マシン プラットフォーム」、および「Linux 用 Windows サブシステム」を検索します。
次に、変更を有効にするために再起動するよう求められます。
次のコマンドを実行して有効にすることもできます。
$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart $ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
WSL2 のインストール
すべての前提条件がカバーされたので、WSL をインストールします。
Windows ターミナル (Windows 10) または Windows PowerShell (Windows 11) を開き、次のコマンドを入力します。
$ wsl
#出力
Copyright (c) Microsoft Corporation. All rights reserved. Usage: wsl.exe [Argument] Arguments: …..
これは、WSL は使用可能ですが、アクティブ化されていないことを意味します。
ここで、WSL をインストールするには、管理者権限で次のコマンドを実行します。
$ wsl --install
#出力
PS C:UsersLogan99> wsl --install Installing: Virtual Machine Platform Virtual Machine Platform has been installed. Installing: Windows Subsystem for Linux Windows Subsystem for Linux has been installed. Installing: Ubuntu Ubuntu has been installed. The requested operation is successful. Changes will not be effective until the system is rebooted.
注: Windows の機能で有効にしたため、これが表示されない場合があります。 代わりに、次の出力が得られるはずです。 (その場合は、次のセクションにジャンプしてください)。
Ubuntu is already installed. Launching Ubuntu... Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: New password: Retype new password:
WSL のバージョンを確認するには、wsl –version コマンドを入力します。
$ wsl --version
#出力
WSL version: 1.1.6.0 Kernel version: 5.15.90.1 WSLg version: 1.0.50 MSRDC version: 1.2.3770 Direct3D version: 1.608.2-61064218 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22621.1413
お気づきのとおり、WSL バージョン 1.1.6.0 は既にプリインストールされています。 したがって、動作せずエラーが出力される場合は、WSL がインストールされていません。
WSL2 に変更するには、次のコマンドを実行します。
$ wsl --set-default-version 2
システムにはすでに WSL がプリインストールされているため、このメッセージが表示されます。
Windows ストアから WSL をインストールすることもできます。 まず、ストアを開き、「Windows Subsystem for Linux」を検索します。
「取得」をクリックします。 インストールされるのを待ちます。
インストールしたら、[開く]をクリックすると、Windows ターミナルが開き、「Linux 用の Windows サブシステムにはディストリビューションがインストールされていません」というメッセージが表示されます。
WSL にディストリビューションをインストールする
WSL をインストールしたら、Linux ディストリビューションをインストールします。
デフォルトでは、WSL は Ubuntu LTS バージョンをインストールします。 これを行うには、次のコマンドを実行する必要があります。
$ wsl --install
Ubuntuのインストールが開始されます。 インストール中に、新しい UNIX ユーザー名とパスワードを設定するよう求められます。
インストールが完了すると、Ubuntu Linux プロンプトが表示されます。 ここでは、すべての Linux コマンドを使用できます。 Ubuntuのバージョンを確認してみましょう。
$ lsb_release -a
#出力
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy
それでおしまい! これで、Linux カーネルにアクセスできるようになりました。
ディストリビューションを終了するには、次のコマンドを入力する必要があります。
$ exit
#出力
[email protected]:/mnt/c/Users/Logan99$ exit logout
追加のディストリビューションをインストールする
同様に、Fedora、Debian、OracleLinux_8_5 などの他のディストリビューションもインストールできます。 利用可能なディストリビューション オプションを表示するには、次のコマンドを入力します。
$ wsl --list --online
Debian をインストールするには、次のコマンドを入力する必要があります。
$ wsl --install -d Debian Or $ wsl.exe --install Debian
Ubuntu と同様に、ユーザー名とパスワードのインストールも求められます。
#出力
それでは、Debian のバージョンを確認してみましょう。
$ cat /etc/issue
#出力
$ Debian GNU/Linux 11 n l
しかし、Fedoraはどうですか? wsl –list –online コマンドを使用してもリストされません。
Windows ストアからディストリビューションをインストールすることもできます。
Windows ストアを開き、「Linux ディストリビューション」と入力します。 利用可能なすべてのものがリストされます。 ここでは、公式にサポートされているディストリビューションのみを確認できます。
非公式のディストリビューション サポートについては、手動で検索する必要があります。 ただし、これらの非公式ディストリビューションはバグが多く、100% 安全ではありません。 したがって、実験目的でのみ使用してください。
「インストール」をクリックして、システムで使用できるようにします。
デフォルトディストリビューションの設定
利用可能なディストリビューションのリストを表示したい場合は、次のコマンドでリストできます。
$ wsl --list
Ubuntu の「Default」キーワードは、コマンド プロンプトで「wsl」と入力すると、デフォルトの Linux ディストリビューションが起動することを意味します。
デフォルトのディストリビューションを変更するには、次のコマンドを入力します。
$ wsl --setdefault <DistroName>
したがって、Debian をデフォルトのディストリビューションとして設定するには、次のコマンドを入力する必要があります。
$ wsl --setdefault Debian
したがって、次にターミナルで wsl と入力すると、Debian が起動します。
ディストリビューションの WSL バージョンの切り替え
デフォルトでは、ディストリビューションは WSL2 を使用します。 現在インストールされているディストリビューションとその WSL バージョンを一覧表示するには、次のコマンドを入力します。
$ wsl --list --verbose
#出力
NAME STATE VERSION * Ubuntu Stopped 2 Debian Stopped 2
ここで、* はデフォルトの Linux インストールを指します。
ここで、WSL バージョンを 2 から 1 に変更するには、次のように入力します。
$ wsl --set-version Ubuntu 1
また、1 から 2 に戻す場合は、次のように入力します。
$ wsl --set-vesion Ubuntu 2
注: 変換が行われるまでに時間がかかる場合があります。 変換中はウィンドウを閉じないでください。
異なるユーザー名で特定のディストリビューションを起動する
特定のディストリビューションを起動したい場合はどうしますか? これを行うには、次のコマンドを入力する必要があります。
$ wsl -d <DistroName> Or $ wsl --distribution <DistroName>
Ubuntu を起動するには、次のように入力します。
$ wsl -d Ubuntu
特定のユーザー名で起動する場合は、-user に続けてユーザー名を追加する必要があります。
$ wsl -d <DistroName> --user <UserName>
たとえば、「root」ユーザー名で Debian を起動するには、次のようにします。
$ wsl -d Debian --user root
注: 存在しないユーザーでディストリビューションを起動すると、「ユーザーが見つかりません」というエラーが表示されます。
Linux の更新
次のコマンドを入力して、Linux ディストリビューションを更新できます。
$ sudo apt update $ sudo apt upgrade
さらに、WSL 用の Linux カーネルの更新を探すこともできます。
$ wsl --update
WSL2 を使用した Visual Studio Code のセットアップ
WSL と連携するように VS Code をセットアップすることもできます。 このようにして、VS Code から直接 WSL ターミナルにアクセスできます。 Linux 固有のユーティリティやツールチェーンにアクセスしながら、Linux ベースのアプリケーションでアプリケーションを開発するのに役立ちます。
さらに、VS Code の機能を利用しながら、Windows 固有の生産性ツールにアクセスすることもできます。
これを機能させるには、Remote Development 拡張パックをインストールする必要があります。 拡張タブから名前を検索して、VS Code から直接検索することもできます。
ローカルで作業している場合は、VS Code メニューに移動して設定できます。 そこから、[表示]>[ターミナル]を選択します。
ターミナルが開きます。 「+」記号の隣に > 記号があります。 それをクリックすると、WSL ターミナルが一覧表示されます。
ここで、「デフォルト プロファイル」を選択することもできます。
これが可能なのは、VS Code が \wsl$ および localhost で実行されているデバッガーに直接アクセスできるためです。
グラフィカル アプリケーションと WSL2 の操作
グラフィカル アプリケーションを操作するには、WSL2 用の正しいドライバーをインストールする必要があります。 Intel、AMD、および Nvidia は、Linux ベースのグラフィック アプリケーションがスムーズに動作するように、WSL 用のドライバーを提供しています。
ただし、このアプローチにはまだ問題があります。 まず第一に、これらのグラフィカル アプリには機能しない機能がいくつかある可能性があります。 また、多くのアプリが機能しない可能性があるため、代替手段を探す必要があります.
要するに、これは主に試行錯誤の方法であり、時間がかかりすぎる可能性があります。
Ubuntu を使用したグラフィカル アプリケーションの操作に関する WSL2 ガイドを確認できます。
Windows 上の Docker デスクトップ WSL2
Hyper-V を使用してローカルでセットアップしたくない場合は、WSL2 を正式にサポートする Docker Desktop を使用できます。 これにより、Docker ツールを Windows 上で直接使用するためのより高速なワークフローをセットアップできます。 詳細については、こちらのガイドをご覧ください。
Microsoft が Linux を真剣に考えているのはなぜですか?
マイクロソフトは専有企業です。 閉鎖的な環境で Windows のようなソリューションを作成し、ユーザーが Linux ではなく Windows に固執することを望んでいます。
しかし、2016 年にオープン ソースへの取り組みを発表しました。 2001 年初頭、Steve Ballmer が Linux を「がん」と呼んだとき、この見方は変わりました。
2023年、状況が変わりました。 Microsoft は Linux をエコシステムに直接採用しています。 2019 年 5 月に WSL2 を発表し、2021 年 10 月に Windows ストアに WSL2 を導入しました。 また、2022 年 11 月に WSL2 v1.0 をリリースしました。
また、Edge や Teams などの Microsoft ソフトウェアを Linux ユーザーが利用できるようにしました。 また、Linux カーネルに積極的に貢献しており、Linux Foundation の製品メンバーでもあります。
これらすべてが、Microsoft が Linux を真剣に考えていることを示唆しています。 しかし、一部の懐疑論者は、Microsoft が Linux を愛しているとは考えていません。
つまり、Microsoft は Linux に関心を持っています。 彼らの Window サブシステムは、彼らが Linux とオープン ソースに関心を持っている証拠です。 しかし、最も重要なことは、仮想化を使用したり Linux オペレーティング システムのデュアル ブートを実行したりする必要なく、ユーザーが Linux カーネルにシームレスにアクセスできるようにしたいということです。
最後の言葉
「どの OS が開発者に最適か」という時代では、開発者は両方にアクセスする方法を選択できます。 WSL2 は、さまざまな Linux ディストリビューションを介して Linux カーネルへのアクセスを提供します。 さらに、高速で Docker と連携します。
現在、WSL2 は活発に開発されており、互換性の問題を解決し、開発者の手に力を与えています。 したがって、WSL2 の未来は明るいと言えます。Microsoft は、Windows ユーザーが Linux カーネルにアクセスできるようにするためにあらゆる手段を講じています。
次に、システム管理者および開発者として知っている Linux ディストリビューションを確認してください。