wsl相关总结

启用WSL

VirtualMachinePlatform是WSL2依赖功能,需要系统支持(build 18917+),硬件支持VM功能并开启,安装完成后要重启计算机。

1
2
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

升级WSL到WSL2

1
2
3
wsl --set-version ubuntu 2 #设置为1则降级
wsl --set-default-version 2 #设置默认版本
wsl -l -v #显示已安装的列表

文件读写权限配置

修改/etc/wsl.conf添加如下内容

1
2
3
4
5
6
7
8
[automount]
enabled=true
root="/mnt/"
options="metadata,uid=1000,gid=1000,umask=22,fmask=111"
mountFsTab=true
[network]
generateHosts=true
generateResolvConf=true

修改源为阿里云镜像

1
2
3
4
5
6
sudo vim /etc/apt/sources.list
#替换成阿里云镜像
:%s/security.ubuntu/mirrors.aliyun/g
:%s/archive.ubuntu/mirrors.aliyun/g

sudo apt update && sudo apt upgrade -y

关闭git文件模式,解决wsl与windows上一边操作后,另一边git提示有文件修改问题。

1
2
git config core.filemode false
git config core.autocrlf true #如果windows上也配置了这个选项,则不建议关闭。

配置WSL2虚拟机内存与处理器数量

保存.wslconfig在用户目录下,Build 19041以上版本有效

1
2
3
[wsl2]
memory=4GB
processors=2

Linux加载WSL VDHX

1
2
3
4
5
sudo apt install libguestfs-tools #ubuntu
sudo yum install libguestfs-tools #centos

sudo virt-list-filesystems /path/to/vhdx
sudo guestmount -a /path/to/vhdx -m /dev/xxxx -r /path/to/mountpoint -o allow_other

VDHX扩容

  1. 使用wsl –shutdown关闭所有WSL实例
  2. 通过完成以下命令调整 WSL 2 VHDX 的大小:
    1
    2
    3
    4
    5
    diskpart
    list vdisk #如果这里未列出相应的虚拟磁盘,使用第5步查找
    Select vdisk file="<pathToVHD>"
    expand vdisk maximum="<sizeInMegaBytes>"
    #sizeInMegaBytes为更改后的大小,单位MB
  3. 启动 WSL 分发版
  4. 通过从 Linux 分发版命令行运行以下命令,让 WSL 知道它可以扩展其文件系统的大小:
    1
    2
    3
    sudo mount -t devtmpfs none /dev
    mount | grep ext4
    sudo resize2fs /dev/sdXX
  5. 找到 WSL 2 安装使用的 VHDX 文件
    a. 查找你的分发版安装包名称
    使用 PowerShell(其中,“distro”是分发版名称)输入以下命令:
    1
    Get-AppxPackage -Name "*<distro>*" | Select PackageFamilyName
    b. 找到 WSL 2 安装使用的 VHD 文件 fullpath,这将是你的 pathToVHD
    1
    %LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\<disk>.vhdx