kledgeb UbuntuやLinuxの最新情報を紹介

WSL その131 - Build 17093のWSLに関する変更点・UNIXソケットによる相互運用の改善とWSLの自動設定機能の追加

Build 17093のWSLとコンソールに関する変更点

2018年2月7日にリリースされた「Build 17093」の「WSL」に関する変更の紹介です。


WSLとは

「WSL」は、「Windows」上でLinuxバイナリーを動作させるための仕組みです。
「Windows」上で「Ubuntu」や「openSUSE」などLinux環境を構築し、「Windows」からLinuxの実行ファイルを利用することができます。

「WSL」及びLinuxディストリビューションのインストール方法は、以下を参照してください。

  • WindowsストアからUbuntuをインストールするには
  • WindowsストアからopenSUSE Leap 42をインストールするには 
  • WindowsストアからSUSE Linux Enterprise Server 12をインストールするには 
  • Windows Server 2016にUbuntuをインストールするには

リリースノート

変更点の詳細は、リリースノートを参照してください。

  • Release Notes

今回コンソールに関する変更点はありません。

注意事項

本ビルドでは、Linuxファイルシステムのディレクトリーをアップグレードする必要があり、各ディストリビューション起動時にこの処理が行われます。
この処理が行われるのは一度だけですが、各ディストリビューションの初回起動時にシェルが起動するまで数分かかる可能性があります。

WSLの機能の改善や変更

「WSL」に関する機能の改善や変更です。

1.DrvFsの大文字・小文字区別のサポート改善

「DrvFs」は、ディレクトリーごとに大文字・小文字の区別の有無を識別するフラグを設定できるようになりました。
このフラグは各ディレクトリーごとに設定でき、このフラグが指定されたディレクトリー内に対するすべての操作は、大文字・小文字の区別が行われるようになります。

またこのフラグが指定されたディレクトリーは、Windowsアプリも大文字・小文字を区別するようになります。

さてこのフラグは、「WSL(Linux)」からディレクトリーを作成した時に自動的に設定されます。
またこの機能は本ビルドで搭載された機能であるため、以前のビルドで「WSL(Linux)」から作成したディレクトリーにはこのフラグが設定されていません。

今後既存のディレクトリーに対しフラグを設定する方法が紹介される予定です。

マウントオプション

この機能を制御するマウントオプションが追加されました。
以下のオプションを指定することで、このフラグの扱いや大文字・小文字の区別に関する振る舞いを制御することができます。

マウント
オプション
説明
case=force フラグの有無に関わらず、すべてのディレクトリーで大文字・小文字を区別します。
また「WSL(Linux)」からディレクトリーを作成すると、フラグを設定します。
case=dir フラグが設定されているディレクトリーは大文字・小文字を区別し、フラグが設定されていないディレクトリーは大文字・小文字を区別しません。
また「WSL(Linux)」からディレクトリーを作成すると、フラグを設定します。
case=off フラグが設定されているディレクトリーは大文字・小文字を区別し、フラグが設定されていないディレクトリーは大文字・小文字を区別しません。
また「WSL(Linux)」からディレクトリーを作成しても、フラグを設定しません。

このマウントオプションを指定せず「DrvFS」のボリュームをマウントした場合は、「case=force」が指定されたものとして扱われます。
ただし将来のビルドでは、「case=dir」がデフォルトになる予定です。

マウントオプションは、以下のように指定します。

sudo mount -t drvfs C: /mnt/c -o case=dir

2.DrvFSのボリュームマウント時、パスにスラッシュが利用可能に

「DrvFs」のボリュームマウント時、以下のようにパスに「/」を利用できるようになりました。

sudo mount -t drvfs //server/share /mnt/share

3./etc/fstabが利用可能に

「WSL」インスタンス起動時、つまり「Linux」起動時に「/etc/fstab」を解釈し、記述されているボリュームをマウントできるようになりました。

「/etc/fstab」の処理は「DrvFs」ボリュームの自動マウントよりも優先されます。
つまり自動マウント対象のボリュームが「/etc/fstab」に指定されている場合、「/etc/fstab」の内容が優先され、そのボリュームの自動マウント処理がスキップされます。

これにより特定の「DrvFs」ボリュームのみ異なる場所にマウントするなど、自動マウントとは異なる処理を指定できるようになりました。

「/etc/fstab」の解釈は、「wsl.conf」で無効にすることも可能です。

  • WSL起動時に各種設定を自動的に適用可能に

これにより改善する問題は、以下を参照してください。

  • Automount additonal filesystems from fstab

4.DrvFs内に作成したスペシャルファイルをWindowsから操作可能に

「DrvFs」のメタデータが有効になっている時に、WSLのシンボリックリンクやFIFO、ソケットなど「WSL」から作成したスペシャルファイルを、「Windows」からコピーしたり移動できるようになりました。

5.WSL起動時に各種設定を自動的に適用可能に

「WSL」起動時に各種設定を自動的に適用する仕組みが導入されました。
詳細は以下を参照してください。

  • WSL起動時に各種設定を自動的に適用可能に

6.WindowsとWSL間でUNIXソケットを利用した通信が可能に

「Windows」と「WSL」間でUNIXソケットを利用した通信が可能になりました。
詳細は以下を参照してください。

  • WindowsとWSL間でUNIXソケットを利用した通信が可能に

7.mmapがMAP_NORESERVEをサポート

「mmap」が「MAP_NORESERVE」をサポートしました。
これにより改善する問題は、以下を参照してください。

  • ASAN doesn't work
  • large mmap() with MAP_NORESERVE fails unless overcommit_memory is 1 

8.CLONE_PTRACE及びCLONE_UNTRACEDのサポート

「CLONE_PTRACE」及び「CLONE_UNTRACED」がサポートされました。
これにより改善する問題は、以下を参照してください。

  • ASAN doesn't work
  • clone() fails with CLONE_UNTRACED or without SIGCHLD

9.max_user_instancesとmax_user_watchesのスタブ実装

以下のファイル(スタブ実装)が提供されました。

  • /proc/sys/fs/inotify/max_user_instances
  • /proc/sys/fs/inotify/max_user_watches

これにより改善する問題は、以下を参照してください。

  • Inotify Watches Limit

10.イメージ読み込み時、ページ末尾のバイトを0で埋める

イメージ読み込み時、ページ末尾のバイトを0で埋める用に修正されました。

11.execveが無言でプロセスを終了するケースの改善

「execve」が無言でプロセスを終了するケースを減らしました。

WSLの不具合修正

「WSL」に関する不具合の修正です。

1.mount/mountinfo/mountstatsファイルの修正

「/proc 」内にある以下のファイルの内容は、バックスラッシュのような特殊文字を適切にエスケープするように修正されました。

  • mount
  • mountinfo
  • mountstats

これにより改善する問題は、以下を参照してください。

  • Inconsistent/non-Unixy representation of mounted network share with space in name

2.SIGCHLDがなくてもcloneが動作するように修正

「SIGCHLD」がなくても「clone」が動作するように修正されました。
これにより改善する問題は、以下を参照してください。

  • ASAN doesn't work
  • clone() fails with CLONE_UNTRACED or without SIGCHLD

3.オフセットされたload headerを含むELFバイナリーのロードに失敗する問題の修正

オフセットされたload headerを含むELFバイナリーのロードに失敗する問題が修正されました。
これにより改善する問題は、以下を参照してください。

  • Unable to run compiled binary

WSL
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.10 その35 - RISC-V 向け Ubuntu Desktop 登場
    RISC-V 向け Ubuntu Desktop 登場 Ubuntu Desktop 26.10 では、RISC-V 向けデスクトップイメージがリリースされます。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.10 その40 - Ubuntu Desktop 26.10 の注目機能
    Ubuntu Desktop 26.10  の注目機能 Ubuntu Desktop 26.10  の注目機能を紹介します。
記事のピックアップ
オプション