====== WSL 2 トラブルシューティング ======
{{windows:wsl2_trouble_shooting_001.png?470|WSL2 トラブルシューティング 001}}\\
===== WSL 2 が起動しない場合... =====
WSL 2 で問題が発生して解決しない場合は、GitHub の [[https://github.com/Microsoft/wsl/issues|Issues · microsoft/WSL]] で最新情報を確認しましょう。\\
==== リモート プロシージャ コールに失敗する (Windows 10 Pro Insider Preview Build 20211.rs_prerelease.200904-1619) で発生 ====
$ bash
???? ?????? ???????????
リモート プロシージャ コールに失敗しました。
[プロセスはコード 4294967295 で終了しました]
**WSL のインストール状況**\\
$ wsl -l -v
NAME STATE VERSION
* FedoraRemix Stopped 2
Fedora Stopped 2
Fedora32-WSL1 Stopped 1
Fedora32 Stopped 2
**WSL 1** だと起動するときもあるので念のため確認\\
$ LxRunOffline r -n Fedora32-WSL1
リモート プロシージャ コールに失敗しました。
**WSL1, WSL2** ともに全滅です。潔く諦めましょう😅💦💦💦\\
昨日の最新情報: [[https://github.com/microsoft/WSL/issues/5907|WSL2 distro can't start: the remote procedure call failed (build 20211) · Issue #5907 · microsoft/WSL]]\\
動かないものは諦めて [[windows:hyper-v|Hyper-V - ハイパーバイザベース仮想化]] で暮らすのも手です。\\
つまり、軽量ユーティリティ VM ではなく、重量ハイパーバイザー VM を使うと言うことです。\\
どうしても WSL を使用したい場合は **[設定] - [更新とセキュリティ] - [回復]** へ行き、**「まえのバージョンの Windows 10 に戻す」** を実行する。(**ディスク クリーンアップ (cleanmgr.exe)** で **以前の Windows のインストール** を破棄してしまった場合は、これが不可能なので次の更新で改善されるのを待つしたありません)\\
{{windows:windows_10_recovery_001.png?390|}}
{{windows:cleanmgr_windows_10_recovery_001.png?280|}}\\
**wsl** コマンドのヘルプも半分以上英語で中途半端に日本語です😅💦💦💦(徹夜で作ったのかな❓)\\
$ wsl --help
Copyright (c) Microsoft Corporation. All rights reserved.
Usage: wsl.exe [Argument] [Options...] [CommandLine]
Arguments for running Linux binaries:
If no command line is provided, wsl.exe launches the default shell.
--exec, -e
Execute the specified command without using the default Linux shell.
--
Pass the remaining command line as is.
Options:
--distribution, -d
Run the specified distribution.
--user, -u
Run as the specified user.
Arguments for managing Windows Subsystem for Linux:
--export
Exports the distribution to a tar file.
The filename can be - for standard output.
--import [Options]
Imports the specified tar file as a new distribution.
The filename can be - for standard input.
Options:
--version
Specifies the version to use for the new distribution.
--list, -l [Options]
Lists distributions.
Options:
--all
List all distributions, including distributions that are currently
being installed or uninstalled.
--running
List only distributions that are currently running.
--quiet, -q
Only show distribution names.
--verbose, -v
Show detailed information about all distributions.
--set-default, -s
Sets the distribution as the default.
--set-default-version
Changes the default install version for new distributions.
--set-version
Changes the version of the specified distribution.
--shutdown
Immediately terminates all running distributions and the WSL 2 lightweight utility virtual machine.
--status
Show the status of Windows Subsystem for Linux.
--terminate, -t
Terminates the specified distribution.
--unregister
Unregisters the distribution and deletes the root filesystem.
--update [Options]
Manage updates to the WSL 2 kernel. If no options are specified, this will
update to the latest kernel version.
Options:
--rollback
Revert to the previous version of the WSL 2 kernel.
--help
Display usage information.
--マウント
すべての WSL2 配布に物理ディスクをアタッチしてマウントします。
オプション:
--ベア
ディスクを WSL2 に接続しますが、マウントしないでください。
--入力
ディスクのマウント時に使用するファイルシステムです。指定しない場合は、既定で ext4 になります。
**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 カタログをリセットしました。
リセットを完了するためにコンピューターを再起動する必要があります。
[[https://github.com/microsoft/WSL/issues/4904|WSL 2 - Custom Kernel - Process exited with code 4294967295 · Issue #4904 · microsoft/WSL]]\\
==== 最新の Windows Update で更新する ====
{{:windows:wsl2_exit_code_4294967295_windows_update_001.png?400|WSL 2 プロセス 終了コード 4294967295 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 に接続されない場合 (Windows 10 Prp Insider Preview 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 2** を実行する。\\
※ここでは は **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 2** を実行する。\\
※ここでは は **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 で使用することとする。\\