Рейтинг:1

Установить 20.04 для wsl2, если Microsoft Store не работает?

флаг id

Есть ли способ установить 20.04 для использования с wsl2, который не зависит от работы 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: сбой развертывания с HRESULT: 0x80073CF3, сбой пакета обновлений, зависимость или конфликт
Проверка.
Развертывание Добавление операции с целевым томом C: на пакете
CanonicalGroupLimited.Ubuntu20.04onWindows_2004.2020.424.0_x64__79rhkp1fndgsc из: (Ubuntu.appx) не удалось с ошибкой
0x80073CF3. См. http://go.microsoft.com/fwlink/?LinkId=235160 для помощи в диагностике проблем с развертыванием приложений.
ПРИМЕЧАНИЕ. Для получения дополнительной информации найдите [ActivityId] 014ee586-6a11-0004-ce43-5001116ad701 в журнале событий или используйте
командная строка Get-AppPackageLog -ActivityID 014ee586-6a11-0004-ce43-5001116ad701
В строке:1 символ:1
+ Add-AppxPackage .\Ubuntu.appx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo: WriteError: (D:\Downloads\Ubuntu.appx:String) [Add-AppxPackage], IOException
    + FullyQualifiedErrorId: DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

Если вы покопаетесь в сообщениях об ошибках в EventViewer, они в конечном итоге сведутся к тому, что «XML-файл, необходимый для Microsoft Store, был каким-то образом удален, и нет никакого способа вернуть его без переустановки Store путем переустановки Windows» :-(

В любом случае, я не ожидаю, что кто-то здесь поможет с диагностикой Microsoft Store, я просто надеюсь, что есть какой-то альтернативный способ установить Ubuntu 20.04 для WSL2, который не необходимость Магазин Windows для работы.

флаг in
Является ли WSL2 абсолютным требованием? Будет ли виртуальная машина жизнеспособным вариантом?
Bitbang3r avatar
флаг id
Я полагаю, что МОГУ использовать VirtualBox, если бы мне пришлось. Первоначально я начал использовать wsl (а не 2), потому что его производительность с Docker была намного лучше (по крайней мере, для мелких вещей, где время запуска составляло большую часть общего времени). Как только wsl (и неявно Hyper-V) был включен, VirtualBox стал полностью непригодным для использования. Позже, когда я вернулся к созданию AOSP, я перешел на wsl2, чтобы иметь возможность запускать xfce и DDD через VcXsrv. В конце концов я получил последнюю версию VirtualBox, которая не умирала при загрузке Linux с активным HyperV, но производительность была ужасной.
Bitbang3r avatar
флаг id
Теперь, когда я не могу осмысленно использовать wsl(2) *вообще*, пока я либо не переустановлю Windows, либо Microsoft не соберется с силами и не придумает правильный способ исправить неработающую установку Store, я полагаю, что мог бы также отключить wsl и HyperV, чтобы VirtualBox, по крайней мере, снова работал правильно. Вздох.
NotTheDr01ds avatar
флаг vn
Похоже, вы провели свое исследование, и я знаю, что вы говорите, что не ищете помощи в исправлении Магазина, но вы можете попробовать спросить об этом [Super User] (https://superuser.com). ). Будет ли работать «Восстановление» для Windows вместо полной переустановки? Даже во время полной установки есть возможность сохранить пользовательские файлы и приложения.
Рейтинг:1
флаг vn

Если у вас уже установлен WSL (который в любом случае не зависит от Магазина, так что это не должно быть проблемой), вы можете использовать wsl --импорт подкоманда, чтобы получить дистрибутив Ubuntu «загруженным».

Пакет, который вы уже загрузили, содержит нужный вам файл, но ради упрощения инструкций я попрошу вас загрузить его снова. Вы можете изменить этот рецепт, если хотите, конечно:

  • Сначала выберите место для ваших файлов WSL. Например:

    cd $env:ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ
    mkdir -p wsl\экземпляры\Ubuntu20_04
    mkdir wsl\images
    компакт-диск wsl
    
  • Загрузите пакет Appx вручную в этот wsl каталог, либо через соответствующую прямую ссылку, найденную здесь или, в вашем случае, через:

    # Предполагая, что мы все еще находимся в каталоге `wsl`, созданном выше
    Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing 
    
  • Полученный файл на самом деле просто переименованный .zip файл. Извлеките его в PowerShell и переместите установить.tar.gz к картинки каталог, созданный выше:

    # Все еще в каталоге `wsl`
    Распаковать-Архивировать Ubuntu.appx
    mv Ubuntu\install.tar.gz images\
    Remove-Item -Recurse Ubuntu
    
  • Вам нужно будет извлечь установить.tar.gz файл в установить.tar. Ни PowerShell, ни Windows не имеют встроенной функции для этого, поэтому я оставлю это на ваше усмотрение. Я предполагаю, что у вас уже установлено что-то вроде 7-zip.

  • Переименовать изображения\установить.tar к изображения\Ubuntu20_04.tar. Это не является строго обязательным, но я предпочитаю сохранять «чистый» образ на случай, если вы захотите установить дополнительные экземпляры. WSL отлично подходит для запуска «одноразовых» экземпляров, где вы можете попробовать что-то потенциально разрушительное, не опасаясь повредить основной экземпляр.

  • Еще изнутри wsl каталог:

    wsl --import Экземпляры Ubuntu20.04\Ubuntu20_04 images\Ubuntu20_04.tar --версия 2
    wsl --set-default Ubuntu20.04 # Необязательно и, возможно, не нужно, если это первый установленный дистрибутив
    wsl -u root useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" имя пользователя
    

    ...Конечно, настроить имя пользователя быть вашим именем пользователя. Видеть здесь как создать зашифрованный пароль.

    Насколько мне известно, это создаст пользователя так же, как пользователь по умолчанию создается при установке Ubuntu 20.04 в Microsoft Store.

  • Запустите WSL Ubuntu как root:

    wsl -u корень
    
  • Чтобы задать пользователя по умолчанию, который запускается при запуске экземпляра, создайте /etc/wsl.conf со следующим содержанием:

    [пользователь]
    по умолчанию = имя пользователя
    

    ... подставив свое имя пользователя, конечно.

  • Выйдите обратно в PowerShell

  • Завершите работу экземпляра, чтобы он мог вернуться и прочитать wsl.conf:

    wsl --завершить Ubuntu20.04
    

Это должно быть так. Бег wsl должен запустить Ubuntu 20.04 под вашим идентификатором пользователя.

У меня не было возможности проверить каждый шаг здесь от начала до конца, но это комбинация того, что я делал в прошлом, и других ответов, которые я предоставил. Я считаю, что у меня собраны все части, которые вам нужны, но если у вас возникнут проблемы, дайте мне знать, и я рассмотрю и настрою его.

neogeomat avatar
флаг br
Привет, шаги сработали хорошо. при попытке войти с "wsl -u username" выдает ошибку "-sh: 6: export: (x86)/Common: неверное имя переменной"
NotTheDr01ds avatar
флаг vn
@neogeomat И это без каких-либо других действий? Недавно я видел кого-то еще с этой ошибкой. Я почти уверен, что проблема в скрипте, который запускается через `sh` (не `bash`), который неправильно заключает в кавычки переменную `"$PATH"`. См. [этот ответ] (https://askubuntu.com/a/1355022/1165986) для более подробного обсуждения.
Рейтинг:-3
флаг de

To solve a problem that seemed to require reinstallation of Windows, I made use of a so called "in-place upgrade" capability of Windows installer that reinstalls keeping all your files and apps! This might help you. See this tutorial for example, for details.

Today I even managed to find this ultimate explanation to your main question, if not been copied-by other guy here, as this one is older post: https://superuser.com/questions/1271682/is-there-a-way-of-installing-ubuntu-windows-subsystem-for-linux-on-win10-v170 As last one, even MS documents this all: https://docs.microsoft.com/en-us/windows/wsl/install-manual

Hope my post will decrease in number of downvotes now..

NotTheDr01ds avatar
флаг vn
Добро пожаловать в Ask Ubuntu. Вероятно, есть несколько причин, по которым вы получаете отрицательные голоса. Во-первых, ваш первоначальный «ответ» (текущий первый абзац) — это просто ссылка, чтобы попытаться помочь решить проблему, которую, по словам исходного автора, они *не* пытались решить. Поскольку это не связано с реальным вопросом, он действительно заслуживает комментария (как я сделал в этой теме по основному вопросу). Я понимаю, что, как новый пользователь, у вас нет репутации, чтобы публиковать комментарии, и это сделано намеренно. Как только вы будете задавать вопросы или отвечать на них ответственно, вы получите эту привилегию.
NotTheDr01ds avatar
флаг vn
Во-вторых, ответы, содержащие только ссылки, здесь очень осуждаются (и, вероятно, это дополнительная причина отрицательных голосов). По крайней мере, резюмируйте ссылку, которую вы предоставили, но, как вы сказали, это * в основном * дубликат того, что я опубликовал (хотя есть некоторая полезность в различиях в этом ответе суперпользователя). И, в качестве примечания, нет, я не копировал этот ответ - я придумал свой ответ, действительно понимая процесс, и я обязательно проверил каждый шаг моего ответа, чтобы убедиться, что он применим к *этому* конкретному вопрос правильно. Тем не менее, оглядываясь назад, мой ответ можно упростить.
PeterG avatar
флаг de
Привет, спасибо за ваши комментарии, которые я могу принять более или менее, также приписывая это моему очень начальному уровню. Тем не менее, я не знаю, почему прямые решения очевидных вещей, которые другие пропустили, могут быть отвергнуты, а длинные личные вклады превосходят прямую информацию о поставщике по теме (доставленную позже). В любом случае, я хотел поделиться чем-то, с чем у меня был свежий опыт, а также отдать должное этому удивительному миру S.E. network Я так много раз вдохновлялся на сегодняшний день. Уважение к вашим навыкам и глубине, я не доберусь туда, так как просто жизнь происходит. Хорошо тебе провести время!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.