合 WSL2中的高级设置配置wsl.conf 和 .wslconfig
Tags: OSWindows 11WSL2wsl.conf.wslconfig
简介
wsl.conf 和 .wslconfig 文件用于基于每个分发wsl.conf
() 和全局跨所有 WSL 2 分发.wslconfig
版 () 配置高级设置选项。 本指南将介绍每个设置选项(何时使用每种文件类型、存储文件的位置、示例设置文件和提示)。
wsl.conf 和 .wslconfig 有何区别?
可以使用以下两种方式为每次启动 WSL 时自动应用的已安装 Linux 分发版配置设置:
- .wslconfig ,用于在 WSL 2 上运行的所有已安装分发版 全局 配置设置。
- wsl.conf 为 WSL 1 或 WSL 2 上运行的 Linux 发行版配置 每个分发 版的设置。
这两种文件类型都用于配置 WSL 设置,但存储文件的位置、配置的范围以及运行分发的 WSL 版本都会影响要选择的文件类型。
正在运行的 WSL 版本会影响配置设置。 WSL 2 作为轻型虚拟机 (VM) 运行,因此使用虚拟化设置来控制使用 (使用的内存量或处理器量,如果使用 Hyper-V 或 VirtualBox) ,则可能很熟悉这些内存或处理器量。
wsl.conf
- 以
/etc
unix 文件的形式存储在分发目录中。 - 用于按分布配置设置。 此文件中配置的设置将仅应用于包含存储此文件的目录的特定 Linux 分发版。
- 可用于版本、WSL 1 或 WSL 2 运行的分发版。 .wslconfig
- 若要访问已安装的发行版的
/etc
目录,请使用发行版的命令行和cd /
访问根目录,然后使用ls
列出文件或使用explorer.exe .
在 Windows 文件资源管理器中查看。 目录路径应如下所示:/etc/wsl.conf
.wslconfig
- 存储在目录中
%UserProfile%
。 - 用于跨作为 WSL 2 版本运行的所有已安装 Linux 分发版全局配置设置。
- 只能用于 WSL 2 运行的分发版。 作为 WSL 1 运行的分发版不会受到此配置的影响,因为它们未作为虚拟机运行。
- 要访问
%UserProfile%
目录,请在 PowerShell 中使用cd ~
访问主目录(通常是用户配置文件C:\Users\<UserName>
),或者可以打开 Windows 文件资源管理器并在地址栏中输入%UserProfile%
。 目录路径应如下所示:C:\Users\<UserName>\.wslconfig
WSL 将检测这些文件是否存在、读取内容,并在每次启动 WSL 时自动应用配置设置。 如果文件丢失或格式不正确, (标记格式不正确) ,则 WSL 将继续按正常方式启动,而无需应用配置设置。
备注
使用 wsl.conf 文件调整每个发行版设置的功能仅适用于 Windows 版本 17093 及更高版本。
第 8 秒的规则
必须等到运行 Linux 分发版的子系统完全停止运行并重启,才能显示配置设置更新。 关闭分发外壳的所有实例后,这通常需要大约 8 秒。
如果启动分发版 (ie。Ubuntu) ,修改配置文件,关闭分发版,然后重新启动它。 你可能假设配置更改已立即生效。 但当前情况并非如此,因为子系统可能仍在运行。 在重新启动之前,必须等待子系统停止,以便为获取更改提供足够的时间。 可以通过使用 PowerShell 和以下命令来检查关闭 Linux 发行版 (shell) 后其是否仍在运行:wsl --list --running
。 如果未运行分发版,将收到响应:“没有正在运行的分发版。现在可以重启分发版,查看应用的配置更新。
该命令 wsl --shutdown
是重启 WSL 2 分发版的快速路径,但它将关闭所有正在运行的分发版,因此请明智地使用。
wsl.conf 的配置设置
wsl.conf 文件基于每个分发配置设置。 (有关 WSL 2 分发版的全局配置,请参阅 .wslconfig) 。
wsl.conf 文件支持四个部分:automount
、network
和interop
user
。 (在.ini文件约定之后建模,密钥将在节下声明,如 .gitconfig files.) 有关存储 wsl.conf 文件的位置的信息,请参阅 wsl.conf 。