wsl.conf и .wslconfig документдля каждогораспределениеwsl.conf
() иобщая ситуация во всем WSL 2 распределение.wslconfig
версия () Настройте дополнительные параметры Параметры. В этом руководстве Воля объясняет каждую настройку параметров (когда действие использует каждый тип документа、Местоположение магазина документов、Пример SET документации).
Существует два способа настройки параметров установленного дистрибутива Linux, которые автоматически применяются при каждом запуске WSL:
Оба типа файлов используются для настройки параметров WSL, но место хранения файла, область конфигурации и версия WSL, на которой работает дистрибутив, влияют на выбор типа файла.
Версия WSL, которую вы используете, влияет на параметры конфигурации. WSL 2 работает как облегченная виртуальная машина (VM), поэтому вы, возможно, знакомы с настройками виртуализации для управления объемом используемой памяти или процессора (если вы используете Hyper-V или VirtualBox).
/etc
unix документиз Формальное хранениесуществоватьраспределениев каталоге。/etc
Оглавление,пожалуйстаделатьиспользовать Дистрибутивиз Заказ ХОРОШОи cd /
Получите доступ к корневому каталогу и используйте ls
списокдокументилиделатьиспользовать explorer.exe .
существовать Windows документ Посмотреть в проводнике。Оглавлениепутьотвечатьнравиться Внизпоказано:/etc/wsl.conf
%UserProfile%
。%UserProfile%
Оглавление,пожалуйстасуществовать PowerShell серединаделатьиспользовать cd ~
Доступ к домашнему каталогу (обычно это документ конфигурации пользователя). C:\Users<UserName>
),или можно открыть Windows документ Explorer и в адресной строке введите «Существует». %UserProfile%
。Оглавлениепутьотвечатьнравиться Внизпоказано:C:\Users<UserName>.wslconfig
WSL обнаружит существование этих файлов, прочитает их содержимое и автоматически применит параметры конфигурации при каждом запуске WSL. Если файл отсутствует или неправильно отформатирован (тег имеет неправильный формат), WSL продолжит нормально запускаться без применения параметров конфигурации.
Проверьте, какая версия WSL работает.
Примечание
Возможность настройки параметров каждого дистрибутива с помощью файла wsl.conf доступна только в Windows версии 17093 и более поздних версиях.
Прежде чем появятся обновления параметров конфигурации, вам необходимо дождаться полной остановки и перезапуска подсистемы, на которой работает дистрибутив Linux. Обычно это занимает около 8 секунд после закрытия всех экземпляров оболочки дистрибутива.
Если вы начнете раздачу (ie。Ubuntu) , измените файл конфигурации, закройте дистрибутив и перезапустите его. Вы можете предположить, что изменения конфигурации вступят в силу немедленно. В настоящее время это не так, поскольку подсистема может все еще работать. Перед перезапуском необходимо дождаться остановки подсистемы, чтобы обеспечить достаточно времени для принятия изменений. Это можно сделать с помощью PowerShell ик Вниз Заказприди и проверьзакрытие Linux Дистрибутив (shell) Позжеда Нетсуществоватьбегать:wsl --list --running
。нравиться Камибегатьраспределениеверсия,Воля получил ответ: «Текущей существующей версии распределения не существует. Сейчас существующая версия может быть перезапущена».,Просмотр обновлений конфигурации приложения.
Команда wsl --shutdown
Это перезапуск WSL 2 Быстрый путь к дистрибутивам, но он отключит все работающие дистрибутивы, поэтому используйте его с умом.
wsl.conf документ на основе каждого распределения Настройки конфигурации.(связанный WSL 2 Глобальную конфигурацию распределения см. .wslconfig) 。
wsl.conf документподдерживатьчетыре части:automount
、network
иinterop``user
。(существовать.iniдокумент моделирование после соглашения,Заявление в разделе ключ Волясуществовать,нравиться Файлы .gitconfig.) О хранилище wsl.conf Информацию о расположении файла см. wsl.conf 。
По умолчанию многие Linux В дистрибутиве используется «systemd». (,включать Ubuntu) и WSL Недавно была добавлена поддержка этого менеджера системы/сервиса, поэтому WSL Больше похоже на использование вашего любимого компьютера на «голом железе» Linux версия дистрибутива. требуется версия 0.67.6+ из WSL Систематизацию можно включить. Использовать команду wsl --version
исследовать WSL Версия. Если вам нужно обновиться, вы можете Microsoft Store Получить последнюю версиюиз ВСЛ. существовать Подробности смотрите в анонсе блога.
Чтобы включить systemd,пожалуйстаделатьиспользоватьsudo
Права администраторасуществоватьтекстовый редакторсередина Открытьдокументwsl.conf
,и Воляк Вниз ХОРОШОдобавить в/etc/wsl.conf
:
Баш-копия
[boot]
systemd=true
Затем вам нужно использовать PowerShell закрытие WSL распределение wsl.exe --shutdown
версия для перезапуска WSL Пример。распределение После перезапуска,系统отвечатьбегать。Можеткделатьиспользоватьк Вниз Заказ Входить ХОРОШОподтверждать:systemctl list-unit-files --type=service
этот Воля Показать услугиизсостояние。
тег раздела:[automount]
key | ценить | default | иллюстрировать |
---|---|---|---|
enabled | boolean | да | true в результате получается фиксированный диск (т.е. C:/ или D:/) автоматически монтируется в DrvFs серединаиз /mnt Вниз. ЛОЖЬ выражатьводить машина не загрузится автоматически, но вы все равно можете загрузить ее вручную fstab Подключите привод. |
mountFsTab | boolean | да | true Начало установки WSL Когда иметь дело с /etc/fstab。/etc/fstab да Можетсуществовать Чтосерединазаявление Чтоонфайловая системаиздокумент, аналогичный SMB поделился. Поэтому при запуске вы можете WSL Эти файловые системы автоматически монтируются в . |
root | string | /mnt/ | Исправлены настройки привода машина должна автоматически загрузиться в каталог из. по По умолчанию этот параметр устанавливается для /mnt/, поэтому Windows файловая система C Привод установлен на /мнт/с/. Если вы измените /mnt/``/windir/, вы увидите, что он смонтирован в /windir/cизfixed C водить машину. |
Параметры | Список цен, разделенных запятыми, например uid、gid и т.д., см. ниже из Параметры автозагрузки | пустая строка | Параметры перечислены ниже автозагрузкиценить,идобавить кпо умолчанию DrvFs Загрузка Параметрынить. Может быть указано только для конкретного DrvFs из Параметры。 |
Параметры автозагрузкидля всех машинаиз загружена Параметры app. Чтобы изменить только конкретный привод машинуиз Параметры, используйте вместо этого /etc/fstab
Документ. Обычно загруженный двоичный документ анализируется с получением флага из Параметры, на который не влияет поддержка. Если вы хотите явно указать эти параметры, вы должны включить существование, которое /etc/fstab
Выполнять ХОРОШОэтот Держатьделатьизкаждыйводить машину.
для Windows водить машину (DrvFs) Установка различных параметров нагрузки может контролироваться Windows документ вычисляет права доступа к документу. Предлагаемые параметры:
ключ | иллюстрировать | по умолчанию |
---|---|---|
uid | Для всех владельцев документов по идентификатору пользователя | При первой установке WSL Дистрибутивизпо умолчаниюиспользоватьсемья ID (по умолчаниюдля 1000) |
gid | Для всех владельцев документов из группы ID | При первой установке WSL Дистрибутивизпо умолчанию Группа ID (по умолчаниюдля 1000) |
umask | Исключить разрешения из восьмеричной маски для всех каталогов документов. | 000 |
fmask | Исключить разрешения из восьмеричной маски для всего документа | 000 |
dmask | Чтобы исключить восьмеричную маску разрешений для всех каталогов | 000 |
metadata | данет Воляметаданные добавлены в Windows файлы для поддержки Linux Системные разрешения | disabled |
case | ОК, можно считать учетом регистраиз Оглавлениекиделатьиспользовать WSL Создать из нового каталога без установки флажка. Дополнительную информацию о Параметрыизиллюстрировать см. учетом регистра。Параметрывключать off、 dirили force。 | off |
по По умолчанию WSL воля uid и gid Настройки умолчаниюиспользоватьсемьяизценить。примернравиться,существовать Ubuntu Внутри, по стандартный вариант для uid=1000, gid=1000. Если для этого указано действие, то цена будет отличаться от gid или uid Параметры,Волякрышкапо умолчаниюиспользоватьсемьяценить。нетно,Сила воли — значение по умолчанию.
(umask) Установите разрешения для вновь созданной маски режима создания пользовательских документов. по умолчаниюценитьдля 022, данные можно только записывать, но читать данные может каждый. Можно изменить, чтобы отразить различные настройки разрешений. Например, umask=077
Измените разрешения, чтобы они были полностью конфиденциальными, другие пользователи не смогут читать или записывать данные. Для дальнейшего указания разрешений вы также можете использовать fmask (документ) и dmask (Оглавление) 。
Примечание
Маска разрешения существует задается логической операцией или перед применением к каталогу документов.
DrvFs да WSL изфайловая системаплагин,цельсуществоватьподдерживать WSL и Windows файловая из совместимости между системами. фс позволять WSL существовать /mnt Внизнагрузкаподдерживатьфайловая системаизводить машина, например /mnt/c、/mnt/d ждать. О существовании загрузка Windows или Linux водить директорию машиныили при указании по умолчаниюс учетом регистра ХОРОШОдляиз Для получения дополнительной информации см. с учетом регистра страница.
тег раздела:[network]
key | ценить | default | иллюстрировать |
---|---|---|---|
generateHosts | boolean | true | true Воля WSL Настройка для генерации /etc/hosts。hosts документ Включатьимя хостапереписыватьсяиз IP Адрес изстатическое картографирование。 |
generateResolvConf | boolean | true | true Воля WSL Настройка для генерации /etc/resolv.conf。resolv.conf Содержит способность Воля по данному имени хостаанализироватьдля Что IP Адрес из DNS список. |
hostname | string | Имя хоста Windows | настройки, которые будут использоваться для WSL распределениеизимя хоста。 |
тег раздела:[interop]
Эти параметры доступны участникам предварительной версии в версии 17713 и выше.
key | ценить | default | иллюстрировать |
---|---|---|---|
enabled | boolean | true | Установите этот ключ для подтверждения WSL данетподдерживатьзапускать Windows процесс. |
appendWindowsPath | boolean | true | Установите этот ключ для подтверждения WSL данетволя Windows Элементы пути добавляются к $PATH переменные среды. |
тег раздела:[user]
этотнекоторый Параметрысуществовать Версия 18980 Доступно в и более поздних версиях.
key | ценить | default | иллюстрировать |
---|---|---|---|
default | нить | Создайте начальное имя пользователя при первом запуске | Установить это назначение клавишсуществоватьпервыйзапускать WSL Пользователь, от имени которого запускается сеанс. |
Настройки запуск применяется только к Windows 11 и Server 2022。
тег раздела:[boot]
key | ценить | default | иллюстрировать |
---|---|---|---|
Заказ | string | "" | ты хочешьсуществовать WSL Запустите из Заказнить при запуске экземпляра. Этот Заказ выполняется от имени пользователя root. Например: сервис docker start |
Ниже из Пример wsl.conf
В документе показаны некоторые доступные параметры развертывания. Ubuntu-20.04,документпутьдля \\wsl.localhost\Ubuntu-20.04\etc\wsl.conf
。
Баш-копия
# Automatically mount Windows drive when the distribution is launched
[automount]
# Set to true will automount fixed drives (C:/ or D:/) with DrvFs under the root directory set above. Set to false means drives won't be mounted automatically, but need to be mounted manually or with fstab.
enabled = true
# Sets the directory where fixed drives will be automatically mounted. This example changes the mount location, so your C-drive would be /c, rather than the default /mnt/c.
root = /
# DrvFs-specific options can be specified.
options = "metadata,uid=1003,gid=1003,umask=077,fmask=11,case=off"
# Sets the `/etc/fstab` file to be processed when a WSL distribution is launched.
mountFsTab = true
# Network host settings that enable the DNS server used by WSL 2. This example changes the hostname, sets generateHosts to false, preventing WSL from the default behavior of auto-generating /etc/hosts, and sets generateResolvConf to false, preventing WSL from auto-generating /etc/resolv.conf, so that you can create your own (ie. nameserver 1.1.1.1).
[network]
hostname = DemoHost
generateHosts = false
generateResolvConf = false
# Set whether WSL supports interop process like launching Windows apps and adding path variables. Setting these to false will block the launch of Windows processes and block adding $PATH environment variables.
[interop]
enabled = false
appendWindowsPath = false
# Set the user when launching a distribution with WSL.
[user]
default = DemoUser
# Set a command to run when a new WSL instance launches. This example starts the Docker container service.
[boot]
command = service docker start
.wslconfig Использование глобальной конфигурации файла WSL 2 Беги изо всех Linux распределение Версия из настроек.(Для настройки по распределению,См. wsl.conf).
О хранилище .wslconfig Информацию о расположении файла см. .wslconfig 。
Примечание
общая ситуация .wslconfig
Параметры конфигурации применимы только к существованию. Windows внутренняя версия 19041 и выше Версиясерединаделатьдля WSL 2 Запустите версию с распределенным распределением. Имейте в виду, что вам может потребоваться запустить wsl --shutdown
Приходитьзакрытие WSL 2 ВМ, а затем перезапустить WSL экземпляр, чтобы эти изменения вступили в силу.
Этот документ содержит следующие параметры, эти параметры будут влиять на любую виртуальную машину с дистрибутивом WSL 2:
тег раздела:[wsl2]
key | ценить | default | иллюстрировать |
---|---|---|---|
ядро | string | Встроенный Microsoft Yadro обеспечивает доступ из почтового ящика | Настроить Linux Ядроизабсолютно Windows путь. |
Память | размер | Windows начальствообщий Памятьиз 50% или 8GB,кменьшедляпозволять;существовать 20175 до Версияначальство:Windows начальствообщий Памятьиз 80% | быть назначенным WSL 2 VM из Памятьколичество。 |
процессор | число | Windows начальство Тот же номерколичествоизпроцессор | быть назначенным WSL 2 VM количество изпроцессора. |
localhostForwarding | boolean | true | Логическое значение цены, указывающее привязку к WSL 2 VM Средство с подстановочным знаком или localhost из Портадолжно быть проходимо localhost:port Подключитесь с хоста. |
kernelCommandLine | нить | пустой | Другие параметры строки Ядро Заказ. |
swap | размер | Windows начальство 25% из Памятьразмер Округлить до ближайшего из GB | к WSL 2 VM Добавлен объем места подкачки, 0 Означает отсутствие документа обмена. Если потребность в хранилище подкачки превышает предел аппаратного устройства, используйте дисковое хранилище. RAM。 |
swapFile | нить | %USERPROFILE%\AppData\Local\Temp\swap.vhdx | Замените виртуальный жесткий диск полностью Windows. |
pageReporting | boolean | true | по умолчаниюнастраивать true делать Windows Возможность вернуть выделенное WSL 2 Виртуальная машина не используется. |
guiApplications | Логическое значение* | true | логическое значение цены,используется длясуществовать WSL Открыть в илизакрыть пару GUI приложение (WSLg) изпод поддержки. только для Windows 11。 |
debugConsole | Логическое значение* | false | логическое значение цены,используется длясуществовать WSL 2 Дистрибутив Включить отображение при запуске экземпляра dmesg Содержимое окна консоли вывода. только для Windows 11。 |
nestedVirtualization | Логическое значение* | true | Для включения или закрытия логической цены другие вложенные виртуальные машины могут существовать в эксплуатации только для Windows 11. |
vmIdleTimeout | количество* | 60000 | VM Количество миллисекунд, в течение которых существовало закрытие, раньше было неактивным. только для Windows 11。 |
иметь path
ценитьиз записи должны да с экранированной обратной косой чертой из Windows путь,примернравиться:C:\\Temp\\myCustomKernel
иметь size
Записи ценитьиз должны сопровождаться единицей измерения да, например. 8GB
или 512MB
。
ценитьтипназадиметь * из Только записисуществоватьWindows 11 в наличии.
.wslconfig
Ниже из Примердокумент演示了一некоторый Можетиспользоватьиз Конфигурация Параметры。существоватьэтот Примерсередина,документпутьдля C:\Users<UserName>\.wslconfig
.
Баш-копия
# Settings apply across all Linux distros running on WSL 2
[wsl2]
# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=4GB
# Sets the VM to use two virtual processors
processors=2
# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
kernel=C:\\temp\\myCustomKernel
# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
kernelCommandLine = vsyscall=emulate
# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB
# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
swapfile=C:\\temp\\wsl-swap.vhdx
# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false
# Turn off default connection to bind WSL 2 localhost to Windows localhost
localhostforwarding=true
# Disables nested virtualization
nestedVirtualization=false
# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true
https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config#wslconfig