WSL2 Ubuntu PC環境移行方法

WSL2 PC間移行方法

WSL2 PC間移行方法

WSL Ubuntu PC環境移行方法

2024年3月、WSL Ubuntu PC環境をWindows10からWindows11に移行しました。

Windows10のWSL1 Ubuntu18.04環境で執筆支援システム Re:VIEWを使用してKindle本を執筆しています。
Windows10は2025年10月にサポートが終了してしまいますので、Windows11への環境移行が必要です。

しかし、Windows11で新しくRe:VIEW環境を構築すると各種ツールのバージョンが異なって、現状と同じEPUBを生成できるとは限りません。
例えば、執筆支援システムはRe:VIEW 3.2.0を使用していますが、2024年の今はRe:VIEW 5.8.0になっています。
私は、独自にRe:VIEW構文をモンキーパッチで拡張していますので、Re:VIWバージョンを上げると正しく動作する保証はありません。

そこで、Windows10のWSL1 Ubuntu18.04環境をそのままでWindows11に環境移行したいと考えました。

少し調べてみると、Windows10でWSLの–exportオプションで環境を出力して、Windows11でWSLの–importオプションで環境を取り込めば良いようです。

WSL2 PC間移行 Windows10からWindows11へ

WSL2 PC間移行 Windows10からWindows11へ

PC環境移行方法

STEP-1 移行元WSL環境のエクスポート

WSL環境状態の確認

移行元のWindows10 PCのWSL環境状態をWSLコマンドのオプション(-l -v)で確認します。


W:\> wsl -l -v
  NAME            STATE           VERSION
* Debian          Stopped         1
  Ubuntu-18.04    Running         1
W:\> 

WSLのUbuntu-18.04が「Stopped状態」なら、エクスポートに進みます。

WSLのUbuntu-18.04が「Running状態」です。
WSLコマンドのオプション(–shutdown)でWSLを停止させます。


W:\> wsl --shutdown
W:\> 

再度、WSL環境状態をWSLコマンドのオプション(-l -v)で確認します。


W:\> wsl -l -v
  NAME            STATE           VERSION
* Debian          Stopped         1
  Ubuntu-18.04    Stopped         1
W:\> 

WSLのUbuntu-18.04が「Stopped状態」になりました。

WSL環境のエクスポート

WSLのUbuntu-18.04が停止したので、WSLコマンドのオプション(–export)でWSL環境をエクスポートします。


WSL --export ディストリビューション名 ファイル名
  • ディストリビューション名は、「wsl -l -v」で表示しているNAMEを指定します。<
  • ファイル名は、環境を保存するファイル名を指定します

 


W:\> wsl --export Ubuntu-18.04 e:\wsl_data\Ubuntu-18.04.tar
W:\> 
WSL2 PC間移行 Windows10からエクスポート

WSL2 PC間移行 Windows10からエクスポート

STEP-2 移行先WSL環境の削除

WSL環境状態の確認

移行先のWindows11 PCのWSL環境状態をWSLコマンドのオプション(-l -v)で確認します。


C:\> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  Ubuntu-22.04    Stopped         2
  Ubuntu-18.04    Running         2
C:\> 

WSLのUbuntu-18.04が「Stopped状態」なら、登録解除に進みます。

WSLのUbuntu-18.04が「Running状態」です。
WSLコマンドのオプション(–shutdown)でWSLを停止させます。


C:\> wsl --shutdown
C:\> 

再度、WSL環境状態をWSLコマンドのオプション(-l -v)で確認します。


C:\> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  Ubuntu-22.04    Stopped         2
  Ubuntu-18.04    Stopped         2
C:\> 

WSLのUbuntu-18.04が「Stopped状態」になりました。

WSL環境の登録解除

WSLが停止したので、WSLコマンドのオプション(–unregister)でWSL環境を登録解除します。


C:\> wsl --unregister Ubuntu-18.04
登録解除。
この操作を正しく終了しました。
C:\> 

WSL環境状態をWSLコマンドのオプション(-l -v)で確認します。


C:\> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  Ubuntu-22.04    Stopped         2
C:\> 

WSLのUbuntu-18.04環境を登録解除したことを確認しました。

STEP-3 移行先WSL環境のインポート

WSLのUbuntu-18.04環境を登録解除したので、WSLコマンドのオプション(–import)でWSL環境をインポートします。


WSL --import ディストリビューション名 格納先 ファイル名
  • ディストリビューション名は、「wsl -l -v」で表示しているNAMEを指定します。
  • 格納先は、新しいWSL環境を格納するディレクトリ名を指定します。
  • ファイル名は、環境を保存したファイル名を指定します。

C:\> wsl --import Ubuntu-18.04 c:\wsl_env e:\wsl_data\Ubuntu-18.04.tar --version 2
インポート中です。この処理には数分かかることがあります。
この操作を正しく終了しました。
C:\> 

後に付けたオプション(–version 2)は、WSL2としてインポートする指定です。

WSL2 PC間移行 Windows11へインポート

WSL2 PC間移行 Windows11へインポート

STEP-4 デフォルトユーザーの登録

WSL環境の移行が完了したので、Windows11でWSLのUbuntu-18.04を起動してみます。


# pwd
/root
#

root権限でUbuntuが起動しました。このまま使用するのはとても危険です。移行前のUbuntuでは、ユーザーpiを使用していました。
/etc/wsl.confファイルにデフォルトのユーザーを登録します。


# vi /etc/wsl.conf

   (デフォルトユーザーの登録)
   
# cat /etc/wsl.conf
[user]
default=pi

#

WSLのUbuntuを終了して、再度起動します。


$ pwd
/home/pi
$

移行前のUbuntu環境と同じようにユーザーpiで起動しました。

Re:VIEW原稿フォルダ

Re:VIEWはLinuxで動作しますが、原稿のテキストファイル作成やEPUB表示はWindowsで行うことにします。
WSL2はLinuxからWindowsのディレクトリにアクセスできますので、原稿を入れるフォルダをWindows側に作成します。

Windowsディレクトリ(C:\MyHome\Ubuntu_18.04)をLinux(MyHome)でアクセスできるようにシンボリックリンクを作成します。

WSL2 Windows側ホームディレクトリ

WSL2 Windows側ホームディレクトリ


$ ln -s /mnt/c/MyHome/Ubuntu_18.04 MyHome
$ cd MyHome
$ mkdir review3
$

「~/MyHome/review3」が原稿用のディレクトリです。

Ubuntu-18.04のショートカット

WSL2 Ubuntu-18.04起動のショートカットがあれば便利です。

WSL2 ショートカット

WSL2 ショートカット

コマンド「C:\Windows\System32\wsl.exe -d Ubuntu-18.04 -u pi」のショートカットを「wsl_Ubuntu-18.04」とします。

次に、ショートカットのプロパティから作業用フォルダを「\\wsl$\Ubuntu-18.04\home\pi」に変更します。

WSL2 ショートカットの作業用フォルダ

WSL2 ショートカットの作業用フォルダ

まとめ

WSL Ubuntu PC環境をWindows10からWindows11に移行することができました。

2025年10月にWindows10がサポート終了となってしまうので、執筆支援システム Re:VIEWの移行が課題でしたが、思ったより簡単に移行できました。

WSL2を標準でインストールすると「C:\Users\%USER%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState」という深いフォルダにext4.vhdxをセットアップします。

–exportと–importオプションを使用するとWSL Ubuntu環境を任意のフォルダにセットアップできます。
C:ドライブの容量が少ない場合は、D:ドライブでもセットアップできます。