wslターミナルを開いても、次の事柄が表示されて
terminalが正常起動しない状態。
タイムアウト期間が経過したため、この操作は終了しました。
エラー コード: Wsl/Service/CreateInstance/CreateVm/0x800705b4
[プロセスはコード 4294967295 (0xffffffff) で終了しました]
このターミナルを Ctrl+D で閉じるか、Enter キーを押して再起動できます。
なお、この時点でのwslの状態は次の通り。
(base) PS C:\Users\masar> wsl --status
既定のディストリビューション: Ubuntu
既定のバージョン: 2
(base) PS C:\Users\masar> wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
docker-desktop Stopped 2
Ubuntu-20.04 Stopped 2
(base) PS C:\Users\masar> wsl --version
WSL バージョン: 2.7.8.0
カーネル バージョン: 6.18.33.1-1
WSLg バージョン: 1.0.73.2
MSRDC バージョン: 1.2.6676
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26200.8457
(base) PS C:\Users\masar>
次のコマンドですべてTrueの為、
wsl本体が消えているわけではないようです。
(base) PS C:\Users\masar> Test-Path "C:\Program Files\WSL\system.vhd"
True
(base) PS C:\Users\masar> Test-Path "C:\Program Files\WSL\tools\modules.vhd"
True
(base) PS C:\Users\masar> Test-Path "C:\Program Files\WSL\tools\kernel"
True
インストールされているアプリから、修復を選択した。

治らなかった。
ChatGPTに聞くと、
wslの最新は不具合報告があるとのことなので、
少し前のwslのバージョンに下げる
ps1ファイルを作ってくれた。
↓
# rollback-wsl-2.7.3.ps1
# WSL 2.7.8 -> WSL 2.7.3 rollback helper
# Ubuntu / Ubuntu-20.04 を削除する操作はしません。
$ErrorActionPreference = "Stop"
Write-Host ""
Write-Host "=== WSL 2.7.3 rollback helper ==="
Write-Host "Ubuntu本体は削除しません。WSL本体だけを 2.7.3 に戻します。"
Write-Host ""
# 管理者チェック
$isAdmin = ([Security.Principal.WindowsPrincipal] `
[Security.Principal.WindowsIdentity]::GetCurrent()
).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if (-not $isAdmin) {
Write-Host "ERROR: 管理者PowerShellで実行してください。" -ForegroundColor Red
Write-Host "PowerShellを右クリック → 管理者として実行 → このps1を実行"
exit 1
}
# 現在のWSL情報
Write-Host ""
Write-Host "現在のWSLバージョン:"
try {
wsl --version
} catch {
Write-Host "wsl --version の取得に失敗しました。続行します。"
}
Write-Host ""
Write-Host "WSLを停止します..."
wsl --shutdown 2>$null
# Docker Desktop関連を止める
Write-Host "Docker Desktop関連プロセスがあれば停止します..."
$dockerProcesses = @(
"Docker Desktop",
"com.docker.backend",
"com.docker.service"
)
foreach ($p in $dockerProcesses) {
Get-Process -Name $p -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue
}
# MSIダウンロード
$msi = "$env:TEMP\wsl-2.7.3.0.x64.msi"
$url = "https://github.com/microsoft/WSL/releases/download/2.7.3/wsl.2.7.3.0.x64.msi"
Write-Host ""
Write-Host "WSL 2.7.3 MSIをダウンロードします..."
Write-Host $url
curl.exe -L -o $msi $url
if (-not (Test-Path $msi)) {
Write-Host "ERROR: MSIのダウンロードに失敗しました。" -ForegroundColor Red
exit 1
}
Write-Host ""
Write-Host "まずは上書きインストール / 修復を試します..."
Write-Host "インストーラー画面が出たら Repair / 修復 を選んでください。"
Write-Host ""
Start-Process "msiexec.exe" -ArgumentList "/i `"$msi`"" -Wait
Write-Host ""
Write-Host "インストール後のWSLバージョンを確認します..."
try {
wsl --version
} catch {
Write-Host "wsl --version の取得に失敗しました。"
}
Write-Host ""
Write-Host "Ubuntu起動テストをします..."
try {
wsl --shutdown
wsl -d Ubuntu
} catch {
Write-Host ""
Write-Host "Ubuntu起動に失敗しました。" -ForegroundColor Yellow
Write-Host "もし『新しいバージョンが入っているためインストールできない』系だった場合、次の段階に進みます。"
}
Write-Host ""
Write-Host "ここでUbuntuが起動できたなら成功です。"
Write-Host ""
Write-Host "まだダメな場合だけ、WSL本体を一度アンインストールしてから2.7.3を入れ直します。"
Write-Host "Ubuntuアプリは消しません。wsl --unregister もしません。"
Write-Host ""
$answer = Read-Host "WSL本体だけをアンインストールして、2.7.3を入れ直しますか? Y/N"
if ($answer -ne "Y" -and $answer -ne "y") {
Write-Host ""
Write-Host "ここで終了します。"
exit 0
}
Write-Host ""
Write-Host "WSL本体をアンインストールします..."
wsl --shutdown 2>$null
winget uninstall --id Microsoft.WSL -e
Write-Host ""
Write-Host "WSL 2.7.3をインストールします..."
Start-Process "msiexec.exe" -ArgumentList "/i `"$msi`"" -Wait
Write-Host ""
Write-Host "最終確認:"
wsl --version
wsl -l -v
Write-Host ""
Write-Host "Ubuntu起動テスト:"
wsl -d Ubuntu
これを実行すると、Ubuntuは正常起動するようになった。
windowsなんて大っ嫌い。お疲れさまでした。
wsl --update
ChatGPTにかかわらず、いろんなエージェントさん、たまに打たせてくるので、気を付けたいですね。