Windows Subsystem for Linux の管理と構成Manage and configure Windows Subsystem for Linux

Windows 10 Fall Creators Update 以降に適用されます。Applies to Windows 10 Fall Creators Update and later. 新しい管理機能を試して、Microsoft Store から複数の Linux ディストリビューションの実行を開始するには、更新されたインストール ガイドを参照してください。See our updated installation guide to try new management features and start running multiple Linux distributions from the Microsoft store.

WSL を実行する方法Ways to run WSL

Windows Subsystem for Linux での Linux の実行には、さまざまな方法があります。There are many ways to run Linux with the Windows Subsystem for Linux.

  1. [distro]、例えば ubuntu[distro], for example ubuntu
  2. wsl.exe または bash.exewsl.exe or bash.exe
  3. wsl [command] または bash -c [command]wsl [command] or bash -c [command]

どの方法を使用すべきかは、作業内容によって異なります。Which method you should use depends on what you're doing.

ディストリビューションによって WSL を起動するLaunch WSL by distribution

ディストリビューション固有のアプリケーションを使用してディストリビューションを実行すると、そのディストリビューションが独自のコンソール ウィンドウで起動します。Running a distribution using it's distro-specific application launches that distribution in it's own console window.

[スタート] メニューからの WSL の起動

これは、Microsoft Store で [起動] をクリックすることと同じです。It is the same as clicking "Launch" in the Microsoft store.

Microsoft Store からの WSL の起動

[distribution].exe を実行して、コマンド ラインからディストリビューションを実行することもできます。You can also run the distribution from the command line by running [distribution].exe.

この方法でコマンド ラインからディストリビューションを実行すると、作業ディレクトリが現在のディレクトリからディストリビューションのホーム ディレクトリに自動的に変更されるという欠点があります。The disadvantage of running a distribution from the command line in this way is that it will automatically change your working directory from the current directory to the distribution's home directory.

例:Example:

PS C:\Users\sarah> pwd

Path
----
C:\Users\sarah

PS C:\Users\sarah> ubuntu

scooley@scooley-elmer:~$ pwd
/home/scooley
scooley@scooley-elmer:~$ exit
logout

PS C:\Users\sarah>

wsl および wsl [コマンド]wsl and wsl [command]

コマンド ラインから WSL を実行する最善の方法は、wsl.exe を使用することです。The best way to run WSL from the command line is using wsl.exe.

例:Example:

PS C:\Users\sarah> pwd

Path
----
C:\Users\sarah

PS C:\Users\sarah> wsl

scooley@scooley-elmer:/mnt/c/Users/sarah$ pwd
/mnt/c/Users/sarah

wsl は、現在の作業ディレクトリを適切に維持するだけでなく、1 つのコマンドを Windows コマンドとともに実行できます。Not only does wsl keep the current working directory in place, it lets you run a single command along side Windows commands.

例:Example:

PS C:\Users\sarah> Get-Date

Sunday, March 11, 2018 7:54:05 PM

PS C:\Users\sarah> wsl
scooley@scooley-elmer:/mnt/c/Users/sarah$ date
Sun Mar 11 19:56:57 DST 2018
scooley@scooley-elmer:/mnt/c/Users/sarah$ exit
logout

PS C:\Users\sarah> wsl date
Sun Mar 11 19:55:47 DST 2018

例:Example:

PS C:\Users\sarah> Get-VM

Name            State CPUUsage(%) MemoryAssigned(M) Uptime   Status
----            ----- ----------- ----------------- ------   ------
Server17093     Off   0           0                 00:00:00 Opera...
Ubuntu          Off   0           0                 00:00:00 Opera...
Ubuntu (bionic) Off   0           0                 00:00:00 Opera...
Windows         Off   0           0                 00:00:00 Opera...


PS C:\Users\sarah> Get-VM | wsl grep "Ubuntu"
Ubuntu          Off   0           0                 00:00:00 Opera...
Ubuntu (bionic) Off   0           0                 00:00:00 Opera...
PS C:\Users\sarah>

複数の Linux ディストリビューションの管理Managing multiple Linux Distributions

Windows 10 バージョン 1903 以降Windows 10 Version 1903 and later

wsl.exe を使用して、Windows Subsystem for Linux (WSL) のディストリビューションを管理できます。これには、使用可能なディストリビューションの一覧表示、既定のディストリビューションの設定、ディストリビューションのアンインストールが含まれます。You can use wsl.exe to manage your distributions in the Windows Subsystem for Linux (WSL), including listing available distributions, setting a default distribution, and uninstalling distributions.

各 Linux ディストリビューションは、個別に独自の構成を管理します。Each Linux distribution independently manages its own configurations. ディストリビューション固有のコマンドを確認するには、[distro.exe] /? を実行します。To see distribution-specific commands, run [distro.exe] /?. たとえば、ubuntu /? のように指定します。For example ubuntu /?.

ディストリビューションの一覧表示List distributions

wsl -lwsl --listwsl -l , wsl --list
WSL で利用可能な Linux ディストリビューションを一覧表示します。Lists available Linux distributions available to WSL. 一覧表示されているディストリビューションは、インストールされており、使用できる状態です。If a distribution is listed, it's installed and ready to use.

wsl --list --all
現在使用できないディストリビューションを含む、すべてのディストリビューションを一覧表示します。Lists all distributions, including ones that aren't currently usable. インストールのプロセス中、アンインストールのプロセス中、または破損した状態の可能性があります。They may be in the process of installing, uninstalling, or are in a broken state.

wsl --list --running
現在実行中のディストリビューションをすべて一覧表示します。Lists all distributions that are currently running.

既定のディストリビューションの設定Set a default distribution

既定の WSL ディストリビューションは、コマンド ラインで wsl を実行するときに実行されるものです。The default WSL distribution is the one that runs when you run wsl on a command line.

wsl -s <DistributionName>wsl --setdefault <DistributionName>wsl -s <DistributionName>, wsl --setdefault <DistributionName>

既定のディストリビューションを <DistributionName> に設定します。Sets the default distribution to <DistributionName>.

例:Example:
wsl -s Ubuntu の場合、既定のディストリビューションが Ubuntu に設定されます。wsl -s Ubuntu would set my default distribution to Ubuntu. これで、wsl npm init を実行すると、Ubuntu で実行されるようになります。Now when I run wsl npm init it will run in Ubuntu. wsl を実行すると、Ubuntu セッションが開きます。If I run wsl it will open an Ubuntu session.

ディストリビューションの登録解除と再インストールUnregister and reinstall a distribution

Linux ディストリビューションは Microsoft Store を介してインストールできますが、そのストアを介してアンインストールすることはできません。While Linux distributions can be installed through the Microsoft store, they can't be uninstalled through the store. WSL Config を使用すると、ディストリビューションの登録解除/アンインストールを行うことができます。WSL Config allows distributions to be unregistered/uninstalled.

登録を解除すると、ディストリビューションを再インストールすることもできます。Unregistering also allows distributions to be reinstalled.

注: 登録が解除されると、そのディストリビューションに関連付けられているすべてのデータ、設定、およびソフトウェアが完全に失われます。Caution: Once unregistered, all data, settings, and software associated with that distribution will be permanently lost. ストアから再インストールすると、ディストリビューションのクリーン コピーがインストールされます。Reinstalling from the store will install a clean copy of the distribution.

wsl --unregister <DistributionName>
ディストリビューションを再インストールまたはクリーンアップできるように、WSL からその登録が解除されます。Unregisters the distribution from WSL so it can be reinstalled or cleaned up.

たとえば、wsl --unregister Ubuntu の場合、WSL で使用可能なディストリビューションから Ubuntu が削除されます。For example: wsl --unregister Ubuntu would remove Ubuntu from the distributions available in WSL. wsl --list を実行すると、それは一覧に表示されません。When I run wsl --list it will not be listed.

再インストールするには、Microsoft Store でディストリビューションを見つけて、[起動] を選択します。To reinstall, find the distribution in the Microsoft store and select "Launch".

特定のユーザーとしての実行Run as a specific user

wsl -u <Username>wsl --user <Username>wsl -u <Username>, wsl --user <Username>

指定されたユーザーとして WSL を実行します。Run WSL as the specified user. ユーザーは WSL ディストリビューション内に存在する必要があることに注意してください。Please note that user must exist inside of the WSL distribution.

特定のディストリビューションの実行Run a specific distribution

wsl -d <DistributionName>wsl --distribution <DistributionName>wsl -d <DistributionName>, wsl --distribution <DistributionName>

WSL の指定したディストリビューションの実行は、既定値を変更する必要なしに、特定のディストリビューションにコマンドを送信するために使用できます。Run a specified distribution of WSL, can be used to send commands to a specific distribution without having to change your default.

Windows 10 バージョン 1903 より前のバージョンVersions Earlier than Windows 10 Version 1903

WSL Config (wslconfig.exe) は、Windows Subsystem for Linux (WSL) で実行されている Linux ディストリビューションを管理するためのコマンド ライン ツールです。WSL Config (wslconfig.exe) is a command-line tool for managing Linux distributions running on the Windows Subsystem for Linux (WSL). これにより、使用可能なディストリビューションの一覧表示、既定のディストリビューションの設定、およびディストリビューションのアンインストールを行うことができます。It lets you list available distributions, set a default distribution, and uninstall distributions.

WSL Config はディストリビューションにまたがる設定やそれらを調整する設定に役立ちますが、各 Linux ディストリビューションは個別に独自の構成を管理します。While WSL Config is helpful for settings that span or coordinate distributions, each Linux distribution independently manages its own configurations. ディストリビューション固有のコマンドを確認するには、[distro.exe] /? を実行します。To see distribution-specific commands, run [distro.exe] /?. たとえば、ubuntu /? のように指定します。For example ubuntu /?.

wslconfig で使用可能なオプションをすべて表示するには、wslconfig /? を実行します。To see all available options for wslconfig, run: wslconfig /?

wslconfig.exe
Performs administrative operations on Windows Subsystem for Linux

Usage:
    /l, /list [/all] - Lists registered distributions.
        /all - Optionally list all distributions, including distributions that
               are currently being installed or uninstalled.
    /s, /setdefault <DistributionName> - Sets the specified distribution as the default.
    /u, /unregister <DistributionName> - Unregisters a distribution.

ディストリビューションの一覧表示List distributions

wslconfig /list
WSL で利用可能な Linux ディストリビューションを一覧表示します。Lists available Linux distributions available to WSL. 一覧表示されているディストリビューションは、インストールされており、使用できる状態です。If a distribution is listed, it's installed and ready to use.

wslconfig /list /all
現在使用できないディストリビューションを含む、すべてのディストリビューションを一覧表示します。Lists all distributions, including ones that aren't currently usable. インストールのプロセス中、アンインストールのプロセス中、または破損した状態の可能性があります。They may be in the process of installing, uninstalling, or are in a broken state.

既定のディストリビューションの設定Set a default distribution

既定の WSL ディストリビューションは、コマンド ラインで wsl を実行するときに実行されるものです。The default WSL distribution is the one that runs when you run wsl on a command line.

wslconfig /setdefault <DistributionName>

既定のディストリビューションを <DistributionName> に設定します。Sets the default distribution to <DistributionName>.

例:Example:
wslconfig /setdefault Ubuntu の場合、既定のディストリビューションが Ubuntu に設定されます。wslconfig /setdefault Ubuntu would set my default distribution to Ubuntu. これで、wsl npm init を実行すると、Ubuntu で実行されるようになります。Now when I run wsl npm init it will run in Ubuntu. wsl を実行すると、Ubuntu セッションが開きます。If I run wsl it will open an Ubuntu session.

ディストリビューションの登録解除と再インストールUnregister and reinstall a distribution

Linux ディストリビューションは Microsoft Store を介してインストールできますが、そのストアを介してアンインストールすることはできません。While Linux distributions can be installed through the Microsoft store, they can't be uninstalled through the store. WSL Config を使用すると、ディストリビューションの登録解除/アンインストールを行うことができます。WSL Config allows distributions to be unregistered/uninstalled.

登録を解除すると、ディストリビューションを再インストールすることもできます。Unregistering also allows distributions to be reinstalled.

注: 登録が解除されると、そのディストリビューションに関連付けられているすべてのデータ、設定、およびソフトウェアが完全に失われます。Caution: Once unregistered, all data, settings, and software associated with that distribution will be permanently lost. ストアから再インストールすると、ディストリビューションのクリーン コピーがインストールされます。Reinstalling from the store will install a clean copy of the distribution.

wslconfig /unregister <DistributionName>
ディストリビューションを再インストールまたはクリーンアップできるように、WSL からその登録が解除されます。Unregisters the distribution from WSL so it can be reinstalled or cleaned up.

たとえば、wslconfig /unregister Ubuntu の場合、WSL で使用可能なディストリビューションから Ubuntu が削除されます。For example: wslconfig /unregister Ubuntu would remove Ubuntu from the distributions available in WSL. wslconfig /list を実行すると、それは一覧に表示されません。When I run wslconfig /list it will not be listed.

再インストールするには、Microsoft Store でディストリビューションを見つけて、[起動] を選択します。To reinstall, find the distribution in the Microsoft store and select "Launch".

WSL 起動設定の実行Set WSL launch settings

Windows Insider Build 17093 以降で使用可能Available in Windows Insider Build 17093 and later

wsl.conf を使用して、サブシステムを起動するたびに適用される、WSL の特定の機能を自動的に構成します。Automatically configure certain functionality in WSL that will be applied every time you launch the subsystem using wsl.conf.

現時点では、これには自動マウント オプションとネットワーク構成が含まれています。Right now, this includes automount options and network configuration.

wsl.conf は、/etc/wsl.conf 内の各 Linux ディストリビューションにあります。wsl.conf is located in each Linux distribution in /etc/wsl.conf. そのファイルがそこになければ、自分で作成できます。If the file is not there, you can create it yourself. WSL は、ファイルの存在を検出し、その内容を読み取ります。WSL will detect the existence of the file and will read its contents. ファイルが見つからないか、形式が正しくない (つまり、不適切なマークアップ形式である) 場合、WSL は通常どおりに起動を続けます。If the file is missing or malformed (that is, improper markup formatting), WSL will continue to launch as normal.

ディストリビューションに追加できる wsl.conf サンプル ファイルを次に示します。Here is a sample wsl.conf file you could add into your distros:

# Enable extra metadata options by default
[automount]
enabled = true
root = /windir/
options = "metadata,umask=22,fmask=11"
mountFsTab = false

# Enable DNS – even though these are turned on by default, we’ll specify here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true

構成オプションConfiguration Options

.ini 規則に従って、キーはセクションの下で宣言されます。In keeping with .ini conventions, keys are declared under a section.

WSL では、automountnetwork の 2 つのセクションがサポートされています。WSL supports two sections: automount and network.

automountautomount

セクション: [automount]Section: [automount]

keykey valuevalue 既定default notes
enabledenabled booleanboolean truetrue true にすると、固定ドライブ (つまり、true causes fixed drives (i.e C:/ またはD:/) は /mnt の下に DrvFs で自動的にマウントされます。C:/ or D:/) to be automatically mounted with DrvFs under /mnt. false にすると、ドライブは自動的にマウントされませんが、依然として手動または fstab を使用してマウントできます。false means drives won’t be mounted automatically, but you could still mount them manually or via fstab.
mountFsTabmountFsTab booleanboolean truetrue true にすると、WSL 開始時に処理されるように /etc/fstab を設定します。true sets /etc/fstab to be processed on WSL start. /etc/fstab は、SMB 共有などの他のファイル システムを宣言できるファイルです。/etc/fstab is a file where you can declare other filesystems, like an SMB share. そのため、起動時にこれらのファイル システムを WSL 内で自動的にマウントできます。Thus, you can mount these filesystems automatically in WSL on start up.
rootroot StringString /mnt/ 固定ドライブが自動的にマウントされるディレクトリを設定します。Sets the directory where fixed drives will be automatically mounted. たとえば、/windir/ に WSL のディレクトリがあり、それをルートとして指定すると、固定ドライブは /windir/c でマウントされることが予想されます。For example, if you have a directory in WSL at /windir/ and you specify that as the root, you would expect to see your fixed drives mounted at /windir/c
オプションoptions 値のコンマ区切りのリストcomma-separated list of values 空の文字列empty string この値は、既定の DrvFs マウント オプション文字列に追加されます。This value is appended to the default DrvFs mount options string. DrvFs 固有のオプションのみを指定できます。Only DrvFs-specific options can be specified. マウント バイナリが通常、フラグに解析するオプションはサポートされていません。Options that the mount binary would normally parse into a flag are not supported. これらのオプションを明示的に指定する場合は、それを行う対象のドライブすべてを /etc/fstab に含める必要があります。If you want to explicitly specify those options, you must include every drive for which you want to do so in /etc/fstab.

既定では、WSL は uid と gid を既定のユーザーの値に設定します (Ubuntu ディストリビューションでは、既定のユーザーは uid = 1000、gid = 1000 で作成されます)。By default, WSL sets the uid and gid to the value of the default user (in Ubuntu distro, the default user is created with uid=1000,gid=1000). ユーザーがこのキーを使用して gid または uid オプションを明示的に指定した場合、関連する値は上書きされます。If the user specifies a gid or uid option explicitly via this key, the associated value will be overwritten. それ以外の場合は、既定値が常に追加されます。Otherwise, the default value will always be appended.

注: これらのオプションは、自動的にマウントされたドライブすべてのマウント オプションとして適用されます。Note: These options are applied as the mount options for all automatically mounted drives. 特定のドライブのみのオプションを変更するには、代わりに /etc/fstab を使用します。To change the options for a specific drive only, use /etc/fstab instead.

マウント オプションMount options

Windows ドライブ (DrvFs) にさまざまなマウント オプションを設定すると、Windows ファイルのファイルのアクセス許可を計算する方法を制御できます。Setting different mount options for Windows drives (DrvFs) can control how file permissions are calculated for Windows files. 次のオプションが使用できます。The following options are available:

KeyKey 説明Description DefaultDefault
uiduid すべてのファイルの所有者に使用するユーザー IDThe User ID used for the owner of all files WSL ディストリビューションの既定のユーザー ID (初回インストールの場合、既定値は 1000)The default User ID of your WSL distro (On first installation this defaults to 1000)
gidgid すべてのファイルの所有者に使用するグループ IDThe Group ID used for the owner of all files WSL ディストリビューションの既定のグループ ID (初回インストールの場合、既定値は 1000)The default group ID of your WSL distro (On first installation this defaults to 1000)
umaskumask すべてのファイルとディレクトリに対して除外するアクセス許可の 8 進数のマスクAn octal mask of permissions to exclude for all files and directories 000000
fmaskfmask すべてのファイルに対して除外するアクセス許可の 8 進数のマスクAn octal mask of permissions to exclude for all files 000000
dmaskdmask すべてのディレクトリに対して除外するアクセス許可の 8 進数のマスクAn octal mask of permissions to exclude for all directories 000000

注: アクセス許可のマスクは、ファイルまたはディレクトリに適用される前に論理 OR 演算によって配置されます。Note: The permission masks are put through a logical OR operation before being applied to files or directories.

ネットワークnetwork

セクションのラベル: [network]Section label: [network]

keykey valuevalue 既定default notes
generateHostsgenerateHosts booleanboolean true true にすると、/etc/hosts を生成するように WSL を設定します。true sets WSL to generate /etc/hosts. hosts ファイルには、IP アドレスに対応するホスト名の静的マップが含まれています。The hosts file contains a static map of hostnames corresponding IP address.
generateResolvConfgenerateResolvConf booleanboolean true true にすると、/etc/resolv.conf を生成するように WSL を設定します。true set WSL to generate /etc/resolv.conf. resolv.conf には、指定されたホスト名をその IP アドレスに解決できる DNS リストが含まれています。The resolv.conf contains a DNS list that are capable of resolving a given hostname to its IP address.

interopinterop

セクションのラベル: [interop]Section label: [interop]

次のオプションは、Insider Build 17713 以降で使用できます。These options are available in Insider Build 17713 and later.

keykey valuevalue 既定default notes
enabledenabled booleanboolean true このキーの設定により、WSL で Windows プロセスの起動をサポートするかどうかが決まります。Setting this key will determine whether WSL will support launching Windows processes.
appendWindowsPathappendWindowsPath booleanboolean true このキーの設定により、WSL が Windows パス要素を $PATH 環境変数に追加するかどうかが決まります。Setting this key will determine whether WSL will add Windows path elements to the $PATH environment variable.