尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

WSABuilds 图标消失/变白修复指南:通过 userdata.vhdx 备份与 Install.ps1 修改恢复 WSA 桌面图标

WSABuilds 图标消失/变白修复指南:通过 userdata.vhdx 备份与 Install.ps1 修改恢复 WSA 桌面图标 WSABuilds 图标消失/变白修复指南通过 userdata.vhdx 备份与 Install.ps1 修改恢复 WSA 桌面图标【免费下载链接】WSABuildsRun Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root solutions) built in.项目地址: https://gitcode.com/GitHub_Trending/ws/WSABuilds本指南针对 Windows Subsystem for AndroidWSA在更新或重启电脑后出现的应用图标消失或变为白色空白图标问题给出基于 WSABuilds 预构建发行包内置 Google Play Store 与 Magisk/KernelSU的完整修复流程。读完本文你将掌握通过备份/恢复userdata.vhdx用户数据磁盘、修改Install.ps1安装脚本中的Finish函数来修复图标缓存问题的可复现方案并理解该问题在源码层面的成因。问题现象与定位在 WSABuilds 项目中安装的 WSA 出现以下现象时即为本文要解决的图标问题更新 WSA 之后开始菜单或桌面上的 Android 应用图标消失重启电脑之后原本正常的图标变成白色空白图标turned white。需要说明的是这不是用户操作不当造成的而是 WSA 自身的一个 bugThis looks like a bug in the WSA itself原文档明确指出其性质因此无需卸载重装所有 Android 应用通过下述步骤即可恢复图标。根因分析安装脚本中的 Finish 函数从源码层面看该问题与 WSABuilds 安装脚本在安装完成后自动拉起应用的行为密切相关。在 MagiskOnWSA/installer/Install.ps1 中定义了Finish函数Function Finish { Clear-Host Start-Process wsa://com.topjohnwu.magisk Start-Process wsa://com.android.vending }这段代码在Add-AppxPackage成功注册 WSA 包后立即被调用见 Install.ps1 中If ($?) { Finish }的分支逻辑其作用是在安装结束时自动启动Magiskwsa://com.topjohnwu.magisk和Google Play Storewsa://com.android.vending。同样的函数也存在于按架构分发的安装脚本中包括 installer/x64/Install.ps1 与 installer/arm64/Install.ps1因此该问题不区分 x64 还是 arm64 构建。修复思路的核心正是重新安装时移除这两行自动启动逻辑避免安装完成后立刻初始化 Android 子系统从而让系统以干净状态重建图标缓存。修复步骤详解以下 6 步来自 MagiskOnWSA/docs/Fixes/MissingIcons.md 的完整流程已结合仓库源码补充可操作细节。第 1 步备份 userdata.vhdxuserdata.vhdx是 WSA 的用户数据虚拟磁盘其中包含 Android 应用及其数据、设置等内容参见仓库的 Backup and Restore.md 对userdata.vhdx作用的说明。其默认位置为%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx请先将该文件复制到安全位置如桌面或外部磁盘留存备份切勿在后续步骤中丢失它。第 2 步卸载 WSA按照仓库的 Uninstallation.md 完成卸载要点如下确保 Windows Subsystem for Android™ 未在运行通过 Windows 搜索或添加或删除程序找到Windows Subsystem for Android™ Settings并卸载删除之前解压并运行Run.bat的 WSA 文件夹检查%LOCALAPPDATA%\Packages\下是否仍存在MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe文件夹若存在则一并删除若提示无法删除请先确认 WSA 已完全关闭。提示你也可以参考 Uninstallation.md 中关于保留用户数据的说明但本修复流程本身已经通过备份userdata.vhdx保留了数据卸载阶段是否保留应用数据不影响最终结果。第 3 步移除 Install.ps1 中自动启动的两行在重新安装前打开你解压出的 WSA 文件夹中的Install.ps1由Run.bat调用的脚本见 MagiskOnWSA/installer/Run.bat删除Finish函数中自动启动 Magisk 与 Play Store 的两行function Finish { Clear-Host Start-Process wsa://com.topjohnwu.magisk Start-Process wsa://com.android.vending }即删掉Start-Process wsa://com.topjohnwu.magisk与Start-Process wsa://com.android.vending这两行仅保留Clear-Host保存文件。不同构建变体的扩展说明仓库的 Backup and Restore.md 明确指出需要删除的行因 WSA 构建类型而异。如果你使用的是 Magisk Delta、Magisk Alpha 或 Amazon Appstore 版本的构建Finish函数中的 URI 可能对应为构建类型Install.ps1 中对应的自动启动行Android 设置Start-Process wsa://com.android.settings官方 MagiskStart-Process wsa://com.topjohnwu.magiskMagisk DeltaStart-Process wsa://io.github.huskydg.magiskMagisk AlphaStart-Process wsa://io.github.vvb2060.magiskGoogle Play StoreStart-Process wsa://com.android.vendingAmazon AppstoreStart-Process wsa://com.amazon.venezia请根据你的构建类型删除对应行。需要说明的是WSABuilds 默认构建的Finish函数见 MagiskOnWSA/DLL/docs/README.md 中记录的 URI 清单通常包含 Magisk 与 Play Store 两行即本文第 3 步展示的默认形态。第 4 步重新安装 WSA回到解压出的 WSA 文件夹运行Run.bat或直接运行Install.ps1完成安装。脚本会以管理员权限重新注册 WSA 包对应Add-AppxPackage -ForceApplicationShutdown -ForceUpdateFromAnyVersion -Register .\AppxManifest.xml的调用见 Install.ps1。由于已移除自动启动行本次安装完成后WSA 不会自动拉起 Magisk 和 Play Store。第 5 步恢复 userdata.vhdx将第 1 步备份的userdata.vhdx复制回原路径%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx如果你的安装流程中该目录尚不存在比如全新注册的包尚未生成 LocalCache可参照 Backup and Restore.md 的建议手动创建MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\目录后再粘贴。第 6 步启动 WSA完成数据恢复后正常启动 WSA。此前消失或变白的应用图标应恢复为正常状态且应用数据已安装应用、设置等均得到保留。关键警告恢复数据前禁止启动 WSA警告在恢复userdata.vhdx之前切勿启动 WSA。这是整个修复流程中最重要的一条红线原文档以 Warning 形式强调。原因在于WSA 首次启动时会对userdata.vhdx进行初始化/挂载如果在恢复备份前已经启动过 WSA系统可能已经用全新的空数据磁盘覆盖或迁移了原有磁盘内容导致第 1 步的备份失去意义进而无法恢复原有图标与应用数据。因此请务必严格按照先恢复文件、后启动 WSA的顺序执行。修复原理小结从 Install.ps1 的执行链路看整个流程可以这样理解默认安装脚本在包注册成功后会立即通过Finish函数拉起 Magisk 与 Play Store此时子系统可能尚未完成初始化容易触发图标缓存异常即 WSA 自身的 bug通过备份 → 卸载 → 移除自动启动行 → 重装 → 恢复数据 → 启动的流程实际上是对 WSA 做了一次干净的包级重注册并以受控方式不自动启动任何 Android 应用完成首次初始化从而重建图标索引userdata.vhdx的备份/恢复保证了重装过程中应用数据零丢失。该修复思路与仓库 Backup and Restore.md 中删除自动启动行后再恢复 userdata的做法完全一致两者可以相互印证——如果你在备份恢复过程中遇到其他问题可对照该文档的完整恢复说明操作。预防与后续建议养成定期备份userdata.vhdx的习惯它是 WSA 全部用户数据的载体应用、数据、设置详见 Backup and Restore.md若你的构建中Finish函数包含其他 URI如 Amazon Appstore请一并移除后再执行恢复流程具体对照上文表格本修复针对的是 WSA 自身的图标 bug不适用于网络、虚拟化等其它故障场景遇到其他问题时请查阅仓库 Documentation/Fix Guides 下的对应修复文档。【免费下载链接】WSABuildsRun Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root solutions) built in.项目地址: https://gitcode.com/GitHub_Trending/ws/WSABuilds创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表