„Datei kann nicht erstellt werden, wenn diese Datei bereits vorhanden ist“ im Windows-Terminal beim Öffnen von WSL2?

„Datei kann nicht erstellt werden, wenn diese Datei bereits vorhanden ist“ im Windows-Terminal beim Öffnen von WSL2?

Ich habe als normaler Benutzer Probleme, Ubuntu für WSL2 in meinem Windows-Terminal auszuführen.

Anstatt einer Bash-Eingabeaufforderung erhalte ich Folgendes und ich denke, das liegt daran, dass ich mehr als eine Ubuntu-Distribution mit demselben Namen habe, siehe unten:

Windows-Version: Microsoft Windows [Version 10.0.19044.1586]

WSL-Version:0.0.0.0

Verwenden Sie WSL1 oder WSL2:WSL2

Kernelversion:Linux-Version 5.10.102.1-microsoft-standard-WSL2 (oe-user@oe-host) (x86_64-msft-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Mi., 2. März 2022, 00:30:59 UTC

Schritte zum Reproduzieren:

  1. Öffnen Sie das Windows-Terminal als Nicht-Administratorkonto.

  2. Klicken Sie oben auf die Registerkarte mit dem Abwärtspfeil und wählen Sie Ubuntu aus.

  3. Eine neue Registerkarte wird mit der folgenden Fehlermeldung angezeigt:

    Eine Datei kann nicht erstellt werden, wenn diese Datei bereits vorhanden ist.

    [Prozess wurde mit dem Code 4294967295 (0xffffffff) beendet] Sie können dieses Terminal jetzt mit Strg+D schließen oder die Eingabetaste drücken, um es neu zu starten.

Ich denke, das Problem hängt damit zusammen, dass es zwei Ubuntu-Distributionen mit dem Namen Ubuntu gibt, die jedoch eine unterschiedliche GUID/UUID in der Registrierung haben:

wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
  Ubuntu    Stopped         2

PS C:\Users\me-user> reg query hkcu\software\microsoft\windows\currentversion\lxss

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss
    DefaultVersion    REG_DWORD    0x2
    DefaultDistribution    REG_SZ    {c329c2ee-fd20-4986-873a-351737eaf399}

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\AppxInstallerCache
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}

Sie werden bemerken, dass der Erste Werte hat, der Zweite jedoch nicht:

Erster:

PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}" /v DistributionName

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
    DistributionName    REG_SZ    Ubuntu

PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}"

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
    State    REG_DWORD    0x1
    DistributionName    REG_SZ    Ubuntu
    Version    REG_DWORD    0x2
    BasePath    REG_SZ    C:\Users\me-user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
    Flags    REG_DWORD    0xf
    DefaultUid    REG_DWORD    0x0
    PackageFamilyName    REG_SZ    CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc

2. Eins

PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}" /v DistributionName

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}
    DistributionName    REG_SZ    Ubuntu

(Keine anderen Schlüssel/Werte)

Mir ist aufgefallen, dass das Standard-WSL auf den zweiten Wert eingestellt ist c329c2ee-fd20-4986-873a-351737eaf399:

DefaultDistribution REG_SZ {c329c2ee-fd20-4986-873a-351737eaf399}

Ist es sicher, die Standardverteilung auf „die 1.“ zu ändern, {97307d71-8998-42a4-9600-ff372b6ec1ee}damit ich die Fehlermeldung nicht mehr sehe, wenn ich versuche, sie im Windows-Terminal zu öffnen?

Siehe auch: https://github.com/microsoft/WSL/issues/7998

Cannot create a file when that file already exists.

[process exited with code 4294967295 (0xffffffff)]
You can now close this terminal with Ctrl+D, or press Enter to restart.

verwandte Informationen