LoginSignup
5
2

More than 3 years have passed since last update.

ストアアプリではない方法でディストリビューションを導入

Last updated at Posted at 2020-12-01

WSLでディストリビューションを導入するのに簡便な方法はストアアプリとしてインストールすることですが、デメリットは2つあります。

  • 同じ名前のディストリビューションを複数入れられない
  • ストアアプリの形で配布してないディストリビューションを入れられない

そこで今回の記事では「手で入れる」方法をまとめます。

最初は「ストア配布してないディストリビューションの導入に便利なツール wsldl」というタイトルで wsldl について書くつもりだったんですが、その後試してみたら、配布物のうちの1つであるLauncher.exeが、Windwos Defenderで弾かれるようになってました……仮に悪意のツールではないとしても、さすがに記事でお勧めしにくいので、方向転換しました。

目次

rootfsをダウンロードする

/ にマウントしたいファイル一式をtarに固めたもの(または、それをgzip圧縮したもの)を入手します。

方法はいくつかありますし、最悪自分で頑張って作ることもできるのですが、なるべく手軽な方法を書きます。

ディストリビューションのストアアプリから取り出す

公式ドキュメントの「ディストリビューションのダウンロード」のリンクをたどると、インストーラーパッケージである .appx ファイルを入手できます。 .appx ファイルは実はZIPなので、.zip に名前を変更するなどして展開することができます。

たとえば、Ubuntu 2004のインストーラーパッケージ (Ubuntu_2004.2020.424.0_x64.appx) の中には install.tar.gz というファイルがありました。

image.png

これが目的のファイルです。

インストール済みのディストリビューションのファイル一式をエクスポートする

既にインストールしたディストリビューションを複製したいときなどは、コマンドラインで

> wsl.exe --export <ディストリビューション名> <出力するtarファイル名>

とすると、tarファイルが得られます。ディストリビューション名がわからないときは wsl.exe -l で表示してください。

公式に配布しているものを探す

コミュニティ有志が再配布しているものを探す

記事先頭で触れたwsldlのサイトに行くと、wsldlのインストーラーをセットして再配布しているディストリビューションが見つかります。
これを使う場合はインストーラーもセットされているので、インストールと起動にはそっちを使えばいいという話ではありますが、ここはあえてrootfsだけ入手して、後の手順通りにやってみてください。

インポートする

あとでかく

wsl.exe --import <ディストリビューション名として付けたい名前> <WSLのファイルシステムの置き場にするディレクトリのパス> <tarファイルまたはtar.gzファイルのパス>

レジストリを修正する

あとでかく

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{GUID}

DWARD型の DefaultUid に値としてをLinux側のuidを設定(たとえば、10進数で1000/16進数だと3e8)

起動する

あとでかく

wsl.exe ~ -d <ディストリビューション名>

もしくは、wsldlで配布している launchaer.exe(Windows Defenderに弾かれた場合は例外指定をしないといけない) を <ディストリビューション名>.exe にリネームして、好きなところに置く

5
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2