Windows10 の WSL で動かせる環境を増やす
WSLでUbuntuやKali LinuxやDebianが動くようになりましたが、
Ubuntu を複数立ち上げても、すべて同じUbuntu環境になります。
top
コマンドを複数立ち上げたUbuntuで実行してみるとわかるでしょう。
諸事情により、複数のUbuntu環境が欲しいような場合のやり方。
環境を見る
レジストリの
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
配下に
各WSL環境情報が入っています。
UUIDのキーが存在し
BasePath DefaultUid DistributionName Flags State Version
などの情報が入っています。
環境を作る
DistributionName
から、元となるインストールされたWSL環境を推測します。BasePath
に書かれているパスを開きます。- そこにあるファイル、フォルダをすべて、任意の(新しい環境を作りたい)場所にコピーします。
- レジストリに新しいUUIDなキーを作ります(素のやつの末尾を1文字変えるとかでいいでしょう)
- 上記6個の値を同じ用に作成します、ただし
BasePath
とDistributionName
は値を変更します。 BasePath
をファイルをコピーした先にします。DistributionName
は他と被らない一意の名前にします。
これで新しい環境ができました。
同じようにいくらでも環境が増やせます。(上限はあるかもしれません)
作った環境を動かす
- コマンドプロンプトから
wslconfig /l
と実行します。 - リストの中に
DistributionName
で指定したものがあるのを確認します。 - コマンドプロンプトから
wslconfig /s 上記で確認した名前
と実行します。 - コマンドプロンプトから
bash
と実行します。
これで新しい環境が実行できているはずです。
作成した別の環境を動かしたい場合は、新しいコマンドプロンプトを起動して 同じ操作を繰り返します。
おわりに
任意のDistributionName
を持つものを起動させる方法もありそうですが、まだ見つけられていません。
見つかると作った環境を動かす手間が減って良いなぁと思っています。
知っている方いたら教えてください。