20.04 für WSL2 installieren, wenn der Microsoft Store nicht funktioniert?

20.04 für WSL2 installieren, wenn der Microsoft Store nicht funktioniert?

Gibt es eine Möglichkeit, 20.04 für die Verwendung mit wsl2 zu installieren, dienichtdavon abhängig, dass der Microsoft Store (oder Add-AppxPackage) funktioniert?

Warum: Microsoft Store und Add-AppxPackage sind auf meinem Computer defekt, Versuche, sie zu reparieren, waren erfolglos und Microsofts einzige Lösung ist „Windows neu installieren“, da es keine Möglichkeit gibt, es einfach neu zu generieren oder den Store selbst zu deinstallieren und neu zu installieren. Andere haben bereits festgestellt, dass Add-AppxPackage kein Schlupfloch ist, um einen defekten Microsoft Store zu umgehen.


Ich habe übrigens bereits versucht, es herunterzuladen, indem ich Folgendes ausgeführt habe:

Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
Add-AppxPackage .\Ubuntu.appx

Leider habe ich folgende Fehlermeldung erhalten:

Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict
validation.
Deployment Add operation with target volume C: on Package
CanonicalGroupLimited.Ubuntu20.04onWindows_2004.2020.424.0_x64__79rhkp1fndgsc from:  (Ubuntu.appx)  failed with error
0x80073CF3. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues.
NOTE: For additional information, look for [ActivityId] 014ee586-6a11-0004-ce43-5001116ad701 in the Event Log or use
the command line Get-AppPackageLog -ActivityID 014ee586-6a11-0004-ce43-5001116ad701
At line:1 char:1
+ Add-AppxPackage .\Ubuntu.appx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (D:\Downloads\Ubuntu.appx:String) [Add-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

Wenn Sie sich durch die Fehlermeldungen in der Ereignisanzeige wühlen, läuft es letztendlich darauf hinaus: „Eine vom Microsoft Store benötigte XML-Datei wurde irgendwie gelöscht, und es gibt keine Möglichkeit, sie wiederherzustellen, ohne den Store durch eine Neuinstallation von Windows neu zu installieren“ :-(

Wie auch immer, ich erwarte nicht, dass mir hier jemand bei der Diagnose des Microsoft Store hilft. Ich hoffe nur, dass es eine alternative Möglichkeit gibt, Ubuntu 20.04 für WSL2 zu installieren, die dies nicht tut.brauchenWindows Store funktioniert.

Antwort1

Sofern Sie WSL bereits installiert haben (das ohnehin nicht auf den Store angewiesen ist, sodass dies kein Problem darstellen sollte), können Sie den wsl --importUnterbefehl verwenden, um die Ubuntu-Distribution „side-loaded“ zu erhalten.

Das Paket, das Sie bereits heruntergeladen haben, enthält die Datei, die Sie benötigen. Um die Anweisungen zu vereinfachen, müssen Sie sie jedoch noch einmal herunterladen. Sie können dieses Rezept natürlich nach Belieben anpassen:

  • Wählen Sie zunächst einen Speicherort für Ihre WSL-Dateien. Beispiel:

    cd $env:USERPROFILE
    mkdir -p wsl\instances\Ubuntu20_04
    mkdir wsl\images
    cd wsl
    
  • Laden Sie das Appx-Paket manuell in dieses wslVerzeichnis herunter, entweder über den entsprechenden Direktlink, den Sie findenHieroder in Ihrem Fall über:

    # Assuming we are still in the `wsl` directory created above
    Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing 
    
  • Die resultierende Datei ist eigentlich nur eine umbenannte .zipDatei. Extrahieren Sie sie in PowerShell und verschieben Sie sie install.tar.gzin das imagesoben erstellte Verzeichnis:

    # Still in the `wsl` directory
    Expand-Archive Ubuntu.appx
    mv Ubuntu\install.tar.gz images\
    Remove-Item -Recurse Ubuntu
    
  • Sie müssen die install.tar.gzDatei extrahieren install.tar. Weder PowerShell noch Windows verfügen über eine integrierte Funktion dafür, daher überlasse ich das Ihren Wünschen. Ich gehe davon aus, dass Sie bereits etwas wie 7-Zip installiert haben.

  • Benennen Sie es images\install.tarum in images\Ubuntu20_04.tar. Dies ist nicht unbedingt erforderlich, aber ich möchte das „makellose“ Image behalten, falls Sie zusätzliche Instanzen installieren möchten. WSL eignet sich hervorragend zum Hochfahren von „Wegwerfinstanzen“, bei denen Sie etwas potenziell Zerstörerisches ausprobieren können, ohne befürchten zu müssen, Ihre Hauptinstanz zu beschädigen.

  • Noch aus dem wslVerzeichnis:

    wsl --import Ubuntu20.04 instances\Ubuntu20_04 images\Ubuntu20_04.tar --version 2
    wsl --set-default Ubuntu20.04 # Optional, and perhaps unnecessary if this is the first distribution installed
    wsl -u root useradd --create-home --user-group --groups  adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" username
    

    ... Natürlich, passen Sie usernameIhren Benutzernamen an. SieheHierInformationen zum Erstellen des verschlüsselten Passworts finden Sie hier.

    Soweit mir bekannt ist, wird dadurch ein Benutzer auf die gleiche Weise erstellt, wie der Standardbenutzer durch die Microsoft Store-Installation von Ubuntu 20.04 erstellt wird.

  • Starten Sie WSL Ubuntu als Root:

    wsl -u root
    
  • Um den Standardbenutzer festzulegen, der beim Start der Instanz ausgeführt wird, erstellen Sie eine /etc/wsl.confmit folgendem Inhalt:

    [user]
    default=username
    

    ... natürlich durch Ersetzen Ihres Benutzernamens.

  • Zurück zu PowerShell

  • Fahren Sie die Instanz herunter, damit sie wieder hochfahren und Folgendes lesen kann wsl.conf:

    wsl --terminate Ubuntu20.04
    

Das sollte es sein. wslUbuntu 20.04 sollte unter Ihrer Benutzer-ID ausgeführt werden.

Ich hatte noch keine Gelegenheit, jeden Schritt hier von Anfang bis Ende zu testen, aber dies ist eine Kombination aus Dingen, die ich in der Vergangenheit getan habe, und anderen Antworten, die ich gegeben habe. Ich glaube, ich habe alle Teile zusammen, die Sie brauchen, aber wenn Sie auf Probleme stoßen, lassen Sie es mich wissen, und ich werde es überprüfen und optimieren.

Antwort2

Um ein Problem zu lösen, das eine Neuinstallation von Windows zu erfordern schien, habe ich eine sogenannte „In-Place-Upgrade“-Funktion des Windows-Installers genutzt, die eine Neuinstallation unter Beibehaltung aller Ihrer Dateien und Apps ermöglicht! Das könnte Ihnen helfen. Siehedieses Tutorialbeispielsweise für Einzelheiten.

Heute ist es mir sogar gelungen, diese ultimative Erklärung zu Ihrer Hauptfrage zu finden, falls sie nicht von jemand anderem hier kopiert wurde, da es sich hierbei um einen älteren Beitrag handelt: https://superuser.com/questions/1271682/is-there-a-way-of-installing-ubuntu-windows-subsystem-for-linux-on-win10-v170 Und zuletzt: Sogar MS dokumentiert dies alles: https://docs.microsoft.com/en-us/windows/wsl/install-manual

Hoffe, dass die Zahl der Downvotes für meinen Beitrag jetzt abnimmt.

verwandte Informationen