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

资讯详情

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

WSABuilds 数据备份与恢复实战:userdata.vhdx 的完整备份、恢复流程与安装脚本原理

WSABuilds 数据备份与恢复实战:userdata.vhdx 的完整备份、恢复流程与安装脚本原理 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/WSABuildsWSABuilds 将 Android 系统、已安装应用及其数据、系统设置全部封装在名为userdata.vhdx的虚拟磁盘文件中因此围绕这个单一文件即可实现整机的数据备份与迁移。本篇基于 Backup and Restore 文档 讲解如何正确备份该文件以及在完全卸载后如何通过修改 Install.ps1 中的启动逻辑、在恰当的时机回填 VHDX 文件完成恢复并结合安装脚本源码解释恢复流程中每一步包括为什么会出现弹窗且必须忽略它们的底层原因帮助读者在重装、迁移磁盘或修复损坏环境时安全保留 Android 应用数据。userdata.vhdx 是什么存放在哪里WSA 的 Android 端并不是以真实分区形式存在而是运行在一个 Hyper-V/虚拟磁盘之上。userdata.vhdx就是这个虚拟磁盘的实体文件其中包含但不限于所有已安装的 Android 应用APK及其私有数据Android 系统设置、账户状态、Magisk/KernelSU 的 root 模块数据针对 MagiskOnWSA 构建。该文件的固定位置为%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx其中MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe是 WSA 的 AppX 包名LocalCache是其本地缓存目录。无论是官方 Microsoft Store 版 WSA还是通过 WSABuilds 安装的 MagiskOnWSA只要包名一致数据文件路径都相同。这一点在 Uninstallation 文档 与 MoveToExtDrive 指南 中也得到了反复印证。注意由于该文件可能随应用数据持续膨胀MoveToExtDrive 指南建议为 WSA 预留约 20GB 空间备份前请先确认目标位置容量足够并确保 WSA 未处于运行状态再复制该文件避免文件被占用导致拷贝不完整。备份流程备份操作非常直接关闭 WSA可通过 Windows 搜索打开 Windows Subsystem For Android Settings 关机或确认后台无 WSA 进程打开资源管理器定位到%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\将userdata.vhdx复制到安全位置移动硬盘、其他分区等。至此备份完成。该文件是唯一需要保留的数据载体Installation 文档 中从旧版本官方或 MagiskOnWSA迁移时保留数据的提示以及 MissingIcons 修复指南 中备份 → 修复 → 回填的方案依赖的都是同一个文件。恢复前的准备必须先完全卸载 WSA恢复流程与普通覆盖安装不同官方流程要求先彻底移除现有 WSA 安装。卸载步骤可参照 Uninstallation 文档确认 Windows Subsystem For Android 未运行通过 Windows 搜索打开 Windows Subsystem For Android Settings或添加和删除程序执行卸载删除之前解压并运行Run.bat的 WSABuilds 安装目录检查%LOCALAPPDATA%\Packages\下的MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe文件夹若仍存在则删除删除报错时请确认 WSA 已完全关闭。这一步的目的是确保恢复时 WSA 包以全新注册的方式装入LocalCache目录处于空目录状态等待我们放入旧数据盘。关键步骤从 Install.ps1 中移除 wsa:// 启动行在重新运行 Run.bat 重新安装 WSA之前必须先编辑解压目录内的 Install.ps1删除其中所有形如Start-Process wsa://...的启动行。需要删除的具体行取决于你安装的 WSA 构建类型原文档给出的完整对照如下构建类型需要从 Install.ps1 中删除的行Android SettingsStart-Process wsa://com.android.settingsOfficial 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以仓库中官方 Magisk 版本的 MagiskOnWSA/installer/Install.ps1 为例这些启动行位于安装完成回调函数Finish内Function Finish { Clear-Host Start-Process wsa://com.topjohnwu.magisk Start-Process wsa://com.android.vending }从源码结构看Finish在Add-AppxPackage -ForceApplicationShutdown -ForceUpdateFromAnyVersion -Register .\AppxManifest.xml注册包成功后被调用见 Install.ps1 第 165-168 行随后脚本输出All Done! Press any key to exit并等待按键见 Install.ps1 第 179-180 行。这正是原文档强调的核心时序点当 PowerShell 窗口显示 Press any key to quit 时上面这些Start-Process已经触发屏幕上会同时弹出多个对话框应用启动器/应用自身的弹窗。此时严禁点击或关闭任何弹窗——因为此刻 Android 端的 userdata 挂载与初始化尚未完成任何交互都可能干扰 WSA 对自身数据盘的探测破坏随后回填 VHDX 的时机。恢复流程完整步骤按原文档的操作顺序完整恢复流程如下完成上文卸载 WSA的全部步骤编辑解压目录中的Install.ps1按上表删除与你的构建类型对应的Start-Process wsa://...行运行Run.bat即执行powershell.exe -ExecutionPolicy Bypass -File .\Install.ps1重新安装 WSA当 PowerShell 窗口显示Press any key to quit时多个对话框会弹出——忽略它们不点击、不关闭趁此窗口期打开%localappdata%\Packages\若MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\目录不存在先手动创建将备份好的userdata.vhdx粘贴到MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\下关闭之前弹出的对话框启动 WSA按任意键关闭窗口后运行 WSA此时数据盘已被 WSA 作为 userdata 挂载应用、数据与设置应当恢复如初。整个流程的实质是在 WSA 首次创建自己的空 userdata 盘之前抢先放入旧数据盘。原文档也提示your userdata should hopefully be restored——若个别应用状态未恢复通常可重启 WSA 后再次确认。源码视角为什么更新不需要这样做而重装需要理解这一点有助于判断何时必须执行完整备份/恢复流程。观察 Install.ps1 第 169-178 行ElseIf ($null -Ne $Installed) { Write-Error Failed to update.rnPress any key to uninstall existing installation while preserving user data. ... Clear-Host Remove-AppxPackage -PreserveApplicationData -Package $Installed.PackageFullName Add-AppxPackage -ForceApplicationShutdown -ForceUpdateFromAnyVersion -Register .\AppxManifest.xml ... }从源码结构看当检测到已有 WSA 安装且本次是版本更新失败重试时脚本使用Remove-AppxPackage -PreserveApplicationData卸载——该参数明确保留 AppX 包的应用数据即userdata.vhdx随后重新注册。这也是 Installation 文档 中已有 MagiskOnWSA 时脚本会自动在保留全部用户数据的前提下重装新版本的原因。因此可以推断本文备份/恢复流程真正适用的场景是全新跨环境迁移官方 WSA 与其他构建互转、更换电脑或磁盘参见 MoveToExtDrive 指南其中明确要保留数据就备份 userdata.vhdx卸载后复制回 LocalCache 目录彻底卸载后重装按 Uninstallation 文档 手动删除了包与Packages目录后数据盘已被清除只能靠备份恢复数据损坏/环境异常修复如 MissingIcons 修复指南 中备份 → 重建环境 → 回填 VHDX的思路。而常规的 WSABuilds 版本更新走的是PreserveApplicationData路径无需手动备份。常见注意事项与限制备份时机WSA 运行期间userdata.vhdx被系统占用务必先关机/退出 WSA 再复制文件名大小写原文档写作Userdata.vhdx实际文件系统NTFS不区分大小写恢复时放入LocalCache\的文件名保持userdata.vhdx即可目录必须存在若%localappdata%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\不存在需手动逐级创建后再粘贴 VHDX弹窗纪律恢复过程中出现的所有对话框一律不点击、不关闭直到 VHDX 放置到位安装目录不可删除WSABuilds 通过Add-AppxPackage -Register .\AppxManifest.xml以非打包文件方式注册包安装目录解压后的 WSA 文件夹必须长期保留这一点在 Installation 文档的 Notice 部分 有明确说明适用前提本流程面向使用 WSABuilds/MagiskOnWSA 预构建产物、通过Run.bat安装的 WSAInstall.ps1中需要删除的Start-Process行会随构建类型官方 Magisk / Magisk Delta / Magisk Alpha / MindTheGapps 含 Google Play / Amazon Appstore 等而变化动手前先打开脚本确认实际内容。小结WSABuilds 环境下备份 复制一个文件恢复 在正确的时机放回同一个文件。userdata.vhdx承载了 Android 侧的全部数据资产恢复流程的难点不在文件本身而在于时序控制——先彻底卸载、修改 Install.ps1 移除自动启动行、在 Press any key to quit 阶段回填 VHDX、忽略全部弹窗。掌握这条链路及其在Install.ps1源码中的对应关系后无论是换盘、换机还是从损坏环境中自救都能以最小的操作面保住全部 Android 应用与数据。【免费下载链接】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),仅供参考
返回列表