WSL上の Ubuntu 22.04 LTSを24.04 LTSにアップグレードした際の記録と、途中で表示される選択肢についてまとめます。
途中の質問に迷った際、参考にしてください。
WSLでUbuntu 22.04からUbuntu 24.04にアップグレードするのは 推奨されていません。
第一選択肢としては「Ubuntu 24.04を新しく入れて必要なデータだけ移行する」ことです。
ですが、私はUbuntu 22.04に色々なデータを入れており、選別すべきデータも多かったので「データをバックアップして直接Ubuntu 22.04をアップグレードする」方針で進めました。そんな茨の道を進みたい方への共有です。
1. 事前アップデートとバックアップ
事前に22.04でパッケージを最新にしておきます。
sudo apt update
sudo apt full-upgrade
sudo apt --purge autoremove
sudo reboot
アップグレード前にsystemdなど主要パッケージが保留になることがありますが、これは気にする必要はありません。
後に実行するdo-release-upgrade に任せます。
また、Windows側のターミナルでバックアップも取っておきます。
wsl --export Ubuntu-22.04 ubuntu-backup.tar
7z a ubuntu-backup.7z ubuntu-backup.tar
Remove-Item ubuntu-backup.tar
2. LTS アップグレードの開始
/etc/update-manager/release-upgrades にて、Prompt=lts になっていることを確認します。
Prompt=lts
その後、do-release-upgrade -c(heck)を実行してアップグレード出来る確認します。
sudo do-release-upgrade -c
Checking for a new Ubuntu release
New release '24.04.3 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
もしPrompt=neverなどになっている場合、以下のようなメッセージと共にアップデートの検索自体が止まりますので、Prompt=ltsに変更します。
sudo do-release-upgrade -c
Checking for a new Ubuntu release
In /etc/update-manager/release-upgrades Prompt
is set to never so upgrading is not possible.
New release '24.04.3 LTS' available.ようにNew releaseが見つかればそのままアップグレードを開始します。
sudo do-release-upgrade
do-release-upgrade -d は使用しないこと。
-d は開発版アップグレードを許可するオプションのため、25.10 などへ飛ぶ可能性があります。
3. アップグレード中の質問と回答
WSLを使う分においては、質問された際の回答はyで問題ありません。
3.1 アップグレード中にサービスの自動再起動を許可
Restart services during package upgrades without asking?
→ y で問題ありません。
アップグレード中に多数のサービス再起動が必要になるため、自動化が安全です。
3.2 Postfix 設定
特定したわけではありませんが一部Postfixに依存するようになったパッケージがあるようで、Postfixの設定を訊かれます。
種類の選択
→ Local only(または No configuration)を選びます。
サーバーの状況をメールで送信するような設定になっている時などは設定が必要ですが、通常のWSLの用途ではSMTPサーバをインターネット向けに公開する必要はありません。
System mail name
→ デフォルトのままで問題ありません。
外部に送信しないため、変更する必要はありません。
3.3 古いパッケージ削除
Remove obsolete packages?
83 packages are going to be removed.
Continue [yN] Details [d]
→ と出てくるのでyを選択します。
旧ライブラリ(t64 以前)などが一括削除されます。
ただし、自分でビルドしたパッケージがある場合や、それらに依存している場合は注意が必要です。
3.4 アップグレードの完了、再起動
System upgrade is complete.
Action required
Exit all other instances of Ubuntu WSL before continuing.
Unsaved progress may otherwise be lost.
To continue please press [ENTER]
→ アップグレードが完了したのでVSCodeやターミナルの別タブなど、他のWSLセッションをすべて閉じてEnterを押します。
また、念のため、アップグレード作業もしていたターミナルも閉じてWindowsからwsl --shutdown Ubuntu-22.04して終了し、再度WSLを起動します。
4. 再起動後の確認
新しくなったUbuntu 24.04でアップデートをかけます。
sudo apt update
sudo apt full-upgrade
sudo apt --purge autoremove
sudo apt autoclean
OSの表記が24.04になっていたら完了です。
まとめ
| 質問 | 回答 |
|---|---|
| Restart services automatically? | Yes |
| Postfix configuration type | Local only / No configuration |
| System mail name | 変更不要 |
| Remove obsolete packages? | Yes |
do-release-upgrade -d は? |
LTS間の移行では使用しない |
| zsh補完が壊れた | セッションをやり直す |



