Текст и данные · Инструкция
WSL distributionStartTimeout: увеличить время запуска
WSL distributionStartTimeout — точечная настройка WSL 2, а не универсальное ускорение системы. Ключ `distributionStartTimeout` задаёт ожидание запуска дистрибутива; по умолчанию 60000 мс. Менять его стоит, когда дистрибутив стартует дольше минуты из-за тяжёлых служб.
Короткий ответ
В `%UserProfile%\.wslconfig` задайте `distributionStartTimeout=120000`, затем выполните `wsl --shutdown` и снова запустите WSL. Таймаут не должен скрывать зависшую службу.
Что делает `distributionStartTimeout` в WSL 2
`distributionStartTimeout` относится к глобальным настройкам WSL 2. Задаёт ожидание запуска дистрибутива; по умолчанию 60000 мс. Это не то же самое, что `/etc/wsl.conf`: тот файл относится к отдельному дистрибутиву, а `.wslconfig` лежит в профиле Windows. Практический смысл настройки появляется, когда дистрибутив стартует дольше минуты из-за тяжёлых служб. Если измеримого симптома нет, значение по умолчанию обычно лучше дополнительной нестандартной переменной. Перед изменением запишите текущее состояние и тест, по которому будете сравнивать результат.
Совет: Сохраните копию `.wslconfig` и меняйте один ключ за раз. Так проще понять, что именно повлияло на систему.
Как задать `distributionStartTimeout` и применить конфигурацию
- Откройте PowerShell и выполните `notepad $env:USERPROFILE\.wslconfig`; если файла нет, создайте его без расширения `.txt`.
- В секции `[wsl2]` добавьте `distributionStartTimeout=120000`. Если `distributionStartTimeout` уже есть, измените существующую строку, а не создавайте дубликат.
- Сохраните файл и закройте работающие Linux-процессы, чтобы не потерять несохранённую работу.
- В Windows выполните `wsl --shutdown`. Простого закрытия окна терминала недостаточно, потому что VM может продолжать работать.
- Запустите дистрибутив снова и проверьте результат: измерьте время до готовой оболочки и после старта проверьте `systemctl --failed`, если используется systemd.
Предупреждение: Таймаут не должен скрывать зависшую службу. Если результат ухудшился, верните прежнее значение, снова выполните `wsl --shutdown` и повторите исходный тест.
Как проверить эффект `distributionStartTimeout` после перезапуска
Не меняйте одновременно память, сеть, ядро и `distributionStartTimeout`. Сначала воспроизведите проблему, зафиксируйте результат, затем примените только эту правку. После перезапуска выполните тот же сценарий: измерить старт и проверить `systemctl --failed`. Если улучшение не повторяется, причина может быть в службе дистрибутива, Windows-драйвере, VPN, файловой системе или другой части стека. Возврат к дефолту уменьшит число переменных и упростит следующую диагностику. Для длительного использования оставляйте параметр только при устойчивом, понятном результате.
Важно: Критерий успеха должен быть измеримым: время старта, число CPU, доступность сети, наличие модуля или созданный лог, а не ощущение «стало лучше».
Что зафиксировать до изменения `distributionStartTimeout`
Перед правкой выполните `wsl -l -v` и запишите исходное поведение. Для `distributionStartTimeout` важно иметь один повторяемый тест: измерьте время до готовой оболочки и после старта проверьте `systemctl --failed`, если используется systemd. Это позволит сравнить состояние до и после, а не оценивать изменение по общему впечатлению.
Как откатить `distributionStartTimeout` без переустановки дистрибутива
Верните прежнюю строку или удалите явный `distributionStartTimeout`, сохраните `.wslconfig` и выполните `wsl --shutdown`. После нового запуска WSL снова применит значение по умолчанию: 60000 мс. Файлы Linux при таком откате не удаляются.
Какая ошибка чаще всего мешает проверить `distributionStartTimeout`
Не меняйте одновременно соседние параметры `.wslconfig`. Если вместе с `distributionStartTimeout` изменить сеть, память или ядро, источник эффекта потеряется. Сначала меняйте только этот ключ, затем повторяйте тот же тест: измерьте время до готовой оболочки и после старта проверьте `systemctl --failed`, если используется systemd.
Когда оставить `distributionStartTimeout`, а когда откатить
- `.wslconfig` находится в `%UserProfile%` Windows
- настройка относится к WSL 2, а не WSL 1
- после изменения выполнен `wsl --shutdown`
- проверена именно исходная задача, а не случайный соседний симптом
- старое значение сохранено для быстрого отката
Что учитывать
Условия меняются. Страница отражает состояние на 2026-09-23; при расхождении с официальной документацией приоритет у первоисточника.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Advanced settings configuration in WSL). Пример и формулировки — редакция N1RO на 2026-09-23.