LoginSignup
22
27

More than 3 years have passed since last update.

WSL+LxRunOfflineでシステムドライブ外に環境構築

Posted at

WSLの環境を壊してしまったときに実施するけど、よく忘れるのでメモ

前提として、

  • Windows 10(Homeでも可)
  • WSLは有効化済みとする

何がしたいか

WSLは便利だけど、システムドライブにインストールされるので、容量が肥大化したとき辛い。

外部ドライブに独自のWSLボリュームを作って有効化させたい。

LxRunOffline

独自のWSLボリュームを生成することができる。

インストール

Chocolateyがインストールされていれば、
$ choco install lxrunoffline
なければReleaseページからダウンロードする。

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

https://lxrunoffline.apphb.com/download/{distro}/{version}にアクセスし、Linuxイメージをダウンロードする。
種類としては、Wikiページにリストされているので、{distro}、{version}を選ぶ。

Ubuntu 18.04の場合、distro⁼Ubuntuversion=bionicとしてダウンロードできる。

独自ボリューム生成

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

とする。

  • nオプション(Ubuntu)は作成するボリューム名
  • dオプション(D:\wsl)はボリュームの生成先
  • fオプション(ubuntu-bionic-core-cloudimg-amd64-root.tar.gz)はダウンロードしたLinuxイメージファイル

である。

作成したWSLボリュームの有効化

WSLでは、UbuntuやFedora等、複数の環境をインストールできるようにするため、既定のボリュームを変更できるようになっている。
wslconfig /listでWSLボリュームの一覧を見ることができる。

wslconfig /setdefault <ボリューム名>とすると、既定のボリュームを変更することができる。

作成したWSLボリュームの起動

既定のボリュームに指定した後は、wslコマンドで起動することが可能。

初期起動時にやること

ユーザ作成

作成した直後は、ユーザはrootのみで、このまま使うのは危険なので、下記コマンドを実行してユーザを作成する。

$ apt update
$ apt upgrade
$ apt install sudo vim-tiny
$ adduser <ユーザ名>
$ gpasswd -a <ユーザ名> sudo

ユーザ追加以外に、sudoをインストールし追加したユーザにsudo権限を付けるところまでやっている。

ログインユーザの設定

WSLを起動したとき、デフォルトだとrootで入ってしまうので、ログインユーザを変更する。

WSL上で、

$ login <ユーザ名>
$ id

を実行し、作成したユーザのuidを覚えておく。

続いて、いったんWSLを終了しコマンドプロンプト上で、

> LxRunOffline su -n Ubuntu -v <UID>

を実行することで、ログイン時のuidを指定できる。

Hyperの設定

Hyperはターミナルエミュレータで、Windows上でもそれっぽい操作ができる。
chocolateyでもchoco install hyperでインストールできる。

インストール後はコマンドプロンプトが綺麗になるだけなので、デフォルトでWSLが開くように設定する。

Hyper起動中にCtrl+,を押すと、.hyper.jsという設定ファイルが開くので、shellに関する項目を以下のように書き換える。

shell: 'C:\Windows\System32\\wsl.exe',
shellArgs: ['~'],

これで、Hyperを起動するだけでWSLが立ち上がる。

ボリュームを削除する

やらかして環境を壊してしまったときは、
LxRunOffline ui -n Ubuntuでボリュームを削除することができる。

同じように作り直せばOK。

22
27
0

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
22
27