たねやつの木

Photographs, Keyboards and Programming

WSL2の環境を新規PCに移行する手順

こんにちは、たねやつです。

新しいPCに買い替えた際など、これまで使っていたWSL2の環境をそのまま移行したい場面は多いかと思います。 今回は、WSL2の標準機能であるexportimportコマンドを使って、簡単かつ安全に開発環境をお引越しする手順を紹介します。

この記事でできること

  • 古いPCからWSL2の環境をバックアップ(エクスポート)する
  • 新しいPCにバックアップした環境を復元(インポート)する
  • wsl --exportwsl --import コマンドの基本的な使い方がわかる

事前に必要なもの

  • 移行元と移行先のPC

    • 両方のPCにWSL2がインストールされている必要があります。
  • 外部ストレージ or ネットワーク

    • バックアップファイル(.tar)をPC間で転送するために使用します。USBメモリや外付けSSD、ネットワークドライブなど。

手順

旧PCでバックアップを取る

まずは、現在使用しているPCでWSL2ディストリビューションのバックアップ(エクスポート)を行います。

1. ディストリビューション名を確認

PowerShellまたはコマンドプロンプトを開き、以下のコマンドでPCにインストールされているディストリビューションの一覧と、その状態を確認します。

wsl -l -v
  NAME      STATE           VERSION
* Debian    Running         2

この例では、Debianという名前のディストリビューションが動いていることがわかります。この名前を次の手順で使います。

2. WSLをシャットダウン

安全にエクスポートするために、一度WSLを完全にシャットダウンします。

wsl --shutdown
3. 環境をエクスポートする

wsl --exportコマンドを使い、ディストリビューションを1つの.tarファイルにまとめます。 ここでは例として、Dドライブ直下にwsl-debian.tarという名前で保存します。

wsl --export Debian D:\wsl-debian.tar

エクスポートには環境のサイズに応じてかなり時間がかかります。もし可能であればLLMや画像生成系のモデルを削除したり、大きなログファイルを削除してから作業したほうが断然速いかもしれません。

完了したら、作成された.tarファイルをUSBメモリなどにコピーして新しいPCに持っていきます。私の場合はDドライブで使用していたM.2デバイスで作業してそのまま新PCにもっていきました。

新PCでバックアップから復元

次に、新しいPCで先ほど作成したバックアップファイルから環境を復元(インポート)します。

1. インポート先フォルダを作成

まず、復元したWSL2の仮想ディスクファイルなどを保存しておくためのフォルダを新PCに作成します。 ここでは例として、Dドライブにwslというフォルダを作成し、その中にDebianというフォルダを作成します。

mkdir D:\wsl\Debian
2. 環境をインポートする

wsl --importコマンドを使い、バックアップファイルから環境を復元します。

  • 第一引数: 新しい環境の名前を自由に決めます。(例: Debian
  • 第二引数: 先ほど作成したインポート先フォルダを指定します。(例: D:\wsl\Debian
  • 第三引数: バックアップファイルのパスを指定します。(例: D:\wsl-debian.tar
wsl --import Debian D:\wsl\Debian D:\wsl-debian.tar

インポートが完了したら、wsl -l -vで新しい環境がリストに追加されていることを確認できます。

最後に

以上でWSL2環境の移行は完了です! この方法を使えば、インストールしたアプリケーションや設定ファイルなども含めて、ほぼ完全に元の環境を再現することができます。新しいマシンでもすぐに開発を再開できるので、ぜひ活用してみてください。