windows怎么备份和导出wsl_windows如何将wsl发行版导出为tar文件备份【方法】

如果您需要长期保存或迁移当前正在使用的WSL发行版,必须先将其完整文件系统导出为.tar归档文件。以下是实现该目标的多种可行方法:

一、使用wsl –export命令导出发行版

这是微软官方推荐的标准方式,适用于所有已安装且处于停止状态的WSL发行版,导出结果为包含完整根文件系统的压缩归档,可跨设备还原。

1、以管理员身份打开PowerShell或Windows Terminal。

2、执行命令查看当前已安装的发行版及其运行状态:wsl –list –verbose。

3、确认目标发行版名称(如Ubuntu-22.04)后,先温和终止其实例:wsl –terminate Ubuntu-22.04。

4、执行导出命令,指定目标路径与文件名:wsl –export Ubuntu-22.04 D:ackupubuntu-22.04.tar。

5、导出完成后,可通过Get-FileHash -Algorithm SHA256 D:ackupubuntu-22.04.tar验证文件完整性。

二、在导出前优化文件体积

直接导出可能包含大量缓存和日志,导致.tar文件过大;提前清理可显著减小备份体积,加快传输与导入速度。

1、进入WSL发行版终端,执行APT缓存清理:sudo apt clean && sudo apt autoremove -y。

2、清空系统日志(保留最近1天):sudo journalctl –vacuum-time=1d && sudo rm -rf /var/log/*.gz。

3、检查并卸载非必要挂载点:df -h,确保仅保留根文件系统挂载。

4、退出WSL并返回PowerShell,再执行wsl –shutdown确保无残留进程。

三、通过注册表预设默认导出路径

若需批量导出多个发行版并统一管理备份位置,可预先配置Windows注册表,避免每次手动输入长路径。

1、按下Win + R,输入regedit,回车打开注册表编辑器。

2、导航至路径:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionLxss。

3、右键空白处 → 新建 → 字符串值,命名为DefaultExportPath。

4、双击该字符串,将数值数据设为自定义备份目录,例如:D:wsl-backup。

5、此后所有使用wsl –export命令时,若未显式指定路径,系统将自动写入该目录。

四、利用Docker容器临时导出定制化Linux环境

当您未从Microsoft Store安装标准发行版,而是基于Docker构建了特定用途的Linux环境(如CentOS、Alpine),也可将其导出为WSL兼容的.tar格式。

1、在WSL中启动目标容器并赋予唯一名称:docker run -t –name wsl_export centos:stream9 /bin/bash -c “ls /”。

2、将容器文件系统导出至Windows可访问路径:docker export wsl_export > /mnt/c/temp/centos-stream9.tar。

3、删除临时容器:docker rm wsl_export。

4、该.tar文件即可用于后续wsl –import命令导入为独立发行版。

五、离线环境下从AppX包提取并导出

对于通过Microsoft Store下载但尚未安装的发行版,其原始AppX包内含rootfs.vhdx或filesystem.tar,可手动解压获取可导入的归档文件。

1、定位AppX安装包缓存路径:%LOCALAPPDATA%PackagesTheDebianProject.DebianGNULinux_76v4gmasvnhz4LocalState(路径依发行版而异)。

2、若存在ext4.vhdx,需先用dism挂载并导出:dism /Mount-VHD /VHDPath:.\ext4.vhdx /MountDir:D:\mount。

3、挂载成功后,使用tar命令打包整个挂载目录:tar -cf D:\backup\debian-offline.tar -C D:\mount .。

4、执行dism /Unmount-VHD /MountDir:D:\mount /Commit安全卸载虚拟磁盘。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。