You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

重置Windows(保留我的文件)后恢复WSL2实例的技术咨询

重置Windows(保留我的文件)后恢复WSL2实例的技术咨询

别担心,这种情况其实挺常见的,只要你的WSL磁盘文件还在用户目录里,完全可以把它重新挂载回来,我给你一步步说怎么操作:

  • 首先确认WSL环境正常:打开PowerShell,输入wsl --list --verbose,如果能正常输出(哪怕没有任何实例),说明WSL已经正确启用了。
  • 找到旧WSL的磁盘文件:它通常在你的用户目录下的AppData\Local\Packages文件夹里,对应你之前使用的发行版(比如Ubuntu的文件夹名类似CanonicalGroupLimited.Ubuntu22.04LTS_xxxxxx),进入该文件夹后找到LocalState目录里的ext4.vhdx文件,复制好这个文件的完整路径。
  • 创建一个新目录用来存放恢复后的WSL实例,比如C:\WSL\MyOldUbuntu,路径可以根据你的习惯选择,只要方便管理就行。
  • 执行导入命令:在PowerShell中输入(记得替换成你的实际用户名对应的发行版文件夹路径):
    wsl --import MyOldUbuntu C:\WSL\MyOldUbuntu "C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx"
    
    这里的MyOldUbuntu是你给恢复后的实例起的自定义名称,随便修改都可以。
  • 导入完成后,再次输入wsl --list --verbose,就能看到这个新导入的实例了,用wsl -d MyOldUbuntu命令就能启动它。
  • 可能默认启动用户是root,这时候可以切换回你原来的用户:进入WSL实例后,用sudo nano /etc/wsl.conf命令编辑配置文件,添加以下内容:
    [user]
    default=你的旧用户名
    
    保存退出后,执行wsl --terminate MyOldUbuntu终止当前实例,再次启动WSL时就会自动用你原来的用户登录了。

如果之前用的是WSL1,操作逻辑类似,只是磁盘文件会是rootfs文件夹而不是ext4.vhdx,导入时直接指定这个rootfs文件夹的路径即可。

备注:内容来源于stack exchange,提问作者jessehouwing

火山引擎 最新活动