Linux 0

    提高 WSL 使用体验的小技巧

    将环境变量隔离

    打开 wsl 终端,编辑/etc/wsl.conf,若不存在可以直接创建,在文件中写入

    [interop]
    appendWindowsPath = false

    保存,退出 wsl

    exit

    再次启动时更改生效

    将 wsl 版本升级至2

    安装完一个子系统时可以在 Powershell 中,通过指令查看所安装 wsl 子系统的 wsl 版本

    wsl -l -v

    如果版本是1,可以在设置中找到对应的子系统将其删除,再重新安装
    或者通过指令升级

    wsl --set-version 子系统名 2

    迁移子系统的虚拟磁盘位置

    安装时默认存储在C盘中,路径一般是C:\Users\Administrator\AppData\Local\Packages\...\LocalState\ext4.vhdx,如果安装了 Everything ,可以直接搜索ext4.vhdx
    找到路径后先复制下来,然后打开Powershell

    # 先关闭所有虚拟机
    wsl --shutdown
     
    # 进入磁盘管理
    diskpart
     
    # 选择虚拟磁盘文件
    select vdisk file="ext4.vhdx文件路径"
     
    # 压缩文件
    compact vdisk
     
    # 压缩完成后卸载磁盘
    detach vdisk
    #此时报错磁盘已卸载则可以忽略
    exit
    
    wsl --export 子系统名称 E:\WSL2_Debian.bak
     
    # 注销原来的虚拟机
    wsl --unregister 子系统名称
     
    # 重新导入,
    mkdir E:\wsl
    wsl --import 子系统名称 E:\wsl E:\WSL2_Debian.bak --version 2
     
    #设置启动的默认用户,默认每次都是以root身份启动
    debian config --default-user 用户名

    此时再打开子系统的终端且成功登录即迁移成功

    修改系统对 WSL 的资源配额

    在windows主系统的%userProfile%目录下,创建.wslconfig文件,%userProfile%可以直接在资源管理器中打开
    在文件中填入

    [wsl2]
    processors=4
    memory=20GB
    swap=4GB

    其中的配置可依据主机的配置更改
    关闭所有子系统

    wsl --shutdown

    使用命令检查是否已经关闭

    wsl -l -v

    完全关闭后再打开 wsl 终端即可使用

    参考文章:windows WSL2避坑指南