Microsoft Store が機能しない場合は、wsl2 の 20.04 をインストールしますか?

Microsoft Store が機能しない場合は、wsl2 の 20.04 をインストールしますか?

wsl2で使用するために20.04をインストールする方法はありますか?しないMicrosoft Store (または Add-AppxPackage) が動作することに依存しますか?

理由: 私のコンピューターでは Microsoft Store と Add-AppxPackage が壊れており、修復を試みても失敗し、Microsoft の唯一の解決策は「Windows を再インストールする」ことです。これは、単に再生成する方法も、Store 自体をアンインストールして再インストールする方法もないため、です。他の人は、Add-AppxPackage が壊れた Microsoft Store を回避する抜け道ではないことをすでに発見しています。


ちなみに、私はすでに次のコマンドを実行してダウンロードしようとしました:

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

残念ながら、次のようなエラー メッセージが返されました。

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

イベント ビューアーのエラー メッセージを詳しく調べると、最終的には「Microsoft Store に必要な XML ファイルが何らかの理由で削除され、Windows を再インストールして Store を再インストールしない限り、それを復元する方法はありません」ということになります :-(

とにかく、Microsoft Storeの診断を手伝ってくれる人はいないと思いますが、WSL2用のUbuntu 20.04をインストールする別の方法があればいいなと思っています。必要Windows ストアが動作します。

答え1

WSL が既にインストールされている限り (WSL はストアに依存しないので、問題はないはずです)、wsl --importサブコマンドを使用して Ubuntu ディストリビューションを「サイドロード」できます。

すでにダウンロードしたパッケージには必要なファイルが含まれていますが、手順を簡素化するために、もう一度ダウンロードしていただきます。もちろん、このレシピを微調整することもできます。

  • まず、WSL ファイルの場所を選択します。例:

    cd $env:USERPROFILE
    mkdir -p wsl\instances\Ubuntu20_04
    mkdir wsl\images
    cd wsl
    
  • Appxパッケージを手動でそのwslディレクトリにダウンロードします。適切な直接リンクからダウンロードするか、ここまたは、あなたの場合は次の方法で:

    # Assuming we are still in the `wsl` directory created above
    Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing 
    
  • 結果として得られるファイルは、実際には名前が変更されただけの.zipファイルです。PowerShell でそれを抽出し、上記で作成したディレクトリinstall.tar.gzに移動しますimages

    # Still in the `wsl` directory
    Expand-Archive Ubuntu.appx
    mv Ubuntu\install.tar.gz images\
    Remove-Item -Recurse Ubuntu
    
  • install.tar.gzファイルを に抽出する必要がありますinstall.tar。PowerShell にも Windows にもこれを行うための組み込み機能がないため、これは好みに任せます。すでに 7-zip のようなものがインストールされていると思います。

  • images\install.tarの名前を に変更しますimages\Ubuntu20_04.tar。これは厳密には必要ではありませんが、追加のインスタンスをインストールする場合に備えて、「初期」イメージを保持しておくことをお勧めします。WSL は、メイン インスタンスを破損する恐れなく、潜在的に破壊的なものを試すことができる「使い捨て」インスタンスを起動するのに最適です。

  • ディレクトリ内からの続きwsl:

    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
    

    ...もちろん、usernameユーザー名に合わせて調整してください。ここ暗号化されたパスワードを作成する方法。

    私の知る限りでは、これにより、Ubuntu 20.04 の Microsoft Store インストールによってデフォルトのユーザーが作成されるのと同じ方法でユーザーが作成されます。

  • WSL Ubuntu を root として起動します。

    wsl -u root
    
  • インスタンスの起動時に実行されるデフォルトのユーザーを設定するには、/etc/wsl.conf次の内容の を作成します。

    [user]
    default=username
    

    ...もちろん、ユーザー名を置き換えてください。

  • PowerShell に戻る

  • インスタンスをシャットダウンして再起動し、次の内容を読み取れるようにしますwsl.conf

    wsl --terminate Ubuntu20.04
    

これで完了です。実行すると、wslUbuntu 20.04 がユーザー ID で実行されるはずです。

ここではすべてのステップをエンドツーエンドでテストする機会はありませんでしたが、これは私が過去に行ったことと私が提供した他の回答を組み合わせたものです。必要なすべての要素をまとめたと思いますが、問題が発生した場合はお知らせください。確認して調整します。

答え2

Windows の再インストールが必要と思われる問題を解決するために、Windows インストーラーのいわゆる「インプレース アップグレード」機能を利用しました。この機能は、すべてのファイルとアプリを保持したまま再インストールします。これが役立つかもしれません。このチュートリアルたとえば、詳細については、

今日、私はあなたの主な質問に対する究極の説明を見つけることができました。これは古い投稿なので、他の人がコピーしたものではないのですが: https://superuser.com/questions/1271682/win10-v170 に ubuntu-windows-subsystem-for-linux をインストールする方法はありますか? 最後に、MS でもこれをすべて文書化しています。 https://docs.microsoft.com/en-us/windows/wsl/インストールマニュアル

私の投稿への反対票の数が減ることを願っています。

関連情報