WSL上のLinuxを別のマシンに移行する方法

WSL上のLinuxを別のマシンに移行する方法

Windows10や11でWindows Subsystem for Linux(WSL)を使ってLinuxを使っていると、構築したLinuxディストリビューションをバックアップしたり、別のマシンに移行したいときがあり、そのようなときは、WSLのエクスポート/インポート機能が役立ちます。

そこでここでは、WSL上のLinuxをエクスポート/インポートする方法を紹介します。

WSLのLinuxをエクスポート

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

WSLにLinuxをインポート

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

> 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