やじうまの杜
「WSL」ディストリビューションのインポート・エクスポートはこんなに簡単!
MicrosoftのScott Hanselman氏がTipsを紹介
2019年11月28日 06:45
“やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。
Windowsを再インストールしたいがWSL/Linux環境のバックアップ・復元をどうすればいいのだろうか。今利用しているWSL/Linux環境を他のPCでも利用したい――そう思ったことはないだろうか。これをスマートに解決する方法をMicrosoftのScott Hanselman氏が個人ブログで紹介してくれている。
それによると、「Windows Subsystem for Linux(WSL)」を操作・管理する“wsl”コマンドにはエクスポート・インポートのためのオプションが備わっており、比較的簡単に異なるマシン間での「WSL 2」環境の移行が行えるという。たとえば、「PowerShell」でエクスポートを行うには以下のようなコマンドを入力すればよい。
wsl --export PerfectWSLDistro ./PerfectWSLDistro.tar
これで“PerfectWSLDistro”という名前のWSL/Linux環境が“PerfectWSLDistro.tar”というファイルにまとめて保存される。あとはこのファイルを他のPCへ移したり、他のメンバーに配布し、利用したいPCの“~/AppData/Local/”フォルダーへ展開して「WSL」にインポートすればよい。
mkdir ~/AppData/Local/PerfectDistro
wsl --import PerfectDistro ~/AppData/Local/PerfectDistro ./PerfectWSLDistro.tar --version 2
ちなみに“~”はホームディレクトリを表すLinuxではお馴染みの記号で、「PowerShell」でも利用可能。ただし、「コマンド プロンプト」はこれに対応しておらず、フルパスで指定する必要があるので注意しよう。
エクスポートが完了したら、“wsl --list -v”コマンドでちゃんと移行が成功しているか確認しよう。
“wsl --list -v”コマンドで移行の確認をした例
C:\Users\Scott\Desktop> wsl --list -v
NAME STATE VERSION
* Ubuntu-18.04 Stopped 2
WLinux Stopped 2
Debian Stopped 1
PerfectDistro Stopped 2
最新版の「Windows Terminal」ならば、移行したWSL/Linux環境が自動で検出され、そのシェルが自動で追加されるのも便利だ(古いプロファイルを削除する必要があることがあるので注意)。
同氏は“Azure IoT”開発に取り組んでいるが、大量のデバイスに「WSL 2」環境を展開するのにこの方法を利用しているという。スクリプトで環境構築を自動化しておけば、セットアップの手間を大幅に削減することができるだろう。
そのほかにも、“wsl”コマンドには便利なオプションが豊富にそろっている。一度Microsoftのドキュメントに目を通して、ぜひ活用してほしい。