wsl相关总结


启用WSL

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

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

升级WSL到WSL2

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

文件读写权限配置

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

[automount]
enabled=true
root="/mnt/"
options="metadata,uid=1000,gid=1000,umask=22,fmask=111"
mountFsTab=true
[network]
generateHosts=true
generateResolvConf=true

修改源为阿里云镜像

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提示有文件修改问题。

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

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

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

[wsl2]
memory=4GB
processors=2

Linux加载WSL VDHX

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 的大小:
diskpart
list vdisk #如果这里未列出相应的虚拟磁盘,使用第5步查找
Select vdisk file=""
expand vdisk maximum="" 
#sizeInMegaBytes为更改后的大小,单位MB
  1. 启动 WSL 分发版
  2. 通过从 Linux 分发版命令行运行以下命令,让 WSL 知道它可以扩展其文件系统的大小:
sudo mount -t devtmpfs none /dev
mount | grep ext4
sudo resize2fs /dev/sdXX
  1. 找到 WSL 2 安装使用的 VHDX 文件
    a. 查找你的分发版安装包名称
    使用 PowerShell(其中,“distro”是分发版名称)输入以下命令:

    Get-AppxPackage -Name "**" | Select PackageFamilyName
    

    b. 找到 WSL 2 安装使用的 VHD 文件 fullpath,这将是你的 pathToVHD

    %LOCALAPPDATA%\Packages\\LocalState\.vhdx