このページの本文へ

前へ 1 2 次へ

Windows Info 第262回

WSL2の2つの設定ファイル「.wslconfig」と「wsl.conf」

2021年02月14日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

「.wslconfig」をもう少し深掘りする

 「.wslconfig」は、前述したようにWSL2の振る舞いを指定するためのファイルだ。WSL2というよりは、それを動かす「軽量ユーティリティ仮想マシン」の設定をするものと言った方がいいかもしれない。

 ファイルの構造としては、過去にWindowsでよく使われていたiniファイルに似ている。

「.wslconfig」は、レジストリ導入以前に利用されていたiniファイル形式によく似た構造を持つ。角カッコでセクション名を囲んで指定し、キーと設定値を"="で区切って1行に記述していく

 角カッコを使ったセクションの指定に続く行で、「パラメーター名=値」という行形式で設定を行う。パラメーター名としては、以下の表のようなものがある。

 表の後半にある2つの項目は、現時点では、Windows Insider ProgramのDev Channelで配布されているプレビュー版でのみ有効である。このファイルを書き換える前には、すべてのWSL2ディストリビューションを停止させておく必要がある。それには、

wsl.exe --shutdown

を実行する。

 また、ここでは、カーネルのパスなども指定できるため、その変更には注意が求められる。もっとも、このファイルはなくてもWSL2は起動するので、最悪の場合にはファイル自体を一旦削除すればいいだろう。

 実際に「.wslconfig」を作って動作を試してみた。この設定をする前に、メモリ状態を表示するfreeコマンドや/proc/cmdline(カーネル起動オプション)、/proc/cpuinfo(プロセッサ情報)を表示させ、「.wslconfig」を編集したあとの実行状態が下の画面だ。指定どおりにコア数やメモリ量が変化しており、カーネルの起動オプションも追加されている。

WSL2内でfreeコマンドなどで設定値を確認しているもの。「.wslconfig」で指定することで、メモリ量、プロセッサ数、カーネル起動オプションの追加などができる

「wsl.confファイル」では
ディストリビューション起動時の設定などを変えられる

 一方の「wsl.conf」は、wslディストリビューションごとの設定を記述する。この設定ファイルは、WSL当初からあり、WSL2だけでなくWSL1でも有効だ。このファイルは、WSLディストビューションのファイルシステム(DrvFs内)の/etc/ディレクトリにある。

 このファイルでは、ディストリビューション起動時の自動マウントやDrvFsのルートフォルダー、WSLの自動ログインユーザー名などを設定できる。キーなどを以下の表に示す。やはり構造はiniファイルに似ている。

 なお、このファイルはシステムの設定ファイルなので、書き換えにはroot権限が必要だ。たとえば、

sudo vi /etc/wsl.conf

などとして、管理者権限を使って編集する必要がある。読み出しは一般ユーザーでも可能なのだが、エディターでの編集後、書き込むことができない。

 こちらの設定は、WSLディストリビューションであるLinuxの挙動を変更するものなので、設定値もLinux様式だ。デフォルトのままでほとんど問題ないが、「[automount] 」セクションの「root」キーを使うと、WSL側から見えるwin32側ファイルシステム(DrvFs)のマウントパスを標準の「/mnt」から別の場所に変更することもできる。

 ただし、Linuxのマウントでは、存在しているディレクトリを指定する必要があるため、変更時には、あらかじめ該当のディレクトリを作成しておかないといけない。

 現在のDev Channelのプレビュー版では、WSLディストリビューションの起動時に自動実行するコマンドを指定することができる。「[boot]」セクションの「command」キーに起動したいコマンドを記述しておくと、該当のディストリビューションが起動したときに自動的にコマンドを起動できる(これを自動実行コマンドと表記する)。

 本来、こうした処理は、Linuxのinit.dなどがしていたが、クライアント利用を想定したWSLでは、init.dなどのデーモン(バックグラウンドで動作するプログラム、Windowsのサービスに相当するもの)起動などの仕組みは省かれている。しかし、WSL2になり、高度な利用が増えてきたため、こうした機能が追加されたようだ。

 自動実行コマンドは、停止中のWSLが起動したときのみ実行される。バックグラウンドでWSLが動作している間は、wsl.exeなどでWSLディストリビューションを起動しても、コマンドは実行されない。WSLは、接続しているセッションがなくなり、動作しているプログラムがなければ、一定時間後に停止するようになっている。

 終了までに遅延時間が設けられているのは、続けてWSLを起動するときの時間を短縮するためだろう。たとえば、コマンドラインのパイプラインでwsl.exeを使うと、Linuxコマンドを実行しては抜け、再度WSLを実行するというパターンになると考えられる。このような場合にコマンド実行時間を短縮するため、すぐにはプロセスを停止しないようになっていると思われる。

 実際に試してみたところ、この起動コマンドは、rootが実行しているようだ。

自動実行コマンドは、停止していたWSLディストリビューションが起動したときにのみ実行され、root権限を用いている

 ユーザーログイン時のコマンド実行には、bashなどのログインスクリプトも使えるが、実行はユーザー権限となり、自動実行コマンドとは挙動が変わる。このため、起動時に実行権限が問題になることはないと思われるが、うかつなコマンドを実行してしまうと、なんでもできてしまうので注意が必要だ。WSLは、Linuxマシンなどと違って、外部からの侵入の恐れはないが、変なコマンドを登録しないようにしたほうがいいだろう。

 「.wslconfig」と「wsl.conf」を使うことで、WSLの挙動を変更することが可能だ。WSLに関しては、設定項目が少ないこともあり、当面は、こうしたテキストファイルベースでの設定が続くと思われる。

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,273
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
4
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥1,299
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥937
7
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,359
8
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
¥652
9
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
10
UGREEN LANケーブル CAT8 1M メッシュLANケーブル カテゴリー8 コネクタ 超光速40Gbps/2000MHz CAT8準拠 イーサネットケーブル 爪折れ防止 シールド モデム ルータ PS3 PS4 Xbox等に対応 1M
UGREEN LANケーブル CAT8 1M メッシュLANケーブル カテゴリー8 コネクタ 超光速40Gbps/2000MHz CAT8準拠 イーサネットケーブル 爪折れ防止 シールド モデム ルータ PS3 PS4 Xbox等に対応 1M
¥699

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン