WSLのルートを別のドライブで使いたい

Sponsored Link
ロリポップ!レンタルサーバー

WSLのルートディレクトリ

以前セットアップしたWSLですが、開発環境としての役割が高まってきたことで、システムドライブのサイズが気になってきました。

セットアップしたときに少し触れましたが、wslのルートディレクトリは以下の場所に存在しています。

C:\Users\(ユーザ)\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs

いろいろな事情でこんなディレクトリになったのでしょうけど、どうにかならなかったのでしょうか。

それはともかく、Cドライブを使うのはやめたいので、調べてみたらとても簡潔にまとまっている記事を見つけました。

WSL+LxRunOfflineでシステムドライブ外に環境構築 - QiitaWSLの環境を壊してしまったときに実施するけど、よく忘れるのでメモ前提として、Windows 10(Homeでも可)WSLは有効化済みとする何がしたいかWSLは便利だけど、システムドライブにインストールされるの...
WSL+LxRunOfflineでシステムドライブ外に環境構築 - Qiita qiita.com
WSL+LxRunOfflineでシステムドライブ外に環境構築 - Qiita

本当に分かり易いので、手順の概要と少しだけ情報を付け加えさせていただきます。

前提として、すでにWSLがセットアップ済みであることが条件となります。

 

Sponsored Link

手順概要

LxRunOfflineのインストール

Chocorateryがインストール済みであれば、以下のコマンドでインストール。
(以下、管理者権限のPowerShellで実行してください)

PS> choco install lxrunoffline

またはリリースページからダウンロードする。

Releases · DDoSolitary/LxRunOfflineA full-featured utility for managing Windows Subsystem for Linux (WSL) - DDoSolitary/LxRunOffline
Releases · DDoSolitary/LxRunOffline github.com
Releases · DDoSolitary/LxRunOffline

Linuxイメージのダウンロード

決め打ちですが、今セットアップしているUbuntu 18.04は以下のURLでダウンロードできます。

Build software better, togetherGitHub is where people build software. More than 73 million people use GitHub to discover, fork, and contribute to over 200 million projects.
Build software better, together lxrunoffline.apphb.com
Build software better, together

別のイメージは、Wikiページで確認してください。

ボリュームの作成

PS> LxRunOffline i -n Ubuntu -d D:\wsl -f ubuntu-bionic-core-cloudimg-amd64-root.tar.gz

このコマンドが肝となります。

-n Ubuntu : 作成するボリューム名(WSLで認識する名前です)

-d D:/wsl : ボリュームの生成先(ここで指定したディレクトリにインストールされます。)

-f (ダウンロードしたイメージファイル)

これで指定したディレクトリにWSLのボリュームを作成できます!

作成したボリュームを既定にする

wsl.exeで起動するボリュームを既定にするには以下の通り。

PS D:\temp> wslconfig /list
Windows Subsystem for Linux ディストリビューション:
Ubuntu-18.04 (既定)
Ubuntu
#現在は初期にインストールした、Ubuntu-18.04が既定となっています。

PS D:\temp> wslconfig /setdefault Ubuntu #作成したボリューム名を指定します。
PS D:\temp> wslconfig /list
Windows Subsystem for Linux ディストリビューション:
Ubuntu (既定)
Ubuntu-18.04
これで既定が変わりました。

起動や初期設定

wslで起動するとrootでログインできていると思いますので、必要なアップデートやログインユーザの作成などを実施しましょう。

WSL+LxRunOfflineでシステムドライブ外に環境構築 - QiitaWSLの環境を壊してしまったときに実施するけど、よく忘れるのでメモ前提として、Windows 10(Homeでも可)WSLは有効化済みとする何がしたいかWSLは便利だけど、システムドライブにインストールされるの...
WSL+LxRunOfflineでシステムドライブ外に環境構築 - Qiita qiita.com
WSL+LxRunOfflineでシステムドライブ外に環境構築 - Qiita

ボリュームの削除

PS> LxRunOffline ui -n Ubuntu

これでボリュームの削除ができます。

 

複数のWSL環境を使う

ボリュームの作成で、ボリューム名とインストールディレクトリを変えておけば複数の環境を作ることが可能です。

例えば、

PS> LxRunOffline i -n Ubuntu_prj1 -d D:\wsl_prj1 -f ubuntu-bionic-core-cloudimg-amd64-root.tar.gz

と、別のボリューム、インストール先を指定すれば新たな環境としてインストールされます。

PS> wslconfig /l    
Windows Subsystem for Linux ディストリビューション:
Ubuntu (既定)
Ubuntu-18.04
Ubuntu_prj1 #新しいボリューム!

wsl起動時に-dオプションでボリューム(というかディストリビューションですね)を指定すれば、そのボリュームの環境に入ることが出来ます。

PS> wsl -d Ubuntu_prj1

これでWSL環境の切り分けができて、すっきりするのではないでしょうか。

以上です。

Sponsored Link