Microsoft Windows Subsystem for Linux (WSL):Windows 上で Linux バイナリを直接実行
投稿者
- ブライエン・ポージー
公開日:2020 年 11 月 16 日
Microsoft Windows Subsystem for Linux (WSL) は、ネイティブ Linux 64 ビット Executable and Linkable Format (ELF64) バイナリを Windows 10 オペレーティング システム (OS) の Windows カーネル上で実行できるようにする一連の Microsoft コンポーネントです。
Windows 10 で Linux 用 Windows サブシステム機能を有効にすると、Linux bash シェルを実行して、Windows カーネル層上で実行される Ubuntu ユーザー モード イメージをインストールできます。これにより、ELF64 バイナリが Windows で動作できるようになります。インストール後、ユーザーは Ubuntu パッケージ リポジトリから他のファイルを実行できます。 grep、sed、awk などの Linux コマンドライン ユーティリティ。 Linux ファイル システムをナビゲートします。コマンドライン インターフェイス (CLI) ユーティリティを使用してスクリプトを実行します。
WSL には、Linux インスタンスを処理するためのユーザー モード セッション マネージャー サービス、Linux システム コールを処理するための最小化された Pico プロセス、および Linux カーネルをエミュレートするための Pico ドライバーが含まれています。全体として、このアーキテクチャにより、Linux システム コールを Windows カーネルに渡して処理できるようになります。
誰が WSL を使用すべきですか?
Linux 用 Windows サブシステムは、主に Windows 環境で動作する Linux 開発者を対象としています。たとえば、Web 開発者は、Linux や、GitHub などのソースからのその他のオープン ソース ツールをよく使用しますが、開発や実験のために完全な Linux システムへのアクセスが制限されています。 Linux 用 Windows サブシステムを使用すると、開発者は一般的な Linux ツールや、Ruby や Python などの高度な開発言語を使用して、Windows を通じて操作できるようになります。
WSL 1 対 WSL 2
Microsoft は、WSL 1 と新しい WSL 2 という 2 つの異なるバージョンの Linux 用 Windows サブシステムを提供しています。どちらも Windows と Linux 間の統合を提供します。どちらも軽量で、起動時間が短くなります。 WSL 1 と WSL 2 はどちらも、VMware や Oracle VM VirtualBox などの Microsoft 以外のハイパーバイザーでも動作します。
WSL 1 と WSL 2 の主な違いの 1 つは、WSL 2 が管理された仮想マシン (VM) 内で実行されることです。 VM は管理されるため、IT プロフェッショナルは、仮想マシンに関連することが多い構成タスクや管理タスクの実行について心配する必要はありません。
もう 1 つの重要な違いは、WSL 2 が完全な Linux カーネルを実行することです。このカーネルは Microsoft によって構築されたため、Windows Update によって最新の状態に保たれます。
Microsoft では通常、WSL 2 の使用を推奨しています。これは、WSL 1 よりもパフォーマンスが高く、システム コールの互換性が 100% あるため、Docker などのアプリを実行できるためです。ただし、プロジェクトを Windows ファイル システムに保存する必要がある場合、またはプロジェクトで Windows と Linux の両方のツールを使用したクロスコンパイルが必要な場合は、引き続き WSL 1 を使用する必要があります。
WSL に関するよくある質問
WSL に関するよくある質問には次のようなものがあります。
VM では Linux の代わりに Windows Subsystem for Linux を実行する必要があるのはなぜですか?
Linux インスタンスは VM 内の Windows で実行できますが、Linux 用 Windows サブシステムには 2 つの利点があります。まず、完全な VM よりもコンピューティング リソース (プロセッサ、メモリ、ストレージ) に必要なオーバーヘッドが少なくなります。 2 番目に、WSL では Windows 環境と Linux 環境の両方を同時に実行できるため、開発者は必要に応じて Windows アプリケーションと Linux ユーティリティを同じファイルで使用できます。
Linux 用 Windows サブシステムには制限がありますか?
Linux 用 Windows サブシステムには現在、いくつかの制限があります。まず、すべての Linux アプリケーションをサポートしているわけではありません。これは、bash および主要な Linux コマンドライン ユーティリティを処理するツールを提供することを目的としています。 WSL は、Gnome や K デスクトップ環境などの Linux グラフィカル ユーザー インターフェイス (GUI) 環境をサポートしません。現時点では、Linux 用 Windows サブシステムは Ubuntu Linux ディストリビューションのみをサポートしています。
さらに、Linux 用 Windows サブシステムは Windows 10 でのみ利用可能であり、Windows Server バージョンでは利用できません。 WSL は、データベースとしての Redis など、一部の Linux サーバー アプリケーションを実行できますが、Linux サーバー アプリケーションをホストすることを目的としたものではありません。
Windows ファイル システム for Linux はどのようなファイル システムをサポートしていますか?
Linux 用 Windows サブシステムは、Windows ファイルとの相互運用性を提供しながら、Linux ファイル規則をサポートするために 2 つのファイル システムを採用しています。 VolFs と呼ばれるファイル システムは、Linux のアクセス許可、他のファイルへのリンク、Windows および Linux のディレクトリ構造では通常受け入れられない文字を含む名前などの Linux ファイル規則をサポートします。ただし、VolFs はそのファイルと Windows アプリケーション間の相互運用性をサポートしていませんが、DriveFs と呼ばれる別のファイル システムが相互運用性を提供し、合法的な Windows ファイル名を保証し、Windows セキュリティを強化し、大文字と小文字を区別するファイル名をサポートします。 DriveFs のディレクトリ構造により、ユーザーは Windows ツールまたは Linux ツールを同時にファイルに適用できます。
Microsoft Windows Subsystem for Linux (WSL) についての続きを読む
- Windows では、PowerShell と Bash の比較が興味深い
- Microsoft が Linux と Windows の間の壁を打ち破った理由
- Linux 用 Windows サブシステムの概要
- Linux 用 Windows サブシステムのインストールを実行する方法
- Windows Bash は、より多くの Linux ベースの攻撃への扉を開く可能性があります
IT 運用とインフラストラクチャ管理についてさらに深く掘り下げる
-
tmux セッションを使用してリモート接続を管理する方法
投稿者:デイモン・ガーン
-
Microsoft Windows 10 とは何ですか?
投稿者:ラーフル・アワティ
-
Windows ターミナル アプリを使用する利点に関するガイド
投稿者:アンソニー・ハウエル
-
PowerShell と Bash:主な違いについて説明
投稿者:ブライエン・ポージー
-
Mac コンピュータで RAR ファイルを開く方法
実生活であろうとデジタル世界であろうと、データを整理しておくためのベスト プラクティスは常にデータのアーカイブです。大量のデータを管理するには、特に電子メールで多くのファイルを添付して送信する必要がある場合、多くの手間と労力が必要です。 (はい、私たちは皆そこにいます) ファイルを圧縮して抽出するプロセスは簡単で、追加の特典としてファイルのサイズを圧縮します. これは技術の魔法と言えますが、ファイルのバッチを 1 つのファイル形式にまとめること以上に驚くべきことはありません。 Windows では、人気のある WinZip ツールを使用して、ファイルをすばやく圧縮および解凍できます。しかし
-
Defender Device Guard:アプリケーションのホワイトリストによる Windows 10 とサーバーの保護
投稿者 ケリー M. スチュワート 発行日:2023 年 4 月 26 日 Windows Defender Device Guard は、アプリケーションのホワイトリストとコード整合性ポリシーを使用して、オペレーティング システムを侵害する可能性のある悪意のあるコードからユーザーのデバイスを保護するように設計された Windows 10 および Windows Server のセキュリティ機能です。 Windows 10 で実行できるソフトウェアを決定するために IT 部門が作成するコード整合性ポリシーを使用すると、未知のアプリケーションまたは信頼できないアプリケーション、およ