メインメニュー
XAMPP アレンジ
IED
WSL2
-
道具箱
リポジトリ編
フレームワーク編
公開ソフトウェア
メタ
リンク
- PHP ライブラリ
- PHP 言語
wsl2:cloneWSL2 ディストリビューションの複製
— y2sunlight 2020-12-07
関連記事
- WSL2 ディストリビューションの複製
リンク
- Command Reference for Windows Subsystem for Linux — Microsoftドキュメント
本章では、「WSL2 インストール」でインストールした Ubuntu-20.04 を例に、WSL2のLinuxディストリビューションを複製する方法を説明します。
ストレージファイルの所在
Microsoft Store からインストールした Linux ディストリビューションは以下の場所にあります。
{User Home}\AppData\Local\Packages\
このフォルダ下にパッケージ毎のフォルダがありそこにインストールされます。例えば、本編の「WSL2 インストール」で例題としてインストールした
Ubuntu 20.04 LTS
は、以下のフォルダに配置されます。{User Home}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc
Ubuntu をインストールした直後、筆者の環境では上のフォルダの中に以下のフォルダがありました:
AC\ AppData\ LocalCache\ LocalState\ RoamingState\ Settings\ SystemAppData\ TempState\
実際のストレージファイルは
LocalState
フォルダの中にあるext4.vhdx
になります。このファイルがディストリビューションのエクスポートの対象です。
エクスポート
コマンド
wsl --export <Distro> <FileName>
<Distro>
はwsl -l -v
で調べたディストリビューション名です。<FileName>
にはエクスポートするtarファイルのパス名を指定して下さい。
実行例
まず、Power Shell を起動して、エクスポートするディストリビューション(Ubuntu-20.04)を
wsl -l -v
で調べます。PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Running 2
Ubuntuが起動中なら、Ubuntuのターミナルを閉じてから実行を停止します。
PS C:\> wsl -t Ubuntu-20.04
Ubuntu-20.04をエクスポートします。
PS C:\> wsl --export Ubuntu-20.04 D:\WSL2\Exports\Ubuntu-20.04.tar
インポート
コマンド
wsl --import <Distro> <InstallLocation> <FileName>
<Distro>
には任意のディストリビューション名を指定できます。<InstallLocation>
にはインポート先のフォルダを指定します。<FileName>
にはインポートするtarファイルのパス名を指定して下さい。
実行例
ここでは、先に Ubuntu-20.04 をエクスポートしたtarファイルをインポートします。
PS C:\> wsl --import Ubuntu-20.04-2 D:\WSL2\Packages\Ubuntu-20.04-2 D:\WSL2\Exports\Ubuntu-20.04.tar
wsl -l -v
でディストリビューションの一覧を表示します。PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu-20.04-2 Stopped 2
Ubuntu-20.04の前に付いている
*
はそれがデフォルトのディストリビューションであることを示しています。また、この時点で
D:\WSL2\Packages\Ubuntu-20.04
の中は以下のようになっています。ext4.vhdx
Ubuntuのストレージイメージがあるだけです。
シェルの起動
コマンド
wsl -d <Distro> -u <UserName>
- <Distro> はディストリビューション名を指定します。
- <UserName>はユーザ名を指定します。省略すると root で実行されます。
実行例
先にインポートした Ubuntu-20.04-2 をユーザを指定して起動します。ユーザ(y2sunlight) はエクスポートした時点のUbuntuに含まれるのでそのまま使用できます。
PS C:\> wsl -d Ubuntu-20.04-2 -u y2sunlight
この時、Power Shell が bash に切り替わりUbuntuが利用できるようになります。Power Shell に戻るには、
exit
またはlogout
コマンドを使います。$ exit
ショートカットの作成
ショートカットを作成することで、新しいLinuxシェルを簡単に起動できます。デスクトップ上を右クリックして[新規作成][ショートカット]を選択し、以下の内容でショートカットを作ります。
項目の場所 wsl -d Ubuntu-20.04-2 -u y2sunlight ショートカットの名前 Ubuntu-20.04-2
登録解除
コマンド
wsl --unregister <Distro>
- <Distro> はディストリビューション名を指定します。
実行例
先にインポートした Ubuntu-20.04-2 の登録解除を行います。登録解除するとストレージイメージ
ext4.vhdx
も消えるので必要に応じてエクスポートしてバックアップして下さい。まず、現在のディストリビューションを
wsl -l -v
で調べます。PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu-20.04-2 Running 2
Ubuntu-20.04-2が起動中なら実行を停止します。
PS C:\> wsl -t Ubuntu-20.04-2
Ubuntu-20.04を登録解除します。
PS C:\> wsl --unregister Ubuntu-20.04-2 登録を解除しています...
wsl2/clone.txt · 最終更新: 2022/03/07 21:06 by y2sunlight
コメント