Linux 用 Windows サブシステムに関するよく寄せられる質問Frequently Asked Questions about Windows Subsystem for Linux

Windows Subsystem for Linux (WSL) とは何ですか。What is Windows Subsystem for Linux (WSL)?

Windows Subsystem for Linux (WSL) は、Windows 10 の新機能を使用すると、Windows 上で直接ネイティブの Linux コマンド ライン ツールを実行、と共に、従来の Windows デスクトップおよび最新のストア アプリです。The Windows Subsystem for Linux (WSL) is a new Windows 10 feature that enables you to run native Linux command-line tools directly on Windows, alongside your traditional Windows desktop and modern store apps.

参照してください、ページに関するの詳細。See the about page for more details.

用の WSL は誰ですか。Who is WSL for?

これは、主に開発者--特に web 開発者と人とでまたはオープン ソース プロジェクトの作業のツールです。This is primarily a tool for developers -- especially web developers and those who work on or with open source projects. これによりする/、Bash、Linux の一般的なツールを使用する必要がある人 (sedawkなど) と多くの Linux 最初ツール (Ruby、Python など) で Windows のツール チェーンを使用します。This allows those who want/need to use Bash, common Linux tools (sed, awk, etc.) and many Linux-first tools (Ruby, Python, etc.) to use their toolchain on Windows.

WSL では、どうすればでしょうか。What can I do with WSL?

WSL では、アプリケーションと呼ばれる Bash.exe、起動するが開き、Bash シェルを実行する Windows コンソールを提供します。WSL provides an application called Bash.exe that, when started, opens a Windows console running the Bash shell. Bash を使用して、Linux のコマンド ライン ツールとアプリを実行できます。Using Bash, you can run command-line Linux tools and apps. たとえば、「lsb_release -aし、enter キーを押します。 現在実行されている Linux ディストリビューション詳細が表示されます。For example, type lsb_release -a and hit enter; you’ll see details of the Linux distro currently running:

ディストリビューションの詳細のスクリーン ショット

Linux の Bash シェル内からローカル コンピューターのファイル システムにもアクセスできます: ローカル ドライブでマウントされていることがわかります、/mntフォルダー。You can also access your local machine’s filesystem from within the Linux Bash shell – you’ll find your local drives mounted under the /mnt folder. たとえば、C:下ドライブがマウントされて/mnt/c:For example, your C: drive is mounted under /mnt/c:

マウントの C ドライブのスクリーン ショット

Bash とは何ですか。What is Bash?

Bashは、一般的なテキスト ベースのシェルおよびコマンド言語。Bash is a popular text-based shell and command-language. Ubuntu およびその他の Linux ディストリビューション内および macOS に含まれる既定のシェルになります。It is the default shell included within Ubuntu and other Linux distros, and in macOS. ユーザーは、スクリプトを実行したり、多くのタスクを実行するには、コマンドとツールを実行するシェルにコマンドを入力します。Users type commands into a shell to execute scripts and/or run commands and tools to accomplish many tasks.

この処理のしくみHow does this work?

チェック アウト、ブログ基になるテクノロジについての詳細を参照してください。Check out our blog where we go into detail about the underlying technology.

使用する理由を Linux ではなく、WSL vm ですか。Why would I use WSL rather than Linux in a VM?

WSL では、完全な仮想マシンよりも少ないリソース (CPU、メモリ、および記憶域) が必要です。WSL requires fewer resources (CPU, memory, and storage) than a full virtual machine. また、WSL では、アプリと共に、Windows コマンドライン、デスクトップ アプリとストア アプリ、および Linux コマンド ライン ツールを実行して、Linux 内から Windows ファイルにアクセスすることもできます。WSL also allows you to run Linux command-line tools and apps alongside your Windows command-line, desktop and store apps, and to access your Windows files from within Linux. これにより、希望する場合、同じファイルのセットでアプリを Windows および Linux コマンド ライン ツールを使用することができます。This enables you to use Windows apps and Linux command-line tools on the same set of files if you wish.

使用する理由をたとえば、Windows 上の代わりに Linux で Ruby でしょうか。Why would I use, for example, Ruby on Linux instead of on Windows?

Linux のように実行される環境が動作すると仮定すると、いくつかのクロス プラットフォーム ツールを構築しました。Some cross-platform tools were built assuming that the environment in which they run behaves like Linux. たとえば、いくつかのツールは、非常に長いファイル パスにアクセスできるか、特定のファイル/フォルダーが存在するとします。For example, some tools assume that they are able to access very long file paths or that specific files/folders exist. 多くの場合、問題が生じます動作では多くの場合、Windows の異なる方法で Linux から。This often causes problems on Windows which often behaves differently from Linux.

Ruby とノードのような多くの言語は多くの場合、移植し、優れた、Windows 上で実行します。Many languages like Ruby and node are often ported to, and run great, on Windows. ただし、ポート、Windows をサポートするために、ライブラリのすべての Ruby Gem またはノード/NPM ライブラリの所有者と、Linux 固有の依存関係を持つ多くします。However, not all of the Ruby Gem or node/NPM library owners port their libraries to support Windows, and many have Linux-specific dependencies. このようなツールとライブラリのビルドと場合によっては実行時エラーまたは Windows 上の望ましくない動作の影響を受けてを使用して構築されたシステムでその多くの場合、結果します。This can often result in systems built using such tools and libraries suffering from build and sometimes runtime errors or unwanted behaviors on Windows.

これらは、Windows のコマンド ライン ツールとどのようなネイティブ Bash および Linux コマンド ライン ツールを Windows 上で実行を有効にする Canonical によるパートナーを推進したほかを向上させるために Microsoft に依頼する多くの人々 を原因となった問題の一部です。These are just some of issues that caused many people to ask Microsoft to improve Windows’ command-line tools and what drove us to partner with Canonical to enable native Bash and Linux command-line tools to run on Windows.

これはどういう PowerShell のでしょうか。What does this mean for PowerShell?

OSS プロジェクトで作業中には、PowerShell から Bash にドロップすると非常に便利なさまざまなシナリオがプロンプトです。While working with OSS projects, there are numerous scenarios where it’s immensely useful to drop into Bash from a PowerShell prompt. Bash のサポートは、補完的な人気のあるその他のテクノロジを活用するには、PowerShell と PowerShell コミュニティを許可する Windows 上のコマンドラインの値を強化します。Bash support is complementary and strengthens the value of the command-line on Windows, allowing PowerShell and the PowerShell community to leverage other popular technologies.

詳細については、PowerShell チームのブログ - Bash for Windows:すばらしいことが理由と、PowerShell の意味Read more on the PowerShell team blog -- Bash for Windows: Why it’s awesome and what it means for PowerShell

WSL では、すべての Linux アプリを実行できますか。Can I run ALL Linux apps in WSL?

違います!No! WSL は、Bash を実行し、Windows 上の Linux コマンド ライン ツールのコアする必要があるユーザーの有効化を目的としたツールです。WSL is a tool aimed at enabling users who need them to run Bash and core Linux command-line tools on Windows.

WSL はいないGUI デスクトップまたはアプリケーション (例: Gnome、KDE など) をサポートする目的WSL does not aim to support GUI desktops or applications (e.g. Gnome, KDE, etc.)

また、たとえできなく多くの人気のあるサーバー アプリケーションを実行する (例: Redis)、運用環境のサービスをホストするため WSL お勧めしません – Microsoft はさまざまな Azure では、実稼働 Linux ワークロードを実行するためのソリューションを提供、HYPER-V、および Docker。Also, even though you will be able to run many popular server applications (e.g. Redis), we do not recommend WSL for hosting production services – Microsoft offers a variety of solutions for running production Linux workloads in Azure, Hyper-V, and Docker.

どのような Windows Sku が WSL には含まれますか。What Windows SKUs is WSL included in?

Windows Subsystem for Linux は、Windows 10 Anniversary の Windows と Creators update 以降のデスクトップ バージョンで利用できます。Windows Subsystem for Linux is available on the desktop version of Windows for Windows 10 Anniversary and Creators update or later.

以降で Fall Creators update WSL は Sku の Windows デスクトップおよびサーバーの両方で提供されます。Beginning in the Fall Creators update WSL will be available on both the desktop and server SKUs of Windows.

WSL はどのようなプロセッサをサポートしますか。What processors does WSL support?

WSL では、x64 と ARM Cpu をサポートします。WSL supports x64 and ARM CPUs.

C: ドライブをアクセスする方法はありますかHow do I access my C: drive?

ローカル コンピューターのハード ドライブのマウント ポイントが自動的に作成し、Windows ファイル システムに簡単にアクセスを提供します。Mount points for hard drives on the local machine are automatically created and provide easy access to the Windows filesystem.

/mnt/<ドライブ文字 >//mnt/<drive letter>/

使用例cd /mnt/cc:\ にアクセスするにはExample usage would be cd /mnt/c to access c:</span>

Linux アプリと Windows ファイルを使用する方法How do I use a Windows file with a Linux app?

WSL の利点の 1 つは、Windows と Linux の両方のアプリまたはツールを使用して、ファイルにアクセスできることです。One of the benefits of WSL is being able to access your files via both Windows and Linux apps or tools.

WSL が コンピューターの固定ドライブをマウント、 /mnt/<drive> Linux ディストリビューションでのフォルダー。WSL mounts your machine's fixed drives under the /mnt/<drive> folder in your Linux distros. たとえば、C:下ドライブがマウントされて /mnt/c/For example, your C: drive is mounted under /mnt/c/

マウントされたドライブを使用して、コードを編集できます、たとえば、C:\dev\myproj\を使用してVisual Studio /またはVS Codeとを使用して同じファイルにアクセスして Linux では、そのコードのビルドおよびテスト/mnt/c/dev/myprojします。Using your mounted drives, you can edit code in, for example, C:\dev\myproj\ using Visual Studio / or VS Code, and build/test that code in Linux by accessing the same files via /mnt/c/dev/myproj.

重要な注意事項:WSL を使用する主な制限事項の 1 つは、直接へのアクセスまたは変更する、Windows アプリケーションやツールを使用して Linux ディストリビューションのファイル システム内のファイルがサポートされていないことです。IMPORTANT NOTE: One of the key limitations of using WSL is that directly accessing/changing files in your Linux distros' filesystem using Windows apps or tools is not supported. 参照トピックWindows アプリケーションおよびツールを使用して Linux ファイルを変更しないでください。See: Do not change Linux files using Windows apps and tools

Windows のマウントされたドライブからさまざまな Linux ドライブにファイルがでしょうか。Are files in the Linux drive different from the mounted Windows drive?

  1. Linux ルートの下のファイル (つまり/) を含むこれらに限定されませんが、Linux 特定の動作を模倣 WSL によって制御されます。Files under the Linux root (i.e. /) are controlled by WSL which mimics Linux specific behavior, including but not limited to:

    • 無効な Windows ファイル名の文字が含まれるファイルFiles which contain invalid Windows filename characters
    • 管理者以外のユーザー用に作成されたシンボリック リンクSymlinks created for non-admin users
    • Chmod、chown によるファイルの属性を変更します。Changing file attributes through chmod and chown
    • ファイル/フォルダー大文字小文字の区別File/folder case sensitivity
  2. マウントされたドライブ内のファイルは、Windows によって制御され、次の動作します。Files in mounted drives are controlled by Windows and have the following behaviors:

    • 大文字小文字の区別をサポートします。Support case sensitivity
    • すべてのアクセス許可が最適な Windows のアクセス許可を反映するように設定されます。All permissions are set to best reflect the Windows permissions

なぜエラーがある非常に多く apt-get とアップグレードを実行するとしますか。Why are there so many errors when I run apt-get upgrade?

一部のパッケージはまだ実装されていない機能を使用します。Some packages use features that we haven't implemented yet. udev、たとえば、はまだサポートされていません、いくつかの原因apt-get upgradeエラー。udev, for example, isn't supported yet and causes several apt-get upgrade errors.

関連する問題を修正するudev、次の手順に従います。To fix issues related to udev, follow the following steps:

  1. 次のコードを記述/usr/sbin/policy-rc.dして変更を保存します。Write the following to /usr/sbin/policy-rc.d and save your changes.

    #!/bin/sh
    exit 101
    
  2. 追加するアクセス許可を実行 /usr/sbin/policy-rc.dAdd execute permissions to /usr/sbin/policy-rc.d

    chmod +x /usr/sbin/policy-rc.d
    
  3. 次のコマンドを実行しますRun the following commands

    dpkg-divert --local --rename --add /sbin/initctl
    ln -s /bin/true /sbin/initctl
    

WSL 配布のアンインストール方法How do I uninstall a WSL Distribution?

ビルド 1709 (16299) オープンする前に、コマンド プロンプトし実行します。On builds prior to 1709 (16299) open a command prompt and run:

lxrun /uninstall /full

アプリのタイルを右クリックし、[アンインストール] をクリックすると、または PowerShell を使用して他の Windows アプリのようなストアからインストール WSL ディストリビューションをアンインストールする、 Remove-AppxPackageコマンドレットします。WSL distributions installed from the store can be uninstalled like any other Windows app, by right-clicking on the app tile and clicking Uninstall, or via PowerShell using the Remove-AppxPackage cmdlet.

Ping が権限拒否エラーを生成する理由Why does ping generate permission denied errors?

WSL で構築されます < 14926、ping WSL を管理者特権でのコンソールを使用して実行するために必要な。In WSL builds < 14926, ping required WSL to run via an elevated Console. 14926 のビルド以降、この問題が修正されました。This issue was fixed in Build 14926 and later.

OpenSSH server を実行する方法はありますかHow do I run an OpenSSH server?

WSL で OpenSSH を実行するには、Windows で管理者特権が必要です。Administrator privileges in Windows are required to run OpenSSH in WSL. OpenSSH server を実行するには、Ubuntu 上で管理者は、Windows で Bash を実行または bash.exe を管理者特権での CMD または PowerShell プロンプトから実行します。To run an OpenSSH server, run Bash on Ubuntu on Windows as an administrator, or run bash.exe from a CMD/PowerShell prompt with administrator privileges.

なぜ"エラー。0x80040306"をインストールしようとするとしますか?Why do I get "Error: 0x80040306" when I try to install?

WSL では、従来のコンソールで実行することはできません。WSL does not support running in a legacy console. 従来のコンソールをオフにするには。To turn off legacy console:

  1. WSL、PowerShell、または Cmd を開きますOpen WSL, PowerShell, or Cmd
  2. タイトルを右クリックしてバー]-> [プロパティ]、[「従来のコンソールを使用して」をオフにしますRight click title bar -> Properties -> Uncheck "Use legacy console"
  3. [OK] をクリックします。Click OK

なぜ"エラー。0x80040154"Windows をアップグレードした後 bash.exe を実行するとしますか?Why do I get "Error: 0x80040154" when I run bash.exe after upgrading Windows?

"Linux 用 Windows サブシステム"機能が無効になっている Windows の更新中にします。The "Windows Subsystem for Linux" feature may be disabled during a Windows update. このような場合、Windows の機能が再度有効にする必要があります。If this happens the Windows feature must be re-enabled. "Linux 用 Windows サブシステム"機能を有効にする手順が記載されて、[インストール ガイド](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide#enable-the-windows-subsystem-for-linux-feature-gui https://msdn.microsoft.com/en-us/commandline/wsl/install_guide#enable-the-windows-subsystem-for-linux-feature-gui)します。Instructions for enabling the "Windows Subsystem for Linux" feature can be found in the Installation Guide.

WSL の表示言語を変更する方法はありますかHow do I change the display language of WSL?

WSL インストールは自動的に Windows インストールのロケールに一致するように Ubuntu ロケールを変更しようとします。WSL install will try to automatically change the Ubuntu locale to match the locale of your Windows install. この動作したくない場合は、インストールが完了した後は、Ubuntu ロケールを変更するには、このコマンドを実行できます。If you do not want this behavior you can run this command to change the Ubuntu locale after install completes. この変更を有効にする bash.exe を再起動する必要があります。You will have to relaunch bash.exe for this change to take effect.

次の例のロケールを EN-US に変更します。The below example changes to locale to en-US:

sudo update-locale LANG=en_US.UTF8

理由はアクセスできないインターネット WSL からでしょうか。Why do I not have internet access from WSL?

一部のユーザーには、WSL でインターネット アクセスをブロックする特定のファイアウォール アプリケーションで問題が報告します。Some users have reported issues with specific firewall applications blocking internet access in WSL. 報告されるファイアウォールは次のとおりです。The firewalls reported are:

  1. KasperskyKaspersky
  2. AVGAVG
  3. AvastAvast

場合によっては、ファイアウォールを無効にすることに対するアクセス許可します。In some cases turning off the firewall allows for access. アクセスをブロックするには、場合によっては、ファイアウォールをインストールしているだけで検索します。In some cases simply having the firewall installed looks to block access.

ポートを Windows で WSL からアクセスする方法How do I access a port from WSL in Windows?

WSL は、Windows で実行されているように、Windows の IP アドレスを共有します。WSL shares the IP address of Windows, as it is running on Windows. 例: localhost 上の任意のポートをアクセスするようポート 1234 できますで web コンテンツをした https://localhost:1234Windows ブラウザーにします。As such you can access any ports on localhost e.g. if you had web content on port 1234 you could https://localhost:1234 into your Windows browser.

フィードバックを提供する場所は?Where can I provide feedback?

フィードバックを共有し、複数のチャネルを通じてに関する質問をしたりできます。フィードバックや質問が表示する必要があります。You can share feedback and ask questions through multiple channels: Feedback and questions should be directed to: