内容へ移動
Ground Sunlight
Windowsで作る - PHPプログラミングの開発環境
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
wsl2:clone
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== WSL2 ディストリビューションの複製 ====== --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-12-07// [[wsl2:top|WSL2に戻る]] 関連記事 * [[wsl2:install|WSL2 インストール]] * [[wsl2:command|WSL2 コマンドリファレンス]] * [[wsl2:interop|WSL2 LinuxとのWindowsの相互運用性]] * WSL2 ディストリビューションの複製 * [[wsl2:terminal|Windows ターミナル]] リンク * [[https://docs.microsoft.com/en-us/windows/wsl/reference|Command Reference for Windows Subsystem for Linux]] --- Microsoftドキュメント 本章では、「[[wsl2:install|WSL2 インストール]]」でインストールした Ubuntu-20.04 を例に、WSL2のLinuxディストリビューションを複製する方法を説明します。 ----- ===== ストレージファイルの所在 ===== Microsoft Store からインストールした Linux ディストリビューションは以下の場所にあります。 <code> {User Home}\AppData\Local\Packages\ </code> このフォルダ下にパッケージ毎のフォルダがありそこにインストールされます。例えば、本編の「[[wsl2:install|WSL2 インストール]]」で例題としてインストールした ''Ubuntu 20.04 LTS'' は、以下のフォルダに配置されます。 <code> {User Home}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc </code> Ubuntu をインストールした直後、筆者の環境では上のフォルダの中に以下のフォルダがありました: <code> AC\ AppData\ LocalCache\ LocalState\ RoamingState\ Settings\ SystemAppData\ TempState\ </code> 実際のストレージファイルは ''LocalState''フォルダの中にある ''ext4.vhdx'' になります。このファイルがディストリビューションのエクスポートの対象です。 \\ ===== エクスポート ===== === コマンド === <code powershell> wsl --export <Distro> <FileName> </code> * ''<Distro>'' は ''wsl -l -v'' で調べたディストリビューション名です。 * ''<FileName>'' にはエクスポートするtarファイルのパス名を指定して下さい。 === 実行例 === まず、Power Shell を起動して、エクスポートするディストリビューション(Ubuntu-20.04)を ''wsl -l -v'' で調べます。 <code powershell> PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Running 2 </code> Ubuntuが起動中なら、Ubuntuのターミナルを閉じてから実行を停止します。 <code powershell> PS C:\> wsl -t Ubuntu-20.04 </code> Ubuntu-20.04をエクスポートします。 <code powershell> PS C:\> wsl --export Ubuntu-20.04 D:\WSL2\Exports\Ubuntu-20.04.tar </code> \\ ===== インポート ===== === コマンド === <code powershell> wsl --import <Distro> <InstallLocation> <FileName> </code> * ''<Distro>'' には任意のディストリビューション名を指定できます。 * ''<InstallLocation>''にはインポート先のフォルダを指定します。 * ''<FileName>'' にはインポートするtarファイルのパス名を指定して下さい。 === 実行例 === ここでは、先に Ubuntu-20.04 をエクスポートしたtarファイルをインポートします。 <code powershell> PS C:\> wsl --import Ubuntu-20.04-2 D:\WSL2\Packages\Ubuntu-20.04-2 D:\WSL2\Exports\Ubuntu-20.04.tar </code> ''wsl -l -v'' でディストリビューションの一覧を表示します。 <code powershell> PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu-20.04-2 Stopped 2 </code> Ubuntu-20.04の前に付いている ''*'' はそれがデフォルトのディストリビューションであることを示しています。 また、この時点で ''D:\WSL2\Packages\Ubuntu-20.04'' の中は以下のようになっています。 <code> ext4.vhdx </code> Ubuntuのストレージイメージがあるだけです。 \\ ===== シェルの起動 ===== === コマンド === <code powershell> wsl -d <Distro> -u <UserName> </code> * <Distro> はディストリビューション名を指定します。 * <UserName>はユーザ名を指定します。省略すると root で実行されます。 === 実行例 === 先にインポートした Ubuntu-20.04-2 をユーザを指定して起動します。ユーザ(y2sunlight) はエクスポートした時点のUbuntuに含まれるのでそのまま使用できます。 <code powershell> PS C:\> wsl -d Ubuntu-20.04-2 -u y2sunlight </code> この時、Power Shell が bash に切り替わりUbuntuが利用できるようになります。Power Shell に戻るには、''exit'' または ''logout'' コマンドを使います。 <code bash> $ exit </code> === ショートカットの作成 === ショートカットを作成することで、新しいLinuxシェルを簡単に起動できます。デスクトップ上を右クリックして[新規作成][ショートカット]を選択し、以下の内容でショートカットを作ります。 ^項目の場所|wsl -d Ubuntu-20.04-2 -u y2sunlight| ^ショートカットの名前|Ubuntu-20.04-2| \\ ===== 登録解除 ===== === コマンド === <code powershell> wsl --unregister <Distro> </code> * <Distro> はディストリビューション名を指定します。 === 実行例 === 先にインポートした Ubuntu-20.04-2 の登録解除を行います。__登録解除するとストレージイメージ ''ext4.vhdx'' も消えるので必要に応じてエクスポートしてバックアップして下さい。__ まず、現在のディストリビューションを ''wsl -l -v'' で調べます。 <code powershell> PS C:\> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2 Ubuntu-20.04-2 Running 2 </code> Ubuntu-20.04-2が起動中なら実行を停止します。 <code powershell> PS C:\> wsl -t Ubuntu-20.04-2 </code> Ubuntu-20.04を登録解除します。 <code powershell> PS C:\> wsl --unregister Ubuntu-20.04-2 登録を解除しています... </code> \\
wsl2/clone.txt
· 最終更新: 2022/03/07 21:06 by
y2sunlight
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ