【WSL】Ubuntu 24.04から26.04への移行手順|AIエージェントで効率化

WindowsのWSL2(Windows Subsystem for Linux 2)で開発環境を運用していると、避けて通れないのが「OSディストリビューションのメジャーアップグレード」です。2024年に登場したUbuntu 24.04 LTSから、2026年4月にリリースされた長期サポート版「Ubuntu 26.04 LTS」への乗り換えを検討しているエンジニアも多いのではないでしょうか。

しかし、WSL環境でのOS移行には心理的なためらいが生じがちです。「日常の開発環境が使えなくなったら困る」「SSH鍵やGit設定、クラウドCLI認証、シェル履歴などの引き継ぎに手間がかかる」といった理由から、古いバージョンのまま使い続けてしまうケースが珍しくありません。筆者自身も過去にUbuntu 22.04から24.04へ手動で移行した際は、各種ツールの再導入や設定の引き継ぎに半日以上を費やし、大きな負担を感じていました。

ところが今回の移行では、AIコーディングエージェント(Google Antigravity等)と協力して作業を進めた結果、面倒なコマンド発行や設定移行が大幅に効率化され、約30分で安全に移行を完了させることができました。

本記事では、既存環境を維持したまま安全に切り替える「サイド・バイ・サイド(新規並行導入)」の手順と、AIエージェントを活用して手作業を最小限に抑える実践フローを詳しく解説します。

  1. この記事で行うこと
  2. 前提条件・環境確認
    1. WSL環境の確認コマンド
  3. 1. WSLのUbuntu移行で「新規並行導入(サイド・バイ・サイド)」を選ぶ理由
    1. 1-1. インプレース更新と並行導入の違い
    2. 1-2. 新規並行導入(サイド・バイ・サイド)のメリット
  4. 2. 移行前の準備と旧環境のバックアップ
    1. 2-1. 旧環境の全体バックアップ(wsl –export)
    2. 2-2. バックアップからの復元方法(wsl –import)と注意点
  5. 3. Ubuntu 26.04のインストールと初期設定
    1. 3-1. Ubuntu 26.04のインストール(wsl –install)
    2. 3-2. systemdの動作確認(ps -p 1 -o comm=)
  6. 4. 旧環境からのデータ・開発設定の移行
    1. 4-1. SSH秘密鍵・公開鍵の安全な移行
    2. 4-2. Git設定・シェル環境・コマンド履歴の移行
    3. 4-3. クラウドCLI認証(gcloud等)の引き継ぎと注意点
    4. 4-4. トラブルシューティング:不足ツールの追加インストール(fzf等)
    5. 4-5. 一時退避フォルダの確実な削除
  7. 5. Windows側(既定ディストリ・Windows Terminal)の切り替え
    1. 5-1. 既定のディストリビューションを変更する(wsl -s)
    2. 5-2. Windows Terminalのプロファイル確認と整理
  8. 6. 動作確認と旧環境の安全なクリーンアップ
    1. 6-1. 疎通テスト
    2. 6-2. 旧環境(24.04)の登録解除(wsl –unregister)
  9. 7. AIコーディングエージェントを活用して移行作業を効率化する
    1. 7-1. AIエージェントとの協調作業(実体験)
    2. 7-2. AIエージェントに依頼するプロンプト例
    3. 7-3. セキュリティと人間のガバナンス(最重要)
  10. 8. まとめ
  11. 次に読むおすすめ記事
  12. 参考情報

この記事で行うこと

  • WSL2上で安全にUbuntu 24.04から26.04へ環境移行する手順を理解できます
  • 稼働中環境を上書きせず「新規並行導入(サイド・バイ・サイド)」を選ぶメリットがわかります
  • 旧環境のtarバックアップ取得と復元(wsl –import)の手順を確認できます
  • Ubuntu 26.04のセットアップとsystemdの動作確認方法がわかります
  • tarアーカイブを活用してSSH鍵やドット設定ファイルを漏れなく安全に移行する手順を解説します
  • Windows Terminalのプロファイル確認と既定ディストリビューションの切り替え手順を解説します
  • AIエージェントに移行作業を任せる際の具体的なプロンプトとセキュリティ上の必須ルールを理解できます

前提条件・環境確認

  • ホストOS:Windows 11またはWindows 10(WSL2が有効化されていること)
  • 移行元:Ubuntu 24.04 LTS(既存のWSL2ディストリビューション)
  • 移行先:Ubuntu 26.04 LTS(新規インストール)
  • 使用したAIツール:Google Antigravity(ターミナルコマンド実行およびファイル編集権限あり)
  • 前提知識:PowerShellおよびLinuxターミナルでの基本的なコマンド操作

WSL環境の確認コマンド

作業を始める前に、現在のWSLのバージョンおよび各ディストリビューションがWSL2で動作しているかを確認します。PowerShellを開き、以下のコマンドを実行してください。

wsl --version
wsl -l -v

一覧の「VERSION」列が「2」になっていることを確認します。もし古いバージョンのWSLを使用している場合は、事前に wsl --update を実行して最新状態に更新しておきましょう。

また、オンラインでインストール可能なディストリビューションの一覧は以下のコマンドで確認できます。

wsl --list --online

一覧に「Ubuntu-26.04」が表示されていることを確認して作業を進めます。

1. WSLのUbuntu移行で「新規並行導入(サイド・バイ・サイド)」を選ぶ理由

一般的なLinuxサーバーでは、標準ツールの sudo do-release-upgrade を使ってOSを上書きバージョンアップする手法(インプレース更新)も利用可能です。しかし、日々の開発業務で使用しているWSL環境においては、既存環境を維持したまま新しいディストリビューションを追加する「サイド・バイ・サイド(並行導入)」方式が極めて合理的です。

1-1. インプレース更新と並行導入の違い

稼働中の環境を直接アップグレードする場合、万が一パッケージの競合や設定ファイルの仕様変更によって不具合が発生した際、問題の切り分けや復旧に時間がかかり、日々の開発作業がストップしてしまう懸念があります。

これに対してサイド・バイ・サイド方式では、既存の「Ubuntu-24.04」をそのまま稼働可能な状態で残し、新しく「Ubuntu-26.04」を並行してセットアップします。

1-2. 新規並行導入(サイド・バイ・サイド)のメリット

サイド・バイ・サイド方式を採用することで、以下の大きな利点が得られます。

  • 旧環境がそのまま残るため、新環境の構築中や動作検証中でも、いつでも普段の環境で業務を継続できる
  • 新環境で万が一トラブルが発生しても、既定のディストリビューションを戻すだけで安全に切り戻せる
  • 長期間の開発利用で溜まった不要なライブラリや一時ファイルを整理し、クリーンな環境を一から再構築できる
  • 新環境での動作確認が完全に完了するまで旧環境を保持できるため、心理的な安全性が非常に高い

2. 移行前の準備と旧環境のバックアップ

作業を始める前に、現在のUbuntu 24.04の全体バックアップをWindows側に保存しておきます。

2-1. 旧環境の全体バックアップ(wsl –export)

移行作業用のテンポラリフォルダとして、WindowsのCドライブ直下に C:\wsl-migration を作成し、そこへエクスポートします。

PowerShellを管理者権限で開き、以下のコマンドを実行します。

# 作業用フォルダの作成
New-Item -ItemType Directory -Path "C:\wsl-migration" -Force

# 実行中のUbuntu-24.04を安全に停止
wsl --terminate Ubuntu-24.04

# ディストリビューション全体をtarファイルとしてエクスポート
wsl --export Ubuntu-24.04 C:\wsl-migration\Ubuntu-24.04_backup.tar

このコマンドにより、ディストリビューションのルートファイルシステム全体がtarファイルとして保存されます。ファイルサイズは環境により数GBから十数GB程度になります。

2-2. バックアップからの復元方法(wsl –import)と注意点

万が一、既存の環境に戻したくなった場合や、別のPCへ環境を複製したい場合は、以下のインポートコマンドでバックアップ時点の状態を復元できます。

wsl --import Ubuntu-24.04-Restored C:\WSL\Ubuntu-24.04-Restored C:\wsl-migration\Ubuntu-24.04_backup.tar

注意点として、wsl --import で復元したディストリビューションは、初期状態では既定のログインユーザーが root に設定されます。普段使用していた一般ユーザーで起動したい場合は、復元後の環境の /etc/wsl.conf に以下の設定を追記し、WSLを再起動してください。

[user]
default=<username>

バックアップファイルが存在していれば、不測の事態が発生しても過去の状態を確実に手元に残せるため、安心して次の作業へ進むことができます。

3. Ubuntu 26.04のインストールと初期設定

バックアップの完了を確認したら、新しいUbuntu 26.04をインストールします。

3-1. Ubuntu 26.04のインストール(wsl –install)

PowerShellから以下のコマンドを実行し、Ubuntu 26.04を導入します。

wsl --install -d Ubuntu-26.04

インストールが完了するとターミナルウィンドウが自動で開き、初期ユーザー名(UNIX username)とパスワードの設定を求められます。旧環境と同じユーザー名にしておくと、ホームディレクトリのパス(/home/<username>)が一致するため、今後の設定移行がスムーズになります。

なお、管理者権限(sudo)のパスワード認証を無条件に省略する設定(NOPASSWD)は、スクリプト実行は容易になるものの、不正プロセスによる特権昇格のリスクを高めるため、通常のパスワード認証を維持することを強く推奨します。

3-2. systemdの動作確認(ps -p 1 -o comm=)

WSL2上のUbuntuでは、systemdがサービス管理デーモンとして広く使われています。Ubuntu 26.04のWSL環境では既定で有効になっている場合が多いため、まずは新環境のターミナルでPID 1のプロセスを確認します。

ps -p 1 -o comm=

実行結果として systemd と出力されれば、すでに正常に動作しています。追加の設定は不要です。

もし init などの旧来のプロセスが表示された場合のみ、/etc/wsl.conf に設定を追記します。既存の設定が存在する場合があるため、上書き(tee)ではなく追記(tee -a)で設定を反映させます。

sudo tee -a /etc/wsl.conf << 'EOF'
[boot]
systemd=true
EOF

設定を追記した場合は、PowerShellから wsl --shutdown を実行してWSL全体を再起動してください。

4. 旧環境からのデータ・開発設定の移行

新環境の土台が整ったら、旧環境(Ubuntu 24.04)から日常の開発に必要な設定ファイルやデータを引き継ぎます。

Linuxのワイルドカード(*)による通常コピーは、ドット(.)で始まる隠しファイルを除外してしまうため、設定ファイルの取りこぼしが発生しがちです。また、Windows領域を単純経由するとパーミッションが崩れる原因になります。

そのため、今回は旧環境側で tar コマンドを使ってアーカイブを作成し、新環境で展開する確実な手法を採用します。

4-1. SSH秘密鍵・公開鍵の安全な移行

GitHubやリモートサーバーへのアクセスに使用する鍵ファイル(~/.ssh/)を移行します。

旧環境(Ubuntu 24.04)のターミナルを開き、.ssh ディレクトリ内の全ファイルをtar形式でアーカイブしてWindows作業フォルダへ出力します。

# 旧環境(Ubuntu-24.04)で実行:隠しファイルも含めてアーカイブ
tar -czf /mnt/c/wsl-migration/ssh_backup.tar.gz -C ~/.ssh .

続いて、新環境(Ubuntu 26.04)のターミナルでアーカイブを展開し、パーミッションを設定します。

# 新環境(Ubuntu-26.04)で実行
mkdir -p ~/.ssh
chmod 700 ~/.ssh

# アーカイブを展開
tar -xzf /mnt/c/wsl-migration/ssh_backup.tar.gz -C ~/.ssh/

# パーミッションの適正化
chmod 600 ~/.ssh/id_* 2>/dev/null || true
chmod 600 ~/.ssh/*_rsa 2>/dev/null || true
chmod 600 ~/.ssh/google_compute_engine 2>/dev/null || true
chmod 600 ~/.ssh/config 2>/dev/null || true
chmod 644 ~/.ssh/*.pub 2>/dev/null || true
chmod 644 ~/.ssh/known_hosts* 2>/dev/null || true

秘密鍵のパーミッションが緩い場合、SSH接続時に警告(Permissions are too open)が出て拒否されるため、必ず所有者のみ読み書き可能な 600 に設定してください。

4-2. Git設定・シェル環境・コマンド履歴の移行

日々の開発スピードを支えるGit設定やシェル履歴(.zsh_history、.bash_history、.z、.viminfo)を移行します。

旧環境(Ubuntu 24.04)のターミナルで、必要なドットファイルをまとめてアーカイブします。

# 旧環境(Ubuntu-24.04)で実行
tar -czf /mnt/c/wsl-migration/dotfiles_backup.tar.gz -C ~ .gitconfig .zshrc .zsh_history .bash_history .z .viminfo 2>/dev/null || true

新環境(Ubuntu 26.04)のターミナルで、ホームディレクトリ直下へ展開します。

# 新環境(Ubuntu-26.04)で実行
tar -xzf /mnt/c/wsl-migration/dotfiles_backup.tar.gz -C ~

# 履歴ファイルのパーミッション設定
chmod 600 ~/.zsh_history 2>/dev/null || true
chmod 600 ~/.bash_history 2>/dev/null || true

tarを利用して明示的にファイルを指定して展開することで、隠しファイルであっても1つも漏れることなく確実に新環境へ反映されます。過去に実行した長大なコマンドの履歴検索(Ctrl+R)も移行直後からそのまま利用可能です。

4-3. クラウドCLI認証(gcloud等)の引き継ぎと注意点

Google Cloud SDK(gcloud)やAWS CLIなどの設定ディレクトリ(例: ~/.config/gcloud)についても、同様にtarで移行可能です。

# 旧環境でアーカイブ
tar -czf /mnt/c/wsl-migration/gcloud_backup.tar.gz -C ~/.config gcloud 2>/dev/null || true

# 新環境で展開
mkdir -p ~/.config
tar -xzf /mnt/c/wsl-migration/gcloud_backup.tar.gz -C ~/.config/

ただし注意点として、設定ファイルやプロジェクト選択の状態は引き継がれますが、OAuth認証の有効期限やセキュリティ方式によっては、移行後に gcloud auth login や aws sso login などの再認証が求められる場合があります。コピーだけで完全に再ログイン不要になるとは限らないため、移行後に必ず認証確認コマンドを実行してください。

4-4. トラブルシューティング:不足ツールの追加インストール(fzf等)

旧環境の .zshrc を適用した際、新環境に必要なパッケージが不足していると、ターミナル起動時に警告が表示されることがあります。

筆者の環境でも、oh-my-zshの起動時に以下のエラーが発生しました。

[oh-my-zsh] fzf plugin: Cannot find fzf in your PATH

これは、旧環境で有効化していたあいまい検索ツール fzf がUbuntu 26.04にまだ導入されていないことが原因です。以下のコマンドでパッケージを追加インストールすることで、即座に解消できます。

sudo apt update && sudo apt install -y fzf
source ~/.zshrc

このように、新環境で不足している依存コマンドが見つかった場合は、エラーメッセージの内容に応じてaptから順次導入していきます。

4-5. 一時退避フォルダの確実な削除

データの移行が完了したら、Windows側に作成した作業用フォルダ C:\wsl-migration(特にSSH秘密鍵のアーカイブが含まれている領域)を速やかに削除します。

PowerShellを管理者権限で開き、以下を実行します。

Remove-Item -Recurse -Force "C:\wsl-migration"

Windowsホスト側に秘密情報が平文や無暗号のアーカイブで残り続けるのを防ぐため、このクリーンアップ手順は必ず実施してください。

5. Windows側(既定ディストリ・Windows Terminal)の切り替え

Linux環境の整備が完了したら、Windows側の起動設定をUbuntu 26.04へ切り替えます。

5-1. 既定のディストリビューションを変更する(wsl -s)

PowerShellから以下のコマンドを実行し、WSLのデフォルトディストリビューションを変更します。

wsl --set-default Ubuntu-26.04

短縮コマンドの wsl -s Ubuntu-26.04 でも同様です。wsl -l -v を実行して、Ubuntu-26.04の先頭にアスタリスク(*)が付いていることを確認してください。

この設定は、コマンドプロンプトやPowerShellでディストリビューションを指定せずに単に wsl と入力した際に起動する環境を決定します。

なお、VS CodeのRemote – WSL拡張機能で単に「WSLに接続」を選んだ場合もこの既定環境が開きますが、特定のディストリビューションを開きたい場合は、VS Codeのコマンドパレット(Ctrl+Shift+P)から「WSL: 新しいWSLウィンドウで開く(ディストリビューションの選択)」を選ぶことで、旧環境のUbuntu 24.04にもいつでもアクセス可能です。

5-2. Windows Terminalのプロファイル確認と整理

Windows TerminalはWSLディストリビューションを自動検出し、プロファイルを自動生成する仕組みを持っています。

ターミナルのタブバーにある「+」の横のドロップダウンメニューを開き、「Ubuntu 26.04」という名前のプロファイルが自動追加されていることを確認してください。クリックすればそのまま新しいUbuntu 26.04のシェルが起動します。

なお、「Windows Terminalの既定プロファイル(新しいタブを開いた時に最初に起動するプロファイル)」と、「WSLの既定ディストリビューション」は独立した別個の設定です。ターミナル起動時に直接Ubuntu 26.04を開きたい場合は、Windows Terminalの設定画面の「スタートアップ」項目で、既定のプロファイルを「Ubuntu 26.04」に指定してください。

また、ドロップダウンメニューに旧環境の「Ubuntu 24.04」が残り続けて紛らわしい場合は、設定画面で旧環境のプロファイル項目にある「プロファイルを非表示にする」をオン(設定JSONでは "hidden": true)にしておくと一覧がすっきり整理されます。

6. 動作確認と旧環境の安全なクリーンアップ

切り替えが完了したら、新環境で主要な開発業務が正常に行えるかを確認します。

6-1. 疎通テスト

  • SSH接続テスト:ssh -T git@github.com を実行し、認証が通るか確認
  • リモートサーバー接続:普段利用しているVPSやクラウドサーバーへSSH接続できるか確認
  • クラウドCLI動作:gcloud projects list などを実行してエラーが出ないか確認
  • 開発サーバーの起動:Node.jsやPython等のWebアプリケーションを起動し、Windows側のブラウザ(localhost)から問題なく閲覧できるか確認

6-2. 旧環境(24.04)の登録解除(wsl –unregister)

新環境で数日間の実務を行い、何の問題もないことが確認できたら、役目を終えた旧Ubuntu 24.04を安全に削除します。

PowerShellを管理者権限で開き、以下のコマンドを実行します。

wsl --unregister Ubuntu-24.04

このコマンドを実行すると、旧ディストリビューションの仮想ディスク(ext4.vhdx)が完全に削除され、WindowsのCドライブから不要になったディスク領域が解放されます。

事前準備で作成したtarバックアップファイル(Ubuntu-24.04_backup.tar)は、念のため外付けドライブやクラウドストレージ等へアーカイブ保存しておくか、完全に不要と判断した段階で削除してください。

7. AIコーディングエージェントを活用して移行作業を効率化する

ここまでに解説した一連の作業(バックアップ、新規インストール、設定ファイルの移行、パーミッション修正、エラー解消、Windows側の設定)は、手動で行うとコマンドを1つずつ調べる必要があり、やはり一定の時間がかかります。

しかし、自律的にコマンドを実行できるAIコーディングエージェント(Google Antigravity等)をペアプロ相手として活用することで、この移行作業を劇的にスピードアップできます。

7-1. AIエージェントとの協調作業(実体験)

筆者が以前Ubuntu 22.04から24.04へ手動で移行した際は、各種コマンドを調べながら進めたため半日以上を費やしていました。しかし今回の移行では、AIエージェントを活用することで、わずか30分足らずで安全に全工程を完了させることができました。

AIエージェントは以下の点で非常に強力なサポートを発揮します。

  • 既存環境の調査:旧環境にインストールされているツールや設定ファイルの配置場所を自動で洗い出し
  • コマンドの自動実行:Windows側からPowerShell経由でWSLコマンドを呼び出し、tarアーカイブの作成や展開、パーミッション設定を自律実行
  • エラーの即時検出と修正:oh-my-zshの fzf 不足エラーなどを自動で検知し、適切なaptパッケージを提案・インストール

7-2. AIエージェントに依頼するプロンプト例

AIエージェントに依頼する際は、以下のように要件と制約を明確に指示します。

WSLの環境をUbuntu 24.04からUbuntu 26.04へ安全に移行したいです。
以下の手順に沿って作業をサポートしてください。

1. 既存のUbuntu-24.04を停止し、全体バックアップ(tar形式)をWindows作業領域にエクスポートする
2. wsl --install で Ubuntu-26.04 を新規インストールする(初期ユーザー作成は人間が入力します)
3. systemdの稼働状態を確認する
4. 旧環境からSSH鍵(パーミッション調整含む)、.gitconfig、gcloud設定、zsh履歴ファイルをtar経由で引き継ぐ
5. 既定ディストリビューションをUbuntu-26.04へ変更し、動作確認コマンドを実行する

7-3. セキュリティと人間のガバナンス(最重要)

AIエージェントに環境移行を任せる場合でも、セキュリティと安全性の観点から、人間が必ず管理・コントロールすべき原則があります。

  • 秘密情報の本文をAIに読み取らせない:SSH秘密鍵やAPIトークンなどの認証情報は、ファイル単位でのアーカイブ作成・展開(tar/cp)を実行させるにとどめ、ファイルの中身をプロンプトやチャットログ上に出力・送信させないこと
  • 破壊的操作は人間が明示的に承認する:旧環境の削除(wsl --unregister)やバックアップファイルの削除といった不可逆な操作は、AIに自動実行させず、必ず動作確認を終えた人間が最終判断して実行すること
  • 特権昇格の維持:AIの作業を自動化したいからといって、無条件に NOPASSWD を設定するような安易なセキュリティ低下は避けること

これらを守ることで、セキュリティを担保しながら、AIの自動化による恩恵を最大限に受けることができます。

8. まとめ

WSL環境におけるUbuntu 24.04から26.04への移行手順について解説しました。

  • WSL環境のOS更新は、稼働中の開発環境を保護するためにも「新規並行導入(サイド・バイ・サイド)」を選ぶのが安全で合理的
  • 旧環境のtarバックアップを事前に取得しておくことで、確実な復元手段を手元に確保できる
  • tarアーカイブを活用することで、隠しファイルやSSH鍵、シェル履歴を1つも取りこぼさずに新環境へ引き継げる
  • AIコーディングエージェントを活用すれば、面倒なコマンド発行やエラー対処を大幅に効率化し、短時間で安全に移行できる
  • 秘密情報の取り扱いと破壊的操作の承認は、必ず人間が責任を持ってコントロールすることが重要

「OSをバージョンアップしたいけれど、環境構築に時間が取れそうでためらっている」という方は、ぜひ本記事の手順とAIエージェントの力を借りて、安全で快適なUbuntu 26.04環境を整えてみてください。

次に読むおすすめ記事

WSL2環境の全体像やDocker・開発ツールの連携、初期セットアップ手順を体系的に学びたい方は、以下の完全ガイドもあわせて参考にしてください。

Windowsモダン開発環境構築ロードマップ|WSL・コンテナ・Cursor
WindowsマシンでWeb開発、バックエンド開発、クラウド開発、AIアプリ開発を行う際、いまや世界標準の構成となったのが「Windows 11 + WSL(WSL2 / WSL 3.0) + コンテナ + AIエディタ(Cursor / …

参考情報