Produced by Fourier

WSL2をCドライブ外に引っ越しつつ、Ubuntu 24.04 へアップグレードする

Kyouhei Horizumi icon Kyouhei Horizumi
⚠️
今回は Ubuntu 22.04 の環境から Ubuntu 24.04 に 新規インストール+$HOMEディレクトリの引き継ぎ という形で移行を行います。

do-release-upgrade などによるOS本体のアップグレードではなく、 新しいクリーンな環境にユーザーデータだけ移す 方法です。

WSL2をCドライブ外に引っ越しつつ、Ubuntu 22.04 → 24.04 にアップグレードする

最近、Cドライブの空き容量がやたらと少ないことに気づき、「ディスクの使用状況分析ツール」で調査してみたところ、 C:\Users\<ユーザー名>\AppData\Local\Packages\ 以下に大きなファイルが多数存在。中でもWSL2の仮想ディスクファイル( .vhdx )が数百GBを占有していて驚きました。

WSL2はデフォルトでCドライブに仮想ディスクを作成するため、Dドライブや他の高速なストレージに余裕があっても、Cドライブだけが圧迫されがちです。

そこで今回は、 Ubuntu 22.04 から Ubuntu 24.04 に移行しつつ、WSL2をCドライブ外に引っ越し する手順をまとめます。

移行の手順

移行先(Ubuntu 24.04)をインストール(入っていない人のみ)

まずは Microsoft Store から Ubuntu 24.04 をインストールします。

wsl -l -v
NAME            STATE           VERSION
* Ubuntu-22.04    Running         2
  Ubuntu-24.04    Stopped         2
出力例

Ubuntu-22.04 (旧環境)と Ubuntu-24.04 (新環境)が並んでいることを確認します。

移行先 を Dドライブに引っ越す

Microsoft Store からインストールした Ubuntu-24.04 の仮想ディスクは、デフォルトで C ドライブに配置されてしまいます。 これも D ドライブに移動しましょう。

Ubuntu-24.04をエクスポート

これで現在の Ubuntu-24.04 環境が .tar としてバックアップされます。

cd D:\wsl2\
wsl --export Ubuntu-24.04 ubuntu-24.tar

Ubuntu-24.04 をアンインストール

エクスポートが完了したら、Cドライブ上の旧インスタンスを削除します。

wsl --unregister Ubuntu-24.04

Dドライブに再インポート

wsl --import Ubuntu-24.04 D:\wsl2\ubuntu-24.04 D:\wsl2\ubuntu-24.tar

これにより、仮想ディスクは D:\wsl2\ubuntu-24.04 に配置されます。

移行元 - $HOME 配下だけをバックアップ

wsl -d Ubuntu-22.04

$ cd /home/your_user_name
$ tar czf /mnt/d/wsl2/home_backup.tar.gz .
⚠️
WindowsとLinux間で大量の小ファイルを移動すると極端に遅くなります。 そのため、 圧縮してからWindows側に移動する のがベストです。

移行元 - 念のためディストリビューション全体をエクスポート

保険として、Ubuntu-22.04 全体を .tar でエクスポートしておきます。

cd D:\wsl2\
wsl --export Ubuntu-22.04 ubuntu-22.tar

移行元をアンインストール

バックアップが完了したら、WSL2から古いディストリビューションを削除します。

wsl --unregister Ubuntu-22.04

移行先へ $HOME を展開

Ubuntu-24.04 を起動し、さきほどバックアップした $HOME を展開します。

wsl -d Ubuntu-24.04

cd /home/your_user_name
tar xzf /mnt/d/wsl2/home_backup.tar.gz --overwrite
💡
--keep-old-files を付けることで、既存ファイルを上書きしないようにもできます。

WSLの状態を確認

最後にWSLの状態を確認します。

wsl --list --verbose
NAME            STATE           VERSION
* Ubuntu-24.04    Running         2
出力例

これで、 Ubuntu 24.04 への移行とCドライブからの引っ越しが完了 しました。

おわりに

WSL2の仮想ディスクは想像以上に肥大化しやすく、 Cドライブに置きっぱなしにしておくとシステム全体のパフォーマンスに悪影響を与える 可能性があります。 特に、Windowsの更新やスワップファイル、テンポラリファイルとの競合が起きやすくなり、最悪の場合、OSの動作が不安定になるリスクすらあります。

今回紹介した手順で、 ディストリビューションのアップグレードとストレージ最適化 を同時に行うことが可能です。

そして、筆者が移行先として使用しているのが Intel Optane SSD 905P 。 シーケンシャル速度こそ最新のNVMe SSDには劣るものの、 非常に高いランダムアクセス性能と圧倒的な書き換え耐久性 を持っており、WSL2のように頻繁に細かいI/Oが発生する用途に最適です。