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でダウンロードできます。

bionicoctet-stream ファイル
 lxrunoffline.apphb.com
bionic

別のイメージは、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