LoginSignup
4
2

More than 3 years have passed since last update.

WSL2にOSを手動で追加する

Last updated at Posted at 2020-12-13

wsl2でちょっと真っ新な環境から検証したいけど今の環境を壊したくない時とかに、OSを手動で簡単に追加することができます。

OSイメージをダウンロード

Ubuntu20.04イメージより
focal-server-cloudimg-amd64-wsl.rootfs.tar.gz
をダウンロードしてwindows上の任意の場所に保存します。

C:\wsl_images\focal-server-cloudimg-amd64-wsl.rootfs.tar.gz

OSをインストール

PowerShellを開き、importコマンドでOSをインストールします

wsl --import 任意のOS名 ディスクイメージ保存先 OSイメージファイル --version 2

> wsl --import ubuntu-test C:\Users\(自分のユーザ名)\AppData\Local\Packages\ubuntu-test C:\wsl_images\focal-server-cloudimg-amd64-wsl.rootfs.tar.gz --version 2

ストアからインストールしたUbuntuのディスクイメージは
C:\Users\(自分のユーザ名)\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79xxxxxx\LocalState
に格納されているので、同様にAppData\Local\Packages配下に任意の名前で指定しておくと良いと思います。

PowerShell上で確認

完了したら、wslコマンドで一覧を表示すると追加されていることが確認できます。

> wsl -l -v

  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  ubuntu-test            Stopped         2
  Ubuntu-20.04           Running         2

OSを起動させる

wslコマンドで起動

> wsl -d ubuntu-test

もしくはwindows terminalを開きなすと、新規一覧のタブに追加されているので、選択するだけで起動します。

初期設定

インストールが完了した状態だとrootユーザでのログインになります。
そのままユーザの追加とデフォルトユーザの設定をしておきます。

ユーザ追加

# adduser test_user

Adding user `test_user' ...
Adding new group `test_user' (1000) ...
Adding new user `test_user' (1000) with group `test_user' ...
Creating home directory `/home/test_user' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for test_user
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]

sudoコマンドを使えるように

そのままでは初期インストール時のようにsudoコマンドが使えませんので、追加しておきます

# usermod -G sudo test_user

ログイン時のデフォルトユーザに指定

Windows Terminal から開いたときに、rootではなく新しく追加したユーザでスタートするように指定しておきます。

# vi /etc/wsl.conf
/etc/wsl.conf
[user]
default=test_user

以上で、ストアからダウンロードした時とほぼ同じ状態で追加したOSを使用することができます。

※追加したOSが不要になったら

PowerShellからイメージ削除します。

一覧で名前を確認
> wsl -l -v
  NAME                   STATE           VERSION
  ubuntu-test            Running         2

実行中なら停止
> wsl --terminate ubuntu-test

登録を解除
> wsl --unregister ubuntu-test

これでインストール時に指定したフォルダC:\Users\(自分のユーザ名)\AppData\Local\Packages\ubuntu-testにあったディスクイメージが削除されます

4
2
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
4
2