在Windows10上运行WSA(Windows Subsystem for Android)安卓子系统
发表于:2024-02-16 | 分类: Windows操作系统

该存储库基于MagiskOnWSAWSAPatch,使用 Gihub Actions 自动将 Magisk root 和 Google Apps 集成到 WSA 中并使其在 Windows 10 上运行

本项目仅保证在Windows 10上稳定运行(理论上也可以在Windows 11上运行),如果您使用的是Windows 11,WSA-Script是更好的选择。

English |简体中文(github)|简体中文(gitee)

系统要求

Windows 内部版本号 Windows™ 10:22H2 Build 10.0.19045.2311 或更高版本(推荐)Windows™ 10:20H2 Build 10.0.19042.2604(最低) Windows™ 11:21H2 内部版本 22000.526 或更高版本

要使用 WSA,必须安装KB5014032,然后安装KB5022834
才能在这些 Windows 10 版本上使用 WSA

| 内存

  • 8 GB(最小)
  • 16 GB(推荐)

| |贮存
| |最低存储要求:系统驱动器 (C:\) 上必须至少有 10GB 可用空间
| |所需的 Windows 功能
| |启用虚拟机平台:需要!!!
| |启用 Windows Hypervisor 平台(可选)
| |启用适用于 Linux™ 的 Windows 子系统(可选)
| |启用 Hyper-V(可选)
| |这些可选设置用于虚拟化并提供运行 WSA 所需的组件。您可以通过按键盘上的 Windows 键 + R 并在框中键入“OptionalFeatures.exe”来启用这些设置,按 Enter 键并选择上面的功能,然后按应用虚拟化
| |计算机必须支持虚拟化 (Intel VT-x/AMD-V) 并在 BIOS/UEFI 和可选功能中启用。
| |不同的主板/笔记本有不同的启用方法,具体方法请到品牌官网查询,或者网上搜索

有关如何启用的指南

安装

注意:如果您安装了官方 Windows Subsystem For Android™,则必须完全卸载它才能使用 MagiskOnWSA。
如果您想保留以前安装(官方或MagiskOnWSA)的数据,您可以

1
%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx

在卸载前进行备份并在安装后恢复。有关更全面和详细的指南,请查看备份和恢复部分

  1. 进入发布页面
  2. 在最新版本中,转到资产部分并下载您选择的 Windows Subsystem For Android™ 版本(不要下载“源代码”)

注意:如果您想构建自定义版本,请打开一个Issue,然后从 Github Actions 下载 Artifact。请访问定制构建了解更多信息。

  1. 检查下载文件的完整性
    • 按键盘上的 Win + X,然后根据您运行的 Windows™ 版本选择 Windows™ Terminal (Admin) 或 Powershell (Admin)
    • 输入以下命令并按回车键,将 {X:\path\to\your\downloaded\archive\package} 包括 {} 替换为下载的存档包的路径
  2. cd “{X:\path\to\your\downloaded\archive\package}”
    • 输入以下命令并回车,替换WSA_2XXX.XXXXX.X.X_XXXX_Release-with-magisk-XXXXXXX-XXXXXX-MindTheGapps-XX.X为压缩包名称
  3. certutil -hashfile “WSA_2XXX.XXXXX.X.X_XXXX_Release-with-magisk-XXXXXXX-XXXXXX-MindTheGapps-XX.X” SHA256
    • 将 SHA256 输出与发布页面或 sha256-checksum.txt 中的输出进行比较(如果您从自定义构建任务下载工件)。
  4. 注意:如果软件包没有相同的 SHA-256 哈希值,请下载并再次检查。不要安装!
  5. 提取 zip 文件
  6. 删除 zip 文件
  7. 将新提取的文件夹移动到合适的位置并重命名(推荐),因为您需要将该文件夹保留在电脑上才能使用 WSAOnWin10

注意
如果您要更新 WSA,请在询问时合并文件夹并替换所有项目的文件。请访问更新说明以获取更多信息。

  1. 打开 Windows Subsystem For Android™ 文件夹:搜索并双击Run.bat
    • 如果您之前安装过 MagiskOnWSA,它会自动卸载之前的版本,同时保留所有用户数据并安装新的版本,因此不必担心您的数据。
    • 如果弹出窗口在未请求管理权限的情况下消失并且 Windows Subsystem For Android™ 未成功安装,您应该以管理员身份手动运行 Install.ps1:
      • 按Win+X并选择Windows™ 终端(管理员)
      • 输入以下命令并按 Enter 键,将 {X:\path\to\your\extracted\folder}(包括 {})替换为解压文件夹的路径cd “{X:\path\to\your\extracted\folder}”
      • 输入下面的命令并按回车键PowerShell.exe -ExecutionPolicy Bypass -File .\Install.ps1
      • 该脚本将运行并安装 Windows Subsystem For Android™
      • 如果此解决方法不起作用,则您的电脑不支持 WSA
  2. 安装过程完成后,Windows Subsystem For Android™ 将启动(如果这是首次安装,则会显示一个请求同意诊断信息的窗口。有时会显示两个相同的窗口,这很好,不会发生任何不良情况如果您在两个窗口中单击“确定”)
  3. 单击 PowerShell 窗口,然后按键盘上的任意键,PowerShell 窗口应该关闭
  4. 关闭文件资源管理器
  5. 享受

注意(适用于 Windows 10 和 11):

  1. 您无法删除 Windows Subsystem For Android™ 安装文件夹。作用Add-AppxPackage -Register .\AppxManifest.xml是使用一些现有的未打包文件注册 appx 包,因此只要您想使用 Windows Subsystem For Android™,就需要保留它们。检查https://learn.microsoft.com/en-us/powershell/module/appx/add-appxpackage?view=windowsserver2022-ps了解更多详细信息。
  2. 您需要先注册 Windows Subsystem For Android™ appx 包,然后才能运行 Windows Subsystem For Android™。对于WSAOnWin10MagiskOnWSALocal用户,您需要Run.bat在提取的目录中运行。如果脚本失败,可以采取以下步骤进行诊断(需要管理员权限):
    1. 打开 PowerShell 窗口并将工作目录更改为 Windows Subsystem For Android™ 目录。
    2. 在 PowerShell 中运行以下命令。这应该会失败并显示 ActivityID,这是下一步所需的 UUID。Add-AppxPackage -ForceApplicationShutdown -ForceUpdateFromAnyVersion -Register .\AppxManifest.xml
    3. 在 PowerShell 中运行以下命令。这应该打印失败操作的日志。Get-AppPackageLog -ActivityID
    4. 检查日志,找出失败原因并修复。

更新中

如何在不丢失 Windows Subsystem for Android (WSA) 上的任何应用程序和数据的情况下进行更新

  1. 下载您想要更新到的版本
  2. 确保 Android 的 Windows 子系统未运行(单击 WSA 设置中的“关闭”并等待旋转加载程序消失)
  3. 使用 7-Zip、WinRAR 或任何其他选择的工具,打开 .zip 文件
  4. 在 .zip 存档中打开子文件夹(示例:WSA_2XXX.XXXXX.X.X_XXXX_Release-with-magisk-XXXXXXX-XXXXXX-MindTheGapps-XX.X)
  5. 选择此子文件夹中的所有文件,并将它们解压到 Windows Subsystem For Android 文件所在的当前文件夹(您从中解压并安装 WSA 的文件夹)
  6. 当提示替换文件夹时,选择“对所有当前项目执行此操作”,然后单击“是”
  7. 当提示替换文件时,单击“替换目标中的文件”
  8. 运行Run.bat文件
  9. About启动 Windows Subsystem For Android 设置应用程序并使用侧边栏转到选项卡
  10. 检查 WSA 版本是否与最新版本/您要更新到的版本号匹配

卸载

注意
如果您想保留数据,请备份该%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx文件。卸载后,将VHDX文件复制回该%LOCALAPPDATA%\Package\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache文件夹。
如需更全面、更详细的指南,请查看此自述文件中的备份和恢复部分

  • 要删除已安装的 WSA:
    • **1.)**确保 Windows Subsystem For Android™ 未运行
    • **2.)**Windows Subsystem For Android™ Settings使用内置的 Windows 搜索进行搜索,或通过添加和删除程序进行搜索,然后按卸载
    • **3.)**删除您解压并运行 Run.bat 以安装 WSA 的 WSA 文件夹(MagiskOnWSA 文件夹)
    • **4.)**转到%LOCALAPPDATA%/Packages/并删除名为的文件夹MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe
      • 如果您收到一条错误消息,指出无法删除文件,请确保 WSA 已关闭
  • 要从 Microsoft Store 中删除安装的 WSA:
    • **1.)**Windows Subsystem For Android™ Settings使用内置的 Windows 搜索进行搜索,或通过“添加和删除程序”进行搜索,然后按卸载

备份和恢复用户数据

备份您的用户数据

为了备份您的 WSA 数据,您必须将位于 的 Userdata.vhdx(包括但不限于 Android 应用程序及其数据、设置等)复制到安全%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx位置

恢复您的备份

在尝试恢复备份之前,您必须删除 WSA(如果已安装)。然后,在运行“Run.bat”脚本(在删除 WSA 后重新安装 WSA)之前,您需要从 Install.ps1 中删除这些行:
Start-Process “wsa://com.topjohnwu.magisk” Start-Process “wsa://com.android.vending” Start-Process “wsa://com.amazon.venezia” Start-Process “wsa://com.android.settings”
运行脚本后,根本不要运行 WSA,然后转到%localappdata%\Packages和(如果文件夹不存在,请创建它们)MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\粘贴userdata.vhdx
现在运行 WSA,您的 Serdata 应该会恢复

定制建造

重要: ⚠️DO NOT FORK⚠️
该存储库专门设计为不可分叉。由于滥用 GitHub Actions ,MagiskOnWSA 以及该平台上出现的一些(_可能_)各种分支和克隆违反了 GitHub 的服务条款,并最终被警告、禁用或禁止。
因此,除非您是开发人员并且想要修改代码本身和/或想要为此 Github 存储库做出贡献,否则不要分叉此存储库。
如果您想创建自定义构建,请按照明确的说明进行操作,以避免由于大量分叉而误用 Github Actions 导致存储库被删除。另外,如果您想使用最新的 Insider 版本进行构建,请跳过前 7 个步骤

1. 首先从Releases中查看版本。如果没有您想要的版本,请继续遵循本指南。如果是这样,那么请随意使用那些预构建的 WSA 版本

2. 直接打开此页面,然后选择您要构建的选项。然后单击“提交新问题”(绿色按钮)并等待。

3. 大约20分钟后,机器人会回复工作流程已成功构建(如下图),打开机器人评论下方的链接

4.下载包作为工件

不要通过 IDM 等多线程下载器下载
[]

5. 使用此存储库中的说明像平常一样安装

如何上传icu.dllWindowswinhttp.dll11 图像

icu.dll而winhttp.dll在Windows 11中镜像是WSA在Windows 10上运行的关键,因为有些函数在Windows 10镜像中并不存在上述dll文件。此存储库提供的所有构建都已包含上述 dll 文件以及“WSAPatch.dll”,因此如果您只是使用此存储库提供的构建,则可以忽略此部分
该存储库使用 Issues 和 Github Actions 自动获取 Windows 11 映像中的 dll 文件并注入“WSAPatch.dll”。访问此链接可查看存储库中已有的 dll 文件。如果您想提交更新的 dll 文件,请按照以下步骤操作
笔记
请不要随意上传dll文件,并正确填写信息

1. 访问此链接,然后根据图片填写信息。如果您确定所填写的信息,请选中“上传”复选框;如果您不确定,请不要选中“上传”复选框。然后单击“提交新问题”(绿色按钮)并等待。

[]

2. 大约5分钟后,机器人会回复下载成功(如下图),打开机器人评论下方的链接查看日志。Artifacts中的文件是获取的dll文件

[]

3. 如果您选择了“上传”复选框,Github Actions 将自动上传获取的 dll 文件。如果没有,可以查看日志和获取的dll文件,然后根据情况重复上述步骤

如果您无法提供 Windows 11 映像的链接,请手动获取icu.dll并winhttp.dll打开拉取请求。

常问问题

帮助我,我在使用 MagiskOnWSA 构建时遇到问题

  • 在 Github 中打开一个问题并足够详细地描述该问题

请帮助我,我在 Windows™ 10 上安装适用于 Android™ 的 Windows 子系统时遇到问题

  • 我没有开发该补丁,也没有声称这样做。在 Github 中提出问题,如果可能的话,我会尽力帮助您解决问题。如需全面支持,请访问项目主页并在那里打开问题

我如何获得 logcat?

  • 有两种方法:

    1
    adb logcat

    或者

  • 在 Windows 中的位置 —>
    %LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalState\diagnostics\logcat

我可以删除已安装的文件夹吗?

  • 不。

如何将 Windows Subsystem For Android™ 更新到新版本?

如何更新 Magisk?

我可以通过 SafetyNet/Play Integrity 吗?

  • 不可以。由于缺乏 Google 签名,像 Windows Subsystem For Android™ 这样的虚拟机无法自行通过这些机制。通过需要更奇特的(且未经测试的)解决方案,例如:kdrag0n/safetynet-fix#145(评论)

什么是虚拟化?

  • 运行 Windows Subsystem For Android™ 等虚拟机需要虚拟化。 Run.bat帮助您启用它。重新启动后,重新运行Run.bat以安装 Windows Subsystem For Android™。如果仍然无法正常工作,您必须在 BIOS/UEFI 中启用虚拟化。说明因 PC 供应商而异,请在线寻求帮助。

我可以将系统分区重新挂载为可读写吗?

  • 不会。Windows Subsystem For Android™ 由 Hyper-V 以只读方式安装。system.img但是,您可以通过创建 Magisk 模块或直接修改文件来修改系统分区。

我无法 adb 连接 localhost:58526

  • 确保开发者模式已启用。如果问题仍然存在,请在设置 —> 开发者页面上检查 Windows Subsystem For Android™ 的 IP 地址并尝试。
    1
    adb connect ip:5555
    Magisk在线模块列表为空?
  • Magisk 主动删除在线模块存储库。您可以在本地安装该模块,也可以通过步骤1
    1
    adb push module.zip /data/local/tmp
    第2步
    1
    adb shell su -c magisk --install-module /data/local/tmp/module.zip
    如何卸载 Magisk?
  • 使用问题从发布页面
    请求不包含 Magisk 的 Windows Subsystem For Android™ 版本。然后按照更新说明进行操作

如何安装KernelSU管理器?

  • 使用 ADB 连接到 WSA。
  • 运行以下命令:adb shell ksuinstall
  • 如果安装成功完成,KernelSU Manager 将启动。

制作人员

  • Microsoft:用于提供 Windows Subsystem For Android™ 和相关文件。Windows Subsystem For Android™、Windows Subsystem For Android™ 徽标、Windows™ 10 和 Windows™ 11 徽标是 Microsoft Corporation 的商标。微软公司保留对这些商标的所有权利。下载并安装 Windows Subsystem For Android™ 即表示您同意条款和条件以及隐私政策
  • Cinit 和 WSAPatch 指南:非常感谢 Cinit 和 WSAPatch 存储库的贡献者提供的全面指南、文件和支持。此存储库中的 Windows™ 10 构建依赖于该项目的辛勤工作,因此在适当的时候给予了信任
  • StoreLib:用于下载 WSA 的 API
  • Magisk:Android 版魔法面具
  • KernelSU:基于内核的 Android 根解决方案
  • MagiskOnWSALocal:将 Magisk root 和 Google Apps 集成到 WSA 中
  • WSA-Script:使用 GitHub Actions 将 Magisk root 和 Google Apps 集成到 WSA(适用于 Android 的 Windows 子系统)中

该存储库作为实用程序提供。
Android 是 Google LLC 的商标。Windows™ 是 Microsoft LLC 的商标。

上一篇:
INSTALL.WIM文件集成激活KEY和OEM证书的方法
下一篇:
Win10怎样删除运行历史记录