win11安装WSL
wsl与Linux发行版之间的关系:要先安装wsl才能安装Linux发行版。
wsl1和wsl2的区别:wsl2提供了完整的Linux内核。
所谓wsl1改为wsl2,实际上是将Linux发行版的版本改为2,如:wsl --set-version Ubuntu-22.04 2,将Ubuntu-22.04转到wsl2。
wsl.conf和.wslconfig配置
wsl.conf和.wslconfig官方文档:WSL 中的高级设置配置 | Microsoft Learn
wsl.conf配置实例
使用 wsl.conf 为 WSL 1 或 WSL 2 上运行的每个 Linux 发行版按各个发行版配置本地设置。
文件路径:/etc/wsl.conf。
可用于由 WSL 1 或 WSL 2 版本运行的发行版。
wsl.conf 文件支持四个部分:automount、network、interop 和 user。
使用 sudo 通过管理员权限在文本编辑器中打开 wsl.conf 文件进行配置:
# 启动设置
[boot]
#启用 systemd
systemd=true
# 设置在 WSL 实例启动时运行的命令字符串,此命令以根用户身份运行。 例如
service docker start。
command= ""
# 自动装载配置
[automount]
# 默认是true, 导致固定驱动器(即 C:/ 或 D:/)自动装载到 DrvFs 中的 /mnt 下。 false 表示驱动器不会自动装载,但你仍可以手动或通过 fstab 装载驱动器。
enabled=true
# 默认true, 设置启动 WSL 时要处理的 /etc/fstab。 /etc/fstab 是可在其中声明其他文件系统的文件,类似于 SMB 共享。 因此,在启动时,可以在 WSL 中自动装载这些文件系统。
mountFsTab=true
# 设置固定驱动器要自动装载到的目录。 默认情况下,此项设置为 /mnt/,因此 Windows 文件系统 C 驱动器会装载到 /mnt/c/。 如果将 /mnt/ 更改为 /windir/,则你应会看到固定的 C 驱动器装载到 /windir/c。
root=/mnt
# 网络配置
[network]
# true 将 WSL 设置为生成 /etc/hosts。 hosts 文件包含主机名对应的 IP 地址的静态映射。
generateHosts=true
# true 将 WSL 设置为生成 /etc/resolv.conf。 resolv.conf 包含能够将给定主机名解析为其 IP 地址的 DNS 列表。
generateResolvConf=true
# 设置要用于 WSL 发行版的主机名。默认是 Windows 主机名
hostname=hostname
# 互操作设置
[interop]
# 设置此键可确定 WSL 是否支持启动 Windows 进程。
enabled=true
# 设置此键可确定 WSL 是否会将 Windows 路径元素添加到 $PATH 环境变量。
appendWindowsPath=true
# 用户设置
[user]
# 设置在首次启动 WSL 会话时以哪个用户身份运行。默认是首次运行时创建的初始用户名。
defalut= ""
.wsl.config配置实例
- 默认情况下,.wslconfig 文件不存在。 它必须创建并存储在%UserProfile%目录中才能应用这些配置设置。
- 用于在作为 WSL 2 版本运行的所有已安装的 Linux 发行版中全局配置设置。
- 只能用于 WSL 2 运行的发行版。 作为 WSL 1 运行的发行版不受此配置的影响,因为它们不作为虚拟机运行。
- 在 PowerShell (注意,命令行终端不支持~)中使用 cd ~ 访问用户目录,通常是:C:\Users\,.wslconfig路径是:C:\Users\\.wslconfig。
- 可能需要运行 wsl --shutdown 来关闭 WSL 2 VM,然后重启 WSL 实例以使这些更改生效。
[wsl2]
# 自定义 Linux 内核的绝对 Windows 路径。默认是 Microsoft 内置内核提供的收件箱。
kernel=""
# 要分配给 WSL 2 VM 的内存量。默认是 Windows 上总内存的 50%
memory=4GB
# 要分配给 WSL 2 VM 的逻辑处理器数量。Windows 上相同数量的逻辑处理器
processor=2
# 一个布尔值,用于指定绑定到 WSL 2 VM 中的通配符或 localhost 的端口是否应可通过localhost:port从主机连接。
localhostForwarding=true
# 其他内核命令行参数。默认是空
kernelCommandLine=""
# 在“安全模式”中运行 WSL,这会禁用许多功能,应用于恢复处于错误状态的发行版。 仅适用于 Windows 11 和 WSL 版本 0.66.2+。默认是false
safeMode=false
# 要向 WSL 2 VM 添加的交换空间量,0 表示无交换文件。 交换存储是当内存需求超过硬件设备上的限制时使用的基于磁盘的 RAM。
swap=8GB
# 仅适用于 networkingMode = NAT。 布尔值,通知 WSL 将 Linux 中的 DNS 服务器配置为主机上的 NAT。 设置为 false 会将 DNS 服务器从 Windows 镜像到 Linux。
dnsProxy=true
# 如果值为mirrored,则会启用镜像网络模式。 默认或无法识别的字符串会生成 NAT 网络。
networkingMode=NAT
具有 size 值的条目后面必须跟上大小的单位,例如 8GB 或 512MB
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
配置的生效规则
必须等到运行你的 Linux 发行版的子系统完全停止运行并重启,配置设置更新才会显示。 这通常需要关闭发行版 shell 的所有实例后大约 8 秒。
可以在Linux发行版内执行关机命令,然后在命令行执行:wsl --list --running,检查Linux发行版是否还在运行。
另外,执行wsl --shutdown命令也能关闭Linux发行版,但它是关闭整个wsl和所有Linux,也可以使用 wsl --terminate 来终止立即运行的特定发行版。
WSL安装的Linux分发所在位置
1、存储位置:C:\Users\Administrator\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState
2、访问位置:打开资源管理器,在地址栏输入:\\wsl$
WSL命令参考文档:WSL 的基本命令 | Microsoft Learn
标签:设置,安装,WSL,wsl,发行版,Linux,win11,true From: https://blog.csdn.net/rightkk/article/details/139803285