メインコンテンツに移動
wsl2_cp

こんにちは iizuka です。

今回は WSL2 (Windows Subsystem for Linux 2) で、既存のディストリビューションを複製する方法について紹介します。

なぜ複製するのか?

私の場合は以下のような理由でディストリビューションを分けたくなりました。

  • 社内プロジェクト用の環境と、個人で実験する環境を切り分けたい

  • 本番用と検証用の設定を分けて管理したい

  • 新しいライブラリを試したいけど、既存環境を壊したくない

こうしたケースでは、既存のディストリビューションを コピー して使うのが便利です。

手順

1. 複製元のディストリビューションを確認

まずは現在インストールされているディストリビューションを確認します。

$ wsl --list --verbose

NAME の欄に表示されたものが利用可能なディストリビューションです。

2. 複製元をエクスポート

次に、複製したいディストリビューションを .tar ファイルとしてエクスポートします。

$ wsl --export Ubuntu C:\Users\xxxxx\Downloads\ubuntu.tar

  • Ubuntu の部分は複製元のディストリビューション名
  • C:\Users\xxxxx\Downloads\ubuntu.tar は保存先のパス

※エクスポートには数分かかる場合があります。

3. 新しい名前でインポート

エクスポートしたファイルを使って、新しいディストリビューションをインポートします。

$ wsl --import Ubuntu-Copy C:\Users\xxxxx\ubuntu-test C:\Users\xxxxx\Downloads\ubuntu.tar --version 2

  • Ubuntu-Copy が新しいディストリビューション名
  • C:\Users\xxxxx\ubuntu-test がディスクイメージの保存先フォルダ

4. ubuntu-test でディストリビューションがコピーされているか確認

インポートが完了したら、再度一覧を確認してみましょう。

$ wsl --list --verbose

Ubuntu-Copy が追加されていれば成功です。

5. コピー環境の動作確認

実際に起動してみます。

$ wsl -d Ubuntu-Copy

問題なくログインできれば複製は完了です。

 

補足: デフォルトユーザーを設定する

コピー直後は root ユーザーでログインする場合があります。
通常のユーザーをデフォルトにするには、以下の設定を行います。

1. 複製したディストリビューションを起動

$ wsl -d Ubuntu-Copy

2./etc/wsl.conf を編集

$ vim /etc/wsl.conf

内容を以下のように設定

[user]

default={複製元のユーザー名}

3. WSL の再起動

wsl --shutdown

これで次回からは指定したユーザーでログインできます。

注意点

  • ディストリビューションの複製は OSごとコピー するため、ディスク容量を大きく消費します。

  • 不要になった環境は適宜削除して管理しましょう。

まとめ

WSL2 では、簡単に既存の環境を複製できます。

  • 複製元を wsl --export

  • 新しい名前で wsl --import

  • 必要なら /etc/wsl.conf でデフォルトユーザーを設定

ぜひ実験環境や検証用に活用してみてください!

 

 

タグ

記事一覧へ戻る