WSL:【wsl –update】うまくいかない場合の対処


はじめに

環境

  • Windows11
  • WSL2

状況

  • wsl –update実行(updateの左のハイフンは2つ)
  • 表示メッセージ
    • 「WSL 2 カーネルはロールバックした状態で、以前のバージョンのカーネルを使用しています。カーネル バージョン: 5.10.16」
  • 補足
    • ロールバックした後のロールフォワード(update再実行)

事象再現

再現手順

  1. wsl –update
    • 最新のバージョンになる
    • WSL再起動するまで以前のバージョンは保持される
  2. wsl –update –rollback
    • WSL再起動前にロールバック
    • 以前のバージョンの表示
    • ロールバック中のメッセージ
  3. wsl –update
    • ロールフォワード実行
      • ロールバック中のメッセージがそのまま表示される
    • 最新のカーネルバージョンを表示してほしい

正しくない表示

wsl --status
既定の配布: Ubuntu
既定のバージョン: 2

Linux 用 Windows サブシステムの最終更新日: 2022/02/10
Windows Subsystem for Linux カーネルは、'wsl --update' を使用して手動で更新できますが、システム設定が原因で自動更新が発 生することはありません。
カーネルの自動更新を受け取るには、 Windows Update の設定を有効にしてください:' Windowsの更新に、その他のMicrosoftの製品 の更新情報を受け取る'。
詳細については、 https://aka.ms/wsl2kernel.
 を参照してください
WSL 2 カーネルはロールバックした状態で、以前のバージョンのカーネルを使用しています。
カーネル バージョン: 5.10.16
  • ロールバックメッセージのまま
  • 表示されるカーネルバージョンも古い
    • カーネル バージョン:5.10.16
  • 執筆時点の最新
    • カーネル バージョン:5.10.60.1
  • 補足
    • 最新のバージョンにはなっている
      • 表示が正しく切り替わらない不具合と思われる
      • 以降の対処方法では残ってしまっているメッセージを削除する
    • Windows再起動してもバージョンの表示は正しくならない

対処方法

レジストリ・キー削除

【注意!】
Windowsのレジストリを操作する手順です。操作は自己責任でお願いします。

  1. レジストリエディタ起動
    • 「ファイル名実行して起動」-「regedit」入力
  2. キーまで移動
    • 場所:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss
  3. キー削除
    • 名前:RollbackKernel
    • ★★レジストリの操作は自己責任★★
  4. WSL再起動(必要ないかも)
    • 停止:wsl –shutdown
    • 起動:wsl

確認

wsl --status
既定の配布: Ubuntu
既定のバージョン: 2

Linux 用 Windows サブシステムの最終更新日: 2022/02/10
Windows Subsystem for Linux カーネルは、'wsl --update' を使用して手動で更新できますが、システム設定が原因で自動更新が発 生することはありません。
カーネルの自動更新を受け取るには、 Windows Update の設定を有効にしてください:' Windowsの更新に、その他のMicrosoftの製品 の更新情報を受け取る'。
詳細については、 https://aka.ms/wsl2kernel.
 を参照してください
カーネル バージョン: 5.10.60.1
  • 正しいカーネルバージョンが表示された
    • カーネル バージョン:5.10.60.1
  • ロールバック中のメッセージも表示されなくなった

リファレンス


Posted by futa