WSL2のUbuntuのイメージファイルの移動

この記事は 2 分で読めます。
概要

Windows11/10でのWSL2環境のバックアップや別の環境へ移動する方法を解説します。Ubuntuイメージの格納イメージファイルを確認しバックアップ方法を解説します。

この記事の読者層

Ubuntuのイメージファイルの場所を確認したい方

Ubuntu環境をバックアップしたい方

はじめに

Microsoftは2003年ごろに、米Connectixから仮想マシン(Virtual Machine)技術買収している。この技術を発展させWindows上でLinux環境を実現できるUbuntuのWSL環境が実現された。これがHyper-Vとして利用されている。なかでも、Hyper-Vで使われている技術に「仮想ハードディスク」(Virtual Hard Disk、VHD)がある。

仮想マシンでは、OSをイメージファイルとして創ることでハードディスク内のバックアップがとりやすい構造となっています。

Ubuntu格納場所

仮想化技術でLinuxOSのイメージファイルが格納されている場所がWindows上にある。これが以下述べる場所にある。

C:\Users\(user)\AppData\Local\Packages

WSL2のUbuntuのイメージ保存場所

CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc

CanonicalGroupLimited.Ubuntu18.04LTS_79rhkp1fndgsc

CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc

CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc

のディレクトリに格納されています。

さらに以下のフォルダの下に

\LocalState\rootfs

*.vhdxファイルが存在する。

ext4.vhdx

VHDXファイルとは

HDX(.vhdxファイル)とは、仮想化ソフトなどが利用するファイル形式の一つで、ストレージ装置の記憶領域を先頭から順に丸ごと写し取ったような構造になっているもの。システムディスクイメージの作成、複製、配布などに用いられる。標準のファイル拡張子は「.vhdx」。

確認方法

WSL2のファイル確認方法は以下のコマンドから確認できます。

PS C:\Users\darab> Get-AppxPackage -Name "*Ubuntu*" |select PackageFamilyName
PackageFamilyName
-----------------
CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc
CanonicalGroupLimited.Ubuntu18.04LTS_79rhkp1fndgsc

これが上記に書かれたファイル名となります。

VHDXのファイルを読み込み

VHDXファイルは、最新の7-zipでソフトの中身をみることが出来ます。7-zipは、以下のURLからダウンロードできます。

https://7-zip.opensource.jp/

それでは、「ext4.vhdx」を開いてみます。中身には以下のようなデータが確認できます。

容量は4GBほどでroot直下の中身になります。

Vhdxファイルの再接続

WSL上で、次のように実行すると wsl2 内部からマウントされた ボリュームが参照できるようになります。

まずは、wslをシャットダウンしておきます。

>wsl --shutdown

wsl --mount --vhd "D:\\(ファイルパス)\\ext4.vhdx"
PS C:\Users> wsl --mount --vhd "c:\ext4.vhdx"
ディスクは '/mnt/wsl/Cext4vhdx' として正常にマウントされました。
注: /etc/wsl.conf で automount.root 設定を変更した場合、場所は異なります。
ディスクのマウントを解除してデタッチするには、'wsl.exe --unmount \\?\C:\ext4.vhdx' を実行してください。

まとめ

本記事のポイント

本記事のまとめとして、

Windowsの仮想化により生成されたvhdxファイルが[ext4.vhdx]として保存されている。

これをバックアップすることで復旧が可能。

関連リンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です