WSL上のLinuxディストリビューションを移行する方法

WSL上のLinuxディストリビューションを移行する方法

Windows10や11でWindows Subsystem for Linux(WSL)を使ってLinuxを利用していると、構築したLinuxディストリビューションをバックアップしたり、別のマシンに移行したいときがあります。

そのようなときは、WSLのエクスポート/インポート機能が役立ちます。

そこでここでは、WSLのエクスポート/インポート機能の使い方を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit22H2

ディストリビューションをエクスポートする

WSL上のLinuxディストリビューションをエクスポートするときは、管理者としてコマンドプロンプトを起動して、以下のようにコマンドを実行します。

> wsl --export <ディストリビューション名> <エクスポートファイルパス>
  • エクスポートファイルはデフォルトではtarファイル形式です
  • WSL2なら「--vhd」オプションを付加して実行することでvhdx形式でエクスポートできます。
  • vhdx形式でのエクスポートは、tar形式よりも短時間で処理を完了できます。

たとえば、Linuxディストリビューション「Ubuntu-22.04」をtar形式でエクスポートするには、以下のようにコマンドを実行します。

> wsl --export Ubuntu-22.04 F:\backup\ubuntu2204.tar

WSL上のLinuxディストリビューションを移行する方法

エクスポート処理は、おおむね数分で完了します。

なお、指定するディストリビューション名がわからないときは、以下のコマンドで確認できます。

> wsl --list --verbose

ディストリビューションをインポートする

上の方法でエクスポートしたLinuxディストリビューションをインポートしたいときは、管理者としてコマンドプロンプトを起動して、以下のようにコマンドを実行します。

> wsl --import <ディストリビューション名> <インストール先パス> <エクスポートファイルパス>
  • ディストリビューション名に指定できる文字は、半角英数とピリオド、ハイフンのみで、既存のディストリビューション名と同じ名前は指定できません。
  • vhdx形式のエクスポートファイルをインポートするときは「--vhd」オプションを付加して実行します。
  • インストール先パスに制限はありませんが、WSLのLinuxディストリビューションは既定でC:\Users\<ユーザー名>\AppData\Local\Packages\にインストールされています。

たとえば、エクスポートしたLinuxディストリビューション「Ubuntu-22.04」のエクスポートファイルをインポートするときは、以下のようにコマンドを実行します。

> wsl --import New-Ubuntu-2204 F:\WSL\New-Ubuntu-2204 F:\backup\ubuntu2204.tar

WSL上のLinuxディストリビューションを移行する方法

インポートしたLinuxディストリビューションは、Windowsターミナルを利用しているなら自動的にプロファイルが追加されます。

WSL上のLinuxディストリビューションを移行する方法

インポートしたLinuxディストリビューションをショートカットから起動したい場合は、以下のコマンドを実行するショートカットを自分で作成する必要があります。

C:\Windows\System32\wsl.exe -u <初期設定で作ったユーザ名> -d <ディストリビューション名>

参考URL

WSL の基本的なコマンド | Microsoft Learn