LoginSignup
2
1

【WSL2】wslログイン時 "<3>WSL (18) ERROR: CreateProcessEntryCommon:370: getpwuid(0) failed 2" エラーになる場合の対処

Last updated at Posted at 2023-06-24

エラー概要

コマンドプロンプトからwlsコマンドを実行してログインしようとすると、以下のようなエラーメッセージが出力されてログインできないケースがあります。
本稿はこの事象の原因と対応を記したものとなります。

wslコマンド実行時エラー
C:\Users\yourname>wsl
Processing fstab with mount -a failed.

<3>WSL (18) ERROR: CreateProcessEntryCommon:370: getpwuid(0) failed 2
<3>WSL (18) ERROR: CreateProcessEntryCommon:374: getpwuid(0) failed 2
<3>WSL (18) ERROR: CreateProcessEntryCommon:577: execvpe /bin/sh failed 2
<3>WSL (18) ERROR: CreateProcessEntryCommon:586: Create process not expected to return

原因

WSLのデフォルトディストリビューションが、「docker-desktop-data」など、OSとしてログインできないものになっている場合に発生するようです。

WSLのデフォルトディストリビューション確認
C:\Users\yourname>wsl --list
Windows Subsystem for Linux Distributions:
docker-desktop-data (Default)
Ubuntu
docker-desktop

以下のようなシチュエーションで発生します。

  • Docker Desktop for Windowsをインストールし、またWSLのUbuntuディストリビューションをインストールする。
  • Ubuntuディストリビューションを初期化するため、 これをアンインストール/インストールする。

それまではデフォルトディストリビューションがUbuntuであったものが、アンインストールした時点でほかのものに変わってしまうことが原因です。

対処法

デフォルトディストリビューションをUbuntuなど、OSとしてログインできるものに変更します。

デフォルトディストリビューションの変更
C:\Users\yourname>wsl --setdefault Ubuntu
The operation completed successfully.

デフォルトディストリビューションが変更されたことを確認します。

デフォルトディストリビューションの変更
C:\Users\yourname>wsl --list
Windows Subsystem for Linux Distributions:
Ubuntu (Default)
docker-desktop-data
docker-desktop

これで、wslコマンドでログインできるようになります。

wslコマンドによるログイン
C:\Users\yourname>wsl
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

yourname@YOURHOST:/yourname/c/Users/yourname$
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1