目次
文書の過去の版を表示しています。
トラブルシューティング
WSL 2 が起動しない場合...
$ bash
???? ?????? ???????????
リモート プロシージャ コールに失敗しました。 [プロセスはコード 4294967295 で終了しました]
OS 情報
$ Get-CimInstance Win32_OperatingSystem | Format-List
SystemDirectory : C:\WINDOWS\system32 Organization : BuildNumber : 20211 RegisteredUser : tomoyan SerialNumber : 00330-80000-00000-AA490 Version : 10.0.20211
WSL ステータス
$ wsl --status
Default Distribution: FedoraRemix Default Version: 2 Linux 用 Windows サブシステムの最終更新日: 2020/09/10 WSL の自動更新が有効になっています。 カーネル バージョン: 4.19.128
「WSL 2 プロセスはコード 4294967295 で終了しました」が発生する場合
以下のように表示されて bash が起動しない。
WSL 2
もしくは、
WSL 2 [プロセスはコード 4294967295 で終了しました]
Windows バージョンは以下の通り。
$ cmd /c ver
Microsoft Windows [Version 10.0.19645.1]
Build 19645.mn_release.20065-1502 で WSL 2 が動作しないことに気が付いた。
このような時に試すこと
WSL 1 のディストリビューションは動作するか?
$ wsl -l -v
NAME STATE VERSION * fedoraremix Stopped 2 Fedora Stopped 2 Fedora-WSL1 Stopped 1
WSL 1 のディストリビューションを起動する。
$ wsl -d Fedora-WSL1
[root@Cmon tomoyan]# uname -a Linux Cmon 4.4.0-19645-Microsoft #1-Microsoft Thu Jun 05 15:02:00 PST 2020 x86_64 x86_64 x86_64 GNU/Linux
WSL 1 のディストリビューションは問題なく動作するので、利用したいディストリビューションを WSL 1 に戻して、不具合が解消されるまで待つことにする。
$ wsl --set-version fedoraremix 1
しかし、今回は WSL 2 から WSL 1 に変換しようとしても、WSL 2 と表示されるだけで変換すらできない。
変換中です。この処理には数分かかることがあります... WSL 2
このような場合は潔く諦める。😅💦💦💦笑
(うそです。Windows Update を確認しましょう。)
ちなみに以下の方法では解決しなかった
$ sudo netsh winsock reset
Winsock カタログをリセットしました。 リセットを完了するためにコンピューターを再起動する必要があります。
WSL 2 - Custom Kernel - Process exited with code 4294967295 · Issue #4904 · microsoft/WSL
最新の Windows Update で更新する
更新後に bash を起動する。
$ uname -a
Linux Cmon-wsl 4.19.104-microsoft-standard #1 SMP Wed Feb 19 06:37:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
WSL 2 で bash に接続されない場合 (build 19559.rs_prerelease.200131-1437 で発生)
2020/2/21 - build 19564.rs_prerelease.200207-1438 で改善
Microsoft Windows [Version 10.0.19559.1000] (c) 2020 Microsoft Corporation. All rights reserved. > bash > bash >
※プロンプトが $ に切り替わらない。
Windows Subsystem for Linux 1 (WSL 1) を使用するようにディストリビューションを設定してみる
wsl –set-version <Distro> 2 を実行する。
※ここでは <Distro> は fedoraremix である。
> wsl -l -v NAME STATE VERSION * fedoraremix Stopped 2 > wsl --set-version fedoraremix 1 Conversion in progress, this may take a few minutes... Conversion complete. > wsl -l -v NAME STATE VERSION * fedoraremix Stopped 1 > bash $
※WSL 1 だとプロンプトが $ に切り替わる。
再び Windows Subsystem for Linux 2 (WSL 2) を使用するようにディストリビューションを設定してみる
wsl –set-version <Distro> 2 を実行する。
※ここでは <Distro> は fedoraremix である。
>wsl -l -v NAME STATE VERSION * fedoraremix Running 1 > wsl --set-version fedoraremix 1 Conversion in progress, this may take a few minutes... The distribution is already the requested version. > wsl --set-version fedoraremix 2 Conversion in progress, this may take a few minutes... For information on key differences with WSL 2 please visit https://aka.ms/wsl2 Conversion complete. > wsl -l -v NAME STATE VERSION * fedoraremix Stopped 2 > bash >
※WLS 2 だとプロンプトが $ に切り替わらない。
原因不明なのでひとまず WSL 1 で使用することとする。