WSL2 に Ubuntu 26.04 LTS を .wsl 公式イメージからクリーンインストールで入れ直した記録

2026年4月23日に Ubuntu 26.04 LTS “Resolute Raccoon” がリリースされました。早速 WSL2 の環境を 25.10 から 26.04 に入れ替えたので、手順とハマりどころを記録として残します。

結論から言うと、25.10 からのアップグレードパス自体はありますが、今回は do-release-upgrade で既存環境を引き継ぐのではなく、.wsl 形式の公式イメージを wsl --install --from-file でクリーンインストールするのが一番早くてきれいでした。ただしその前段のバックアップ作業で盛大にやらかしたので、同じ轍を踏まないための記録も兼ねています。

目次

環境

  • Windows 11(WSL2)
  • 移行前: Ubuntu 25.10(Questing Quokka)
  • 移行後: Ubuntu 26.04 LTS(Resolute Raccoon)
  • WSL バージョン: 2.x
  • バックアップ先: C ドライブ直下 → Google ドライブに退避

今回やったこと(全体像)

作業方針
既存環境の保全wsl --export --vhd で丸ごとバックアップ
ホームの退避\\wsl$\ ではなく WSL 内で tar
26.04 導入.wsl 公式イメージからクリーンインストール
復元.ssh と自分用スクリプトで必要な分だけ戻す
仕上げ基本パッケージ導入、apt ミラー変更

なぜ今すぐ入れ替えるのか

Ubuntu 26.04 は LTS ですが、公式ドキュメント にあるとおり、24.04 LTS からの直接アップグレードは最初のポイントリリースである 26.04.1 LTS(公式告知では 2026年8月上旬予定)まで有効になりません。

一方、25.10 からは通常のアップグレードパスで移行できます。しかし WSL2 環境では、不要なパッケージやゴミが溜まっていることが多く、クリーンインストールの方が結果として早いケースが多いです。

今回は Ubuntu 公式のリリース配布ページ から .wsl 形式のイメージをダウンロードして使います。

事前準備:バックアップ戦略

今回は「物理バックアップ(丸ごと)+ 論理バックアップ(重要データだけ)」の二段構えにしました。

1. 現状のディストロ名を確認する

まずは unregister 対象を間違えないよう、現状を把握しておきます。

wsl --list --verbose

UbuntuUbuntu-24.04 といった名前が表示されるので、以降のコマンドではこの名前を使います。本記事ではディストロ名を Ubuntu として進めます。

2. vhdx 形式で丸ごとエクスポート

WSL の --export コマンドで、ディストロを丸ごと1ファイルに書き出します。--vhd オプションを付けると .vhdx 形式で出力できます。

# 保存先ディレクトリを作成
mkdir C:\wsl-backup

# WSL をシャットダウン(実行中のプロセスがあると失敗する)
wsl --shutdown

# vhdx 形式でエクスポート
wsl --export Ubuntu C:\wsl-backup\ubuntu2510.vhdx --vhd

なお、WSL のバージョンやドキュメントによっては --format vhd と案内されている場合もあります。手元の環境で --vhd が通らなければ、次の形式も試してください。

wsl --export Ubuntu C:\wsl-backup\ubuntu2510.vhdx --format vhd

.vhdx の利点は、後から wsl --import-in-place で別ディストロとして登録すれば中身を WSL 内から直接参照できることです。.tar.gz より復元も高速です。

ただし .vhdx は暗号化されていない生の ext4 イメージなので、.ssh の秘密鍵なども素で入っています。取り扱いには注意してください。

3. ホームフォルダを別途 Windows 側にコピー(← これで失敗)

次に、「vhdx 復元より手軽に参照したいので、ホームディレクトリだけ別にコピーしておこう」と考えました。

エクスプローラで \\wsl$\Ubuntu\home\ubuntu を開き、C ドライブにドラッグ&ドロップ。12GB あります

結果、エクスプローラがフリーズして PC 再起動しました。

原因

\\wsl$\ 経由のファイルアクセスは 9P プロトコルで動いており、小さいファイルが大量にあるとメタデータのやり取りで極端に遅くなりますnode_modules/.git/ が含まれていると尚更です。

正しい方法

WSL 内から tar で固めてから Windows 側に出す方が圧倒的に速くて安全です。

# WSL 内で実行(ユーザー名の部分は適宜読み替えてください)
cd ~
tar cf /mnt/c/wsl-backup/home-ubuntu.tar \
  --exclude='node_modules' \
  --exclude='.venv' \
  --exclude='__pycache__' \
  --exclude='.cache' \
  --exclude='go/pkg' \
  -C /home ubuntu

gzip を省けば CPU 律速が外れて、ディスク I/O 速度まで上げられます。ファイル数やストレージ性能にもよりますが、今回の環境では体感で 5〜10 倍は速くなりました。

なお、node_modules.venv を除外している分、復元後には各プロジェクトディレクトリで依存関係を再インストールする必要があります(例: npm ciuv syncgo mod download など)。バックアップサイズを抑える代わりに、最初の起動時にひと手間かかるトレードオフです。

復元例

新しい環境側で戻す場合は、いきなり既存のホームに展開せず、一度別ディレクトリで中身を確認してから rsync で必要な分だけ戻すのが安全です。

# 別ディレクトリに展開して中身を確認
mkdir -p ~/restore-check
tar xf /mnt/c/wsl-backup/home-ubuntu.tar -C ~/restore-check

# 必要なものだけ現ホームに戻す
rsync -av ~/restore-check/home/ubuntu/ ~/

4. クラウドに退避

C ドライブだけだと物理故障で飛ぶので、バックアップ用の vhdx を Google ドライブに移動しました。個人の余り容量で済む範囲であれば、これで「真のバックアップ」になります。

ただし、Google ドライブに置いた .vhdx はバックアップ専用として扱うのが安全です。同期中のファイルを wsl --import-in-place で直接使うと、同期処理と WSL のディスクアクセスが競合する可能性があります。中身を確認したいときは、一度ローカルにコピーしてから --import-in-place する方が安心です。

既存ディストロの削除と新規インストール

unregister 前の最終確認

wsl --unregisterディストロを完全に削除する不可逆な操作です。Microsoft Learn でもデータを失う破壊的操作として注意されています(公式リファレンス)。以下を必ず確認してから実行します。

# バックアップファイルの存在とサイズを確認
dir C:\wsl-backup\ubuntu2510.vhdx

# 現在のディストロ状態を確認
wsl --list -v

vhdx が想定サイズで存在していれば OK です。0 バイトや極端に小さい場合は再実行します。

より慎重に進めるなら、バックアップの .vhdx を別名で試験的に登録して中身を確認してから本番の unregister に進むと安心です。

# バックアップ vhdx を別名で登録して確認する
wsl --import-in-place Ubuntu-2510-Backup C:\wsl-backup\ubuntu2510.vhdx

# 中身を確認
wsl -d Ubuntu-2510-Backup
ls /home

# 確認できたらバックアップ用ディストロを登録解除
wsl --unregister Ubuntu-2510-Backup

ただし --import-in-placeその .vhdx をそのまま WSL ディストロとして使うため、確認用に操作するとバックアップ本体に変更が入る可能性があります。読み取り専用の確認ではない点に注意してください。本当に安全に確認したい場合は、.vhdx をコピーしてから --import-in-place する方が確実です。

削除と 26.04 のインストール

# 既存の Ubuntu を削除
wsl --unregister Ubuntu

# 26.04 の .wsl ファイルからインストール
# ダウンロードした .wsl ファイル名に合わせて変更してください
wsl --install --from-file "%USERPROFILE%\Downloads\ubuntu-26.04-wsl-amd64.wsl" --name Ubuntu

--name を指定しないと、ファイル名から自動で Ubuntu-26.04 のような名前になります。Windows Terminal のプロファイルやタスクスケジューラのスクリプトで Ubuntu という名前で参照している場合は、同じ名前で入れ直す方が後の調整が少なくて済みます。

.wsl 形式のメリット

.wsl 形式は従来の .tar.gz と違って、初回起動時にプロビジョニングが自動で走ります

  • ユーザー名・パスワード作成プロンプト
  • sudo グループへの追加
  • ロケール設定
  • Ubuntu 26.04 から 導入された Ubuntu Insights(システムメトリクス収集)の同意プロンプト

Microsoft Store 版と同じ初期化フローを踏めるので、.tar で import して root 直行するより圧倒的に楽です。

Provisioning the new WSL instance Ubuntu
This might take a while...
Create a default Unix user account: ubuntu
New password:
Retype new password:
passwd: password updated successfully
Help improve Ubuntu!
Would you like to opt-in to platform metrics collection (Y/n)?

ハマりどころ:unzip が入っていなかった

クリーンインストール直後、自分用の復元スクリプトを走らせたところ、unzip: command not found エラーで停止しました。

Ubuntu 26.04 のクリーンインストール直後には unzip は含まれていません。スクリプト側が「unzip は当然入っているもの」として書かれていたため、詰まりました。

対処

sudo apt install -y unzip

入れ直して再実行で解決しました。

得た教訓

クリーンインストール後に最初に揃えておくべき基本コマンドは、まとめてインストールしておくのが安全です。先に紹介した rsync による復元を想定しているなら、それも一緒に入れておきます。

sudo apt update
sudo apt install -y \
  build-essential \
  git \
  curl \
  wget \
  unzip \
  rsync \
  zsh \
  ca-certificates

移行のたびに同じ罠を踏まないよう、今回の経験は自分用のメモに書き起こしました。

仕上げ:apt ミラーを ICSCoE に変更

デフォルトの archive.ubuntu.com は海外サーバーなので、日本国内からは apt update / apt upgrade が遅く感じます。国内ミラーに切り替えると体感が大きく変わります。

Ubuntu 26.04 の sources 形式

Ubuntu 24.04 以降、標準の apt ソース設定は従来の /etc/apt/sources.list ではなく、deb822 形式の /etc/apt/sources.list.d/ubuntu.sources に移行しています(公式ドキュメント)。従来の *.list 形式も apt としては依然使えますが、標準構成では ubuntu.sources を編集することになります。

デフォルトの中身はこうなっています。

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: resolute resolute-updates resolute-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

ICSCoE ミラーとは

ICSCoE(IPA 産業サイバーセキュリティセンター) が運営する ftp.udx.icscoe.jp は、秋葉原 UDX に設置された 100Gbps 回線の国内ミラーです。Launchpad の公式ミラーリスト にも登録されており、日本国内では最速クラスとして広く使われています。

設定変更

security は本家のまま残す安全寄りのパターンでミラーに切り替えます(セキュリティアップデートは最速で降りてきてほしいため)。

sudo sed -i.bak -E \
  '/^URIs:/ {
    N
    /Suites:.*-security/! {
      s@http://(jp\.)?archive\.ubuntu\.com/ubuntu/?@https://ftp.udx.icscoe.jp/Linux/ubuntu/@
    }
  }' \
  /etc/apt/sources.list.d/ubuntu.sources

sudo apt update

実行結果

Get:1 https://ftp.udx.icscoe.jp/Linux/ubuntu resolute InRelease [136 kB]
(中略)
Hit:5 http://security.ubuntu.com/ubuntu resolute-security InRelease
(中略)
Fetched 30.7 MB in 5s (6560 kB/s)
All packages are up to date.

30MB を 5秒、約 6.5MB/秒で取得できました。security のみ security.ubuntu.com を引いており、想定通りの挙動です。

過去の同期トラブルについて

注意点として、過去には ICSCoE を含む複数の国内ミラーで InRelease ファイルの同期が止まる事象 が発生したことがあります(IPA 対応済み)。

大規模ミラーでも稀に同期ラグ事故はあるので、万一 apt update で古いパッケージしか引けない状況になったら、一時的に archive.ubuntu.com に戻す選択肢も持っておくと安心です。

まとめ:次回のために

今回の作業で得た学びを整理します。

バックアップ

  • \\wsl$\ 経由の大量ファイルコピーは詰みやすい。WSL 内で tar → Windows 側に出すが鉄板です。
  • .vhdx 形式でのエクスポートは、後から --import-in-place でいつでも掘り起こせるため、保険として優秀です。
  • ローカルだけでなくクラウドにもコピーしておくと物理故障に強くなります。

インストール

  • .wsl 形式はプロビジョニング込みで動くため、.tar.gz より圧倒的に楽です。
  • Windows Terminal プロファイルやタスクスケジューラとの整合性を考えると、同じディストロ名で入れ直すのが無難です。

復元

  • クリーンインストール直後には unzip のような定番コマンドも入っていません。スクリプトを走らせる前に、依存コマンドをまとめてインストールしておくと事故を減らせます。

ミラー

  • Ubuntu 24.04 以降は deb822 形式の /etc/apt/sources.list.d/ubuntu.sources に移行しています。
  • ICSCoE、JAIST、理研あたりから選べば国内最速クラスのダウンロード速度になります。

Ubuntu 26.04 はリリースされたばかりで、Go や Python などのツールチェインを公式バイナリや fnm・uv といったバージョン管理ツールで運用している場合でも、OS 側の glibc やカーネルといった基盤ライブラリが新しくなる恩恵は大きいです。最新の公式バイナリを安心して動かせる足場が整う、という意味で WSL2 の開発環境としても魅力的です。

WSL2 ユーザーは、次のポイントリリース(26.04.1、公式告知では2026年8月上旬予定)を待たずに、今回のようなクリーンインストール手順で試してみる価値があると思います。

参考資料

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次