この記事で説明すること
WSL(Ubuntu)環境を別ユーザーや別PCへ引き継ぐ場合、
ディストリビューションのエクスポート/インポートが必要になります。
本記事では、以下の作業を順番に解説します。
- WSLディストリビューションのエクスポート
- 外付けSSDなどへの保存
- 別環境へのインポート
- インポート後のWSL起動確認
WSL環境をインポートした後は、
ユーザー名やホームディレクトリを自分用に変更する必要があります。
その手順については、以下の記事で詳しく解説しています。
事前準備
外付けSSDについて
WSL環境を保存する外付けSSDは、
NTFS形式でフォーマットしておくことをおすすめします。
理由は以下の通りです。
- Windowsとの互換性が高い
- 大容量ファイル(.tar)を扱える
- 権限トラブルが起きにくい
使用するShell
本記事のコマンドは、Windows標準の PowerShell を使用します。
WSL(Bash)ではありませんので注意してください。
WSLディストリビューションをエクスポートする
まずは、現在のWSL環境を .tar ファイルとしてエクスポートします。
以下は、
- エクスポート先ディレクトリが存在しなければ作成
- Ubuntuディストリビューションをエクスポート
を 一括で実行する PowerShell コマンドです。
PowerShell
$exportDir = "D:\wsl"
if (!(Test-Path $exportDir)) {
New-Item -ItemType Directory -Path $exportDir
}
wsl --export Ubuntu "$exportDir\ubuntu.tar"- Ubuntu:ディストリビューション名
- D:\wsl\ubuntu.tar:エクスポート先ファイル
ディストリビューション名は、環境によって
Ubuntu-20.04 などになっている場合があります。
WSLディストリビューションをインポートする
次に、エクスポートした .tar ファイルを別環境へインポートします。
PowerShell
wsl --import Ubuntu "D:\wsl\ubuntu" "D:\wsl\ubuntu.tar"- 第1引数:新しく登録するディストリビューション名
- 第2引数:WSLのインストール先ディレクトリ
- 第3引数:エクスポートした .tar ファイル
これにより、指定した場所にWSL環境が展開されます。
インポートしたWSLへログインする
インポートが完了したら、以下のコマンドでWSLを起動します。
PowerShell
wsl -d UbuntuUbuntuのターミナル(Bash)が起動すれば成功です。
作業時の注意点
- エクスポート中は対象のWSLを起動しない
- .tar ファイルはサイズが大きくなる場合がある
- 同名のディストリビューションが既に存在する場合は注意
既存のWSLを削除する場合は、事前にバックアップを取っておくと安心です。
WSL環境をインポートした後は、
ユーザー名やホームディレクトリを自分用に変更する必要があります。
その手順については、以下の記事で詳しく解説しています。
まとめ
- WSL環境は wsl –export でバックアップできる
- 外付けSSDを使えば環境の受け渡しが簡単
- wsl –import で別環境へそのまま復元可能
- ユーザー変更などの作業は、インポート後に行う
WSL環境を作り直す手間を省きたい場合に、
とても便利な方法です。
