导入ext4.vhdx到wsl2中

最近不小心直接重装了 win11,导致 wsl2 下的 linux 全部丢失,好在还剩下一个 vhdx 磁盘还存在,我所有的文件都在里面,导入 wsl 中即可。接下来使用魔法来处理了。

image-20230324161941843

注意通过注册文件才把文件传输到 wsl2 中,新建一个 wsl-info.reg 文件

1
2
3
4
5
6
7
8
9
Windows Registry Editor Version 5.00

[HKEY_USERS\${SID}\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{${UUID}]
"State"=dword:00000001
"DistributionName"="${DISTRO_NAME}"
"Version"=dword:00000002
"BasePath"="\\\\?\\${VHDX_PATH}"
"Flags"=dword:0000000f
"DefaultUid"=dword:000003e8

需要把上面的变量替换成需要的 id

变量名 替换说明
SID 在命令行下,使用 whoami /user 获取当前的 SID
UUID 随机取一个 UUID,Online UUID Generator Tool
DISTRO_NAME 制定发行版名称
VHDX_PATH ext4.vhdx 的文件地址,使用双斜杠,例如 D:\WSL\ArchLinux

查看一下我的文件的样子

image-20230324165516807

执行这个文件即可。但是我导入的时候,报错 Access Deny。需要配置一下文件权限。找到 vhdx 文件,右击选择权限,给文件赋权完全访问即可。

参考文档:

从 VHDX 文件恢复 (导入) WSL 2 安装_wsl2 vhdx_henry_23 的博客-CSDN 博客

Licensed under CC BY-NC-SA 4.0
最后更新于 Jan 06, 2025 05:52 UTC
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计
Caret Up