1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

こんにちは🌤 駆け出しフルスタックエンジニアのここあです!

普段は WezTerm と WSL を行き来しながら、Windows 上で開発環境を整えています。
今回は、WSL で使っている Ubuntu 環境を Ubuntu 26.04 LTS にアップグレードしてみたので、その作業メモを残しておきます。

特に WSL のアップグレードは、普通の Ubuntu と同じ感覚で進められる一方で、Windows 側の設定や WezTerm の起動設定が絡むため、地味にハマりどころがあります。
この記事では、以下の内容をまとめます。

  • WSL の Ubuntu をアップグレードする前に必ずやるバックアップ
  • Ubuntu 24.04 から 26.04 へそのままアップグレードする手順
  • 移行後に確認したいツールや設定

自分用のメモも兼ねていますが、同じように WSL で開発している方の参考になれば嬉しいです☕


今回やりたいこと

今回やりたいことは、ざっくり言うと以下です。

既存の WSL Ubuntu 環境
    ↓
Ubuntu 26.04 LTS へアップグレード
    ↓
WezTerm から今まで通り起動できる状態に戻す
    ↓
Nushell / Git / SSH / Neovim などの開発環境を確認する

普段使っている環境なので、単に OS のバージョンを上げるだけではなく、作業後もいつもの開発環境として使えることがゴールです。


注意:いきなりアップグレードしない

最初に一番大事な話をしておきます。

WSL の Ubuntu をアップグレードする前に、必ず wsl --export でバックアップを取ってください。

WSL の Ubuntu は、Windows 側からディストリビューション全体を tar ファイルとしてエクスポートできます。
アップグレード中に何か問題が起きても、この tar ファイルがあれば元の状態に近い形で復元できます。
逆に、バックアップなしで直接アップグレードして失敗すると、復旧がかなり面倒です。
特に以下のようなケースでは注意が必要です。

  • 外部 PPA をたくさん追加している
  • Node.js / Python / Rust / Go などを複数バージョン管理している
  • shell を Bash 以外に変更している
  • Nushell / zsh / fish などを既定 shell にしている
  • Neovim や dotfiles をかなり作り込んでいる
  • WezTerm から特定の WSL ディストリビューションを直接指定している
    私も普段から WezTerm や Nushell、Neovim 周りを触っているので、アップグレード前のバックアップは必須だと思っています。

まずは現在の WSL 名を確認する

PowerShell を開いて、現在の WSL 一覧を確認します。

wsl -l -v

例えば、以下のように表示されます。

  NAME            STATE           VERSION
* Ubuntu-24.04    Stopped         2

この NAME に表示されている名前が、バックアップや起動指定で使う WSL のディストリビューション名です。
ここでは例として Ubuntu-24.04 を使います。


バックアップを取る

まず WSL を完全に停止します。

wsl --shutdown

次に、PowerShell でバックアップを作成します。

wsl --export Ubuntu-24.04 C:\backup\ubuntu2404_backup.tar

C:\backup\ubuntu2404_backup.tar の部分は好きな場所に変更してください。
ただし、WSL 環境のサイズによってはバックアップファイルがかなり大きくなります。
作業前に、バックアップ先の空き容量は確認しておいた方が良いです。

Get-PSDrive C

外付け SSD や別ドライブに逃がすのもありです。


復元方法も先に確認しておく

バックアップは取るだけではなく、復元方法も先に把握しておくと安心です。
例えば、バックアップから Ubuntu-24.04-Restore という名前で復元する場合は、以下のようにします。

wsl --import Ubuntu-24.04-Restore C:\WSL\Ubuntu-24.04-Restore C:\backup\ubuntu2404_backup.tar --version 2

復元した環境は、次のコマンドで起動できます。

wsl -d Ubuntu-24.04-Restore

例:

[user]
default=your_user_name

設定後、PowerShell から WSL を再起動します。

wsl --shutdown

アップグレード前の確認

WSL 側の Ubuntu を開いて、現在のバージョンを確認します。

cat /etc/os-release

または以下でも確認できます。

lsb_release -a

出力は以下の通り

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.4 LTS
Release:        24.04
Codename:       noble

Ubuntu 24.04 の場合は、コードネームが noble になっているはずです。

Ubuntu 24.04 LTS = noble
Ubuntu 26.04 LTS = resolute

外部リポジトリや PPA を追加している場合は、事前に確認しておきます。

ls /etc/apt/sources.list.d/

PPA や外部リポジトリは、アップグレード時に無効化されたり、26.04 に未対応でエラーになったりすることがあります。
不安な場合は、アップグレード前にいったん無効化しておくと安全です。


Ubuntu 24.04 から 26.04 へアップグレードする

ここから実際に Ubuntu をアップグレードしていきます。

1. 現在のパッケージを最新化する

まずは今の環境を最新状態にします。

sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

必要に応じて、PowerShell 側から WSL を再起動します。

wsl --shutdown

2. アップグレード用ツールを入れる

do-release-upgrade を使うため、必要なパッケージを入れておきます。

sudo apt install update-manager-core -y

設定も確認します。

cat /etc/update-manager/release-upgrades

LTS 版から LTS 版へアップグレードしたい場合は、以下になっていれば大丈夫です。

Prompt=lts

3. 26.04 へのアップグレードを実行する

通常は以下でアップグレードします。

sudo do-release-upgrade

ただし、Ubuntu 24.04 LTS から Ubuntu 26.04 LTS への通常アップグレード通知は、時期によってはまだ有効になっていない場合があります。
その場合は、以下のように -d オプションを付ける必要があります。

sudo do-release-upgrade -d

-d は development release を確認するためのオプションです。
:::message alert
安定性を優先する場合は、-d を使って急いで上げるよりも、26.04.1 LTS が出て通常アップグレード経路が開放されてから移行する方が安全です。
:::
自分の検証環境や、壊れても復旧できる環境であれば試しやすいですが、仕事用のメイン環境では慎重に進めた方が良いです。

4. 画面の指示に従う

アップグレード中は、何度か確認が表示されます。
よくある確認は以下です。

確認内容 おすすめ
古いパッケージを削除するか 基本的には削除で OK
サービスを再起動してよいか 基本的には OK
設定ファイルを置き換えるか 自分で編集している場合は注意

SSH、shell、エディタ、開発ツールなどの設定ファイルを自分で編集している場合は、むやみに上書きしない方が安全です。
迷った場合は、既存設定を残して、あとから差分を確認するのが無難です。

5. WSL を再起動する

アップグレードが完了したら、PowerShell から WSL を完全停止します。

wsl --shutdown

再度 Ubuntu を起動して、バージョンを確認します。

cat /etc/os-release

VERSION_ID="26.04" のように表示されていれば完了です。


移行後の確認

アップグレード後は、いつもの開発環境として使えるか確認していきます。

Ubuntu のバージョン確認

cat /etc/os-release
lsb_release -a

WSL の一覧確認

PowerShell で確認します。

wsl -l -v

必要であれば、既定の WSL を変更します。

wsl --set-default Ubuntu-26.04

Nushell の確認

自分の環境では Nushell を使っているので、まず起動できるか確認します。

nu --version

既定 shell も確認します。

echo $SHELL
cat /etc/passwd | grep $USER

必要であれば、既定 shell を再設定します。

chsh -s $(which nu)

Git / SSH の確認

Git の設定が残っているか確認します。

git config --global user.name
git config --global user.email

SSH 鍵も確認します。

ls -la ~/.ssh

GitHub に SSH 接続できるか確認します。

ssh -T git@github.com

CLI ツールの確認

普段使っているツールも確認します。

zoxide --version
helix --version
nvim --version
bat --version
fzf --version
rg --version

確認したいツールは以下です。

ツール 用途
zoxide 高速なディレクトリ移動
helix ターミナルエディタ
nvim Neovim
bat cat の代替
fzf ファジーファインダー
ripgrep / rg 高速 grep

まとめ

注意点 内容
バックアップ wsl --export で必ず取る
復元確認 wsl --import の方法も把握しておく
26.04 への移行時期 安定重視なら 26.04.1 LTS 以降が無難
移行後確認 Git / SSH / Nushell / nvim などを確認する

WSL の Ubuntu アップグレード自体は、手順だけ見るとそこまで難しくありません。
ただ、普段使いの開発環境として WSL を使っている場合は、OS の更新だけでは終わりません。
今回の作業で一番大事だと思ったのは、以下の 2 つです。

1. 先にバックアップを取る
2. 移行後に WezTerm と WSL 名を確認する

アップグレードは成功すると一瞬で終わったように感じますが、失敗したときの復旧はかなり大変です。
これから WSL の Ubuntu を 26.04 LTS に上げる方は、ぜひバックアップを取ってから慎重に進めてみてください☕


参考リンク


謝辞

今回の記事は、Codexさんとペアプロしながら作成しました。
また、日々の開発環境を支えてくれているCodex、 Ubuntu、WSL、WezTerm に感謝です☕

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?