WSL上のLinuxをCドライブから移動させる

はじめに_

Windows Subsystem for Linux (以下、WSL)では標準でCドライブにLinuxがインストールされる。インストール済みのLinuxを別ドライブに移動させる手順についてまとめる。

参考サイト_

移動させることによるデメリット_

以下のデメリットがある(2020年12月13日時点)

  • 標準アイコンからの起動ができない
  • 起動時に設定しないと、デフォルトユーザがrootになる
  • 起動時にデフォルトユーザを指定しても、ターミナル起動時のカレントディレクトリがホームディレクトリでない
  • 「設定」→「アプリ」→「アプリと機能」からアンインストールできない

前提_

  • Ubuntu 18.04がインストール済み
  • Ubuntuのデフォルトユーザ(Ubuntu起動時のユーザ)はgotoh
  • DドライブにWSL-Linuxというフォルダが存在し、そこにLinuxを移動させるとする
  • コマンドはPowerShell上から実行するとする(管理者権限での実行が必要かどうかは失念)

WSLを停止させる_

まず、起動中のWSLを停止させる。PowerShell上で以下を実行する。

wsl --shutdown

実行状態を確認する。

wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         1

エクスポートする。_

PowerShell上でUbuntu 18.04をエクスポートする。

wsl --export Ubuntu-18.04 D:\WSL-Linux\Ubuntu-18.04.tar

Ubuntuのアンインストール_

PowerShell上でUbuntu 18.04を削除する。

wsl --unregister Ubuntu-18.04

アンインストールされていることを確認する。

wsl --list --verbose
Linux 用 Windows サブシステムには、ディストリビューションがインストールされていません。
ディストリビューションは Microsoft Store にアクセスしてインストールすることができます:
https://aka.ms/wslstore

Ubuntuのインポート_

PowerShell上で以下のコマンドを実行する。この例ではWSL1上で動いていたUbuntu 18.04をWSL2上で動くように設定している。

wsl --import Ubuntu-18.04 D:\WSL-Linux\Ubuntu-18.04 D:\WSL-Linux\Ubuntu-18.04.tar --version 2

確認する。

wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         2

起動用ショートカットを作成する_

適当な場所にショートカットを作成し、ショートカットをクリックすることでWSL上のLinuxを起動できるようにする。デスクトップなどで右クリックを押し「新規作成」→「ショートカット」を選択する。

「項目の場所」として以下を入力する。

C:\Windows\System32\wsl.exe -u 「Ubuntu 18.04の初期ユーザ名」 -d Ubuntu-18.04

ショートカットの名前を入力する。この例では「Ubuntu 18.04」としている。

WSL.EXEのショートカットは以下のLinuxペンギンになる。

ショートカット上で右クリックし「プロパティ」を選択すると以下の画面が開く。ここでアイコンやUbuntu起動時のフォルダ(ディレクトリ)を変更できる。「作業フォルダ」でUbuntu起動時のフォルダ(ディレクトリ)を変更できる。

戻る_