资讯动态

WSA 应用图标消失或变白的修复指南:基于 WSABuilds 的 userdata.vhdx 备份还原实战

发布时间:2026/9/13 5:49:13 来源:尧图企业网站定制
WSA 应用图标消失或变白的修复指南基于 WSABuilds 的 userdata.vhdx 备份还原实战【免费下载链接】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在 WSABuildsMagiskOnWSA 预构建镜像环境下WSA 更新或电脑重启后部分 Android 应用图标会消失或整体变白这是 WSA 本体存在的一个已知缺陷。本文基于仓库中 MissingIcons 修复文档 展开完整讲解“备份userdata.vhdx→ 卸载 WSA → 修改Install.ps1去除自动启动逻辑 → 重装 → 还原数据盘 → 启动”的全流程修复方案并结合安装脚本源码说明为什么要移除特定代码行、每一步在底层到底做了什么让读者既能照做、又知其所以然。一、问题现象与成因定位典型现象更新 WSA 版本或重启 Windows 之后开始菜单/桌面中 Android 应用的图标凭空消失或者全部显示为白色占位图标。官方文档给出的定性结论是这更像是WSA 本身的 bug原文档表述为 This looks like a bug in the WSA itself而非用户操作或第三方构建Magisk/KernelSU导致。从仓库文档结构看该问题被归类为安装后问题Post-Install Issues与 安装前问题Pre-Install Issues、WSA 停止工作 等其他故障指南并列且仓库内存在两份内容一致的修复文档MagiskOnWSA/DLL/docs/Fixes/MissingIcons.mdDLL 构建目录自带文档Documentation/Fix Guides/Post-Install Issues/MissingIcons.md主文档目录修复思路的底层逻辑WSA 中所有 Android 用户数据应用、数据、设置等全部保存在一个虚拟磁盘文件userdata.vhdx中。图标信息丢失后无法通过 WSA 界面自行恢复而重新初始化 WSA 的 Windows 侧注册状态又不想丢失 Android 侧数据于是方案就是保留userdata.vhdx不动把 WSA 的 Windows 宿主层整个拆掉重装再把数据盘放回去。这也正是 备份与恢复文档 所描述的数据结构userdata.vhdx“includes, but is not limited Android Apps and their data, settings etc.”。二、关键路径速查在开始操作前先记住本次修复涉及的两个 Windows 路径WSA 包名固定为MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe用途路径用户数据盘备份/还原目标%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx安装包脚本目录解压得到的MagiskOnWSA文件夹内的 installer/Install.ps1三、完整修复步骤以下步骤完整继承自 MissingIcons 修复文档共六步。第 1 步备份userdata.vhdx将以下文件复制到一个安全位置%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx这是唯一的用户数据载体后续整个流程都围绕它展开。务必在卸载 WSA 之前完成备份因为卸载后原文件即被清除。第 2 步卸载 WSA按照 卸载文档 的说明操作适用于通过 WSABuilds 安装的版本确认 WSA 没有在运行通过 Windows 搜索或“设置 → 应用 → 应用和功能”找到Windows Subsystem For Android™ Settings并点击卸载删除解压MagiskOnWSA的整个文件夹检查%LOCALAPPDATA%\Packages\下MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe文件夹是否残留若仍存在则删除若提示文件无法删除先确认 WSA 已完全关闭。注意文档原文引用的卸载指南来自外部仓库本仓库内对应的权威文档是 Documentation/WSABuilds/Uninstallation.md按此文档操作即可。第 3 步移除Install.ps1中的自动启动代码在新解压的MagiskOnWSA安装包中打开Install.ps1找到并删除安装完成后自动拉起 Magisk 和 Play Store 的两行Start-Process语句。原始文档给出的代码块如下function Finish { Clear-Host Start-Process wsa://com.topjohnwu.magisk Start-Process wsa://com.android.vending }为什么要删这两行结合源码可以看得很清楚。在 MagiskOnWSA/installer/Install.ps1 中Finish函数正是由这两行构成Function Finish { Clear-Host Start-Process wsa://com.topjohnwu.magisk Start-Process wsa://com.android.vending }而在同一文件的安装主流程 第 164–168 行 中脚本执行Add-AppxPackage ... -Register .\AppxManifest.xml注册 WSA 包一旦注册成功If ($?)就立即调用FinishWrite-Output Installing MagiskOnWSA.... Add-AppxPackage -ForceApplicationShutdown -ForceUpdateFromAnyVersion -Register .\AppxManifest.xml If ($?) { Finish }wsa://URI 会通过 WSA 的协议处理器直接启动子系统并打开指定应用。也就是说安装脚本跑完的瞬间 WSA 就会自动启动——而此时你还没有把备份的userdata.vhdx放回去WSA 启动会新建一个空的数据盘后续还原旧数据时就会冲突甚至失败。arm64/x64 两个架构变体的脚本arm64/Install.ps1、x64/Install.ps1中同样存在这段Finish逻辑修改方式一致。因此正确做法是删掉Finish函数体内的两条Start-Process行保留函数壳或删除整个函数均可只要确保安装脚本不再通过wsa://自动拉起应用然后再执行安装。变体提示如果你安装的不是标准 Magisk Play 构建需要移除的Start-Process行可能不同。DLL 构建自带文档 与 Backup and Restore.md 列出了各构建对应会启动的包名构建组件对应语句Android 设置Start-Process wsa://com.android.settings官方 MagiskStart-Process wsa://com.topjohnwu.magiskMagisk AlphaStart-Process wsa://io.github.vvb2060.magiskMagisk DeltaStart-Process wsa://io.github.huskydg.magiskGoogle Play StoreStart-Process wsa://com.android.vendingAmazon AppstoreStart-Process wsa://com.amazon.venezia按自己实际构建类型把Install.ps1中对应的启动行全部移除即可。第 4 步重新安装 WSA在修改后的MagiskOnWSA文件夹中运行安装Run.bat或 installer/Install.ps1。脚本会依次完成提权校验、依赖组件如 VirtualMachinePlatform 功能、运行时依赖包检查与安装、WsaClient /shutdown关闭残留进程、最终Add-AppxPackage -Register注册 WSA 包见 Install.ps1 第 90–168 行。由于第 3 步已移除自动启动逻辑安装完成后 WSA只会注册而不会启动——这正是我们想要的窗口期。第 5 步还原userdata.vhdx趁 WSA 尚未启动把第 1 步备份的userdata.vhdx覆盖/放置回%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx备份与恢复文档 还补充了一个实操细节重装后 PowerShell 窗口显示 Press any key to quit 时可能会弹出多个对话框忽略它们不要点击或关闭先去放数据盘放好后再处理弹窗。第 6 步启动 WSA此时再手动启动 WSA。WSA 会挂载还原后的数据盘应用及其图标随之恢复。警告原文档原样强调Do not start WSA before restoring user data.—— 在还原用户数据之前绝对不要启动 WSA。一旦先启动系统会生成全新的空数据盘旧数据将无法干净地写回图标问题依旧甚至数据丢失。四、原理小结修复流程为什么有效从源码结构看这套方案本质是“保留 Android 数据层、重建 Windows 宿主层”WSA 的 Windows 宿主Appx 包注册、协议处理器、开始菜单图标关联等由Add-AppxPackage -Register决定卸载重装会完整重建这部分Android 数据层独立存放在LocalCache\userdata.vhdx与宿主注册状态解耦图标消失属于宿主层/数据层关联错乱重建宿主后再挂回旧数据盘关联即被重新初始化Install.ps1的Finish函数源码位置是唯一的“自动点火器”移除后才能在“已注册、未启动”的窗口期内完成数据盘替换。五、注意事项与适用限制适用前提通过 WSABuilds/MagiskOnWSA 安装Install.ps1脚本体系的 WSA官方商店版没有Install.ps1第 3 步不适用但“备份 vhdx → 卸载重装 → 还原 vhdx”的主流程仍然成立。备份先行userdata.vhdx是唯一数据载体任何一步失败都应以备份为准重新来切勿跳过第 1 步。先备份再卸载卸载第 2 步会清除%LOCALAPPDATA%\Packages\...下的内容备份必须在卸载之前完成。变体构建要核对启动行KernelSU、Magisk Delta/Alpha、Amazon Appstore 等构建的Start-Process目标包名不同参考上表逐一核对。仓库文档对照本文流程与仓库内 MagiskOnWSA/DLL/docs/README.md 的 Restoring Your Backup 章节、Documentation/WSABuilds/Uninstallation.md 及 Documentation/WSABuilds/Backup%20and%20Restore.md 完全一致可按路径进一步深入查阅。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价