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 --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
インポートしたLinuxディストリビューションは、Windowsターミナルを利用しているなら自動的にプロファイルが追加されます。
インポートしたLinuxディストリビューションをショートカットから起動したい場合は、以下のコマンドを実行するショートカットを自分で作成する必要があります。
C:\Windows\System32\wsl.exe -u <初期設定で作ったユーザ名> -d <ディストリビューション名>