СЕРВИСНЫЕ УСЛУГИ
СТУДИЯ В ЛИПЕЦКЕ

Советы · Windows · 5 минут

WSL2 не запускается: как проверить виртуализацию, компоненты Windows и гипервизор

Диагностика запуска WSL2: точная ошибка, версия WSL, аппаратная виртуализация, Virtual Machine Platform, запуск гипервизора и состояние виртуального диска.
Microsoft Windows 11: опубликованный пример вкладки Performance Диспетчера задач. Для своей проверки выберите CPU и прочитайте поле виртуализации; график примера не является тестом WSL2.

Microsoft Windows 11: опубликованный пример вкладки Performance Диспетчера задач. Для своей проверки выберите CPU и прочитайте поле виртуализации; график примера не является тестом WSL2.
© Microsoft. Used with permission from Microsoft. · источник и условия использования · Microsoft screenshot permission

Сохраните точную ошибку, прежде чем переустанавливать

WSL2 не открывает Ubuntu, появляется код запуска виртуальной машины или сообщение о компоненте Windows. Не удаляйте дистрибутив: ошибка гипервизора не означает, что его Linux-файлы испорчены. Команда unregister удаляет регистрацию и данные дистрибутива; она не является безобидным сетевым или системным сбросом. [1]

В PowerShell выполните:

PowerShell

wsl --version
wsl --status
wsl --list --verbose

Запишите версию Windows из winver, версию приложения WSL и то, у какого дистрибутива указан VERSION 2. Не путайте WSL2 с WSL1. Старые встроенные варианты WSL могут не поддерживать --version; это ограничение установленного варианта, а не обязательно отдельная поломка. [1], [2]

Требования к запуску WSL2
  1. ПлатформаПодходящий процессор и аппаратная виртуализация
  2. WindowsНужные компоненты и загрузка гипервизора
  3. WSLПоддерживаемое приложение и ядро
  4. ДистрибутивДоступный корректный виртуальный диск

Схема редакции «Мы из 90х».

Проверьте аппаратную виртуализацию и SLAT

Откройте Диспетчер задач → Производительность → ЦП и посмотрите поле «Виртуализация». Дополнительно прочитайте:

Командная строка

systeminfo

Возможности Hyper-V и сообщение об уже обнаруженном гипервизоре нужно читать в контексте. Если гипервизор уже работает, systeminfo может не выводить обычный список требований. Включённая Virtual Machine Platform сама по себе не добавляет процессору отсутствующий SLAT. [2], [3]

Если виртуализация выключена в UEFI, используйте руководство производителя компьютера. Нужен параметр виртуализации CPU, обычно Intel VT-x или AMD SVM; одна настройка VT-d/IOMMU не равнозначна ему. Сохраните исходные настройки, не меняя заодно режим дискового контроллера или загрузки.

Если Windows сама работает в виртуальной машине, требуется доступная вложенная виртуализация со стороны хоста. Внутри гостя нельзя компенсировать отсутствие этой возможности переустановкой Ubuntu. У облачных платформ есть ограничения конкретной конфигурации.

Фраза «Виртуализация включена» показывает состояние аппаратной возможности, но не доказывает исправность компонента Windows, запуска гипервизора и диска. Проверяйте эту цепочку последовательно. Если systeminfo обнаруживает работающий гипервизор, а WSL жалуется на один VHDX, не возвращайтесь к случайным переключателям UEFI без дополнительных признаков.

Различайте современную установку WSL и старую встроенную

У актуальной Windows 11 основной путь установки и обновления — wsl --install и wsl --update. Вручную включаемый компонент Microsoft-Windows-Subsystem-Linux относится также к старой модели установки и WSL1. Не считайте, что любая современная WSL2 обязана восстанавливаться только старым набором команд из руководства для ранней Windows 10. [4], [5]

Для чтения состояния в повышенном PowerShell:

Повышенный PowerShell · чтение

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

Для WSL2 требуется Virtual Machine Platform. Значение EnablePending означает необходимость завершить изменение и перезапустить Windows. Полную роль Hyper-V Manager устанавливать ради обычной WSL2 не требуется; отсутствие этой роли в Home не запрещает WSL2. [5], [6]

Когда подтверждено отсутствие Virtual Machine Platform, её включают штатно:

Повышенная командная строка · при подтверждённой необходимости

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Сохраните работу и перезагрузите Windows после успешного завершения. Не повторяйте установку дистрибутива до проверки компонента и перезапуска.

Доступность WSL2 в редакции Home и использование части архитектуры Hyper-V прямо подтверждены FAQ Microsoft. Это полезно отличать от полной роли Hyper-V, которую часто пытаются добавить по посторонней инструкции. [9]

Проверьте, не отключён ли запуск гипервизора

В повышенной PowerShell-консоли прочитайте текущую запись загрузки:

Повышенный PowerShell · чтение

bcdedit /enum "{current}"

Явное hypervisorlaunchtype Off указывает на отключённый запуск гипервизора для этой записи. Отсутствие строки нельзя автоматически считать Off. Microsoft приводит соответствующую проверку в диагностике WSL. [2], [7]

Если Off выставлен ранее вами на личном ПК и теперь мешает WSL2, после сохранения исходной конфигурации можно вернуть Auto:

Повышенный PowerShell · условное изменение

bcdedit /set "{current}" hypervisorlaunchtype Auto

Потребуется перезагрузка. До изменения загрузочных параметров обеспечьте доступ к ключу восстановления BitLocker, если он используется, и сохраните работу. Не выключайте Secure Boot или защиту ядра по общему совету. В управляемой среде причину отключения гипервизора выясняют с администратором.

Сопоставьте сообщение с нужной веткой

Код и полный текст важнее самого слова WSL. Например, ошибка создания виртуальной машины и сообщение о недоступном компоненте направляют к платформе; сообщение о ядре — к способу установки и обновлению; невозможность подключить VHDX — к пути, доступу и состоянию файла. Старый числовой код из Интернета не нужно автоматически применять к новому варианту ошибки.

Направления проверки
Сообщение или наблюдениеЧто проверять
Не удалось запустить виртуальную машинуВиртуализацию, VMP, гипервизор и вложенную среду
Требуется обновление WSL или ядраУстановленный вариант WSL и штатное обновление
Ошибка открытия или подключения VHDXПуть, свободное место, доступ и атрибуты файла
Linux запускается, но сети нетDNS, NAT/mirrored, VPN и прокси
Сбой только одного дистрибутиваЕго диск и конфигурацию отдельно от общей платформы

Учебная таблица редакции.

Обновите WSL штатно, сохранив данные

Сохраните работу во всех средах WSL и зависимых программах. Проверьте доступный синтаксис через wsl --help, затем используйте:

PowerShell · после сохранения работы

wsl --update
wsl --shutdown

Shutdown завершает все запущенные дистрибутивы и общую среду WSL2, а не только текущую вкладку. После этого повторите запуск нужного дистрибутива. При ошибке загрузки обновления сохраните её отдельно: сетевой отказ установки не доказывает дефект виртуализации. [1]

Если установлен сторонний гипервизор, сверьте его поддерживаемую версию и режим совместимости с используемой Windows. Не удаляйте виртуальные машины и диски, чтобы «освободить гипервизор». Совместимость зависит от версии программы и её настроек.

Если ошибка касается VHDX, проверяйте его отдельно

Проверьте свободное место на томе и существование файла дистрибутива. Устаревшая инструкция может указывать старый каталог Packages, тогда как фактическая установка находится в другом месте. Используйте зарегистрированный путь, а не поиск первого ext4.vhdx на C.

Microsoft описывает ошибки, связанные с неподходящим сжатием и шифрованием файлов виртуального диска. Не путайте NTFS-сжатие VHDX с командой уменьшения его физического объёма. Атрибуты меняют только после проверки точного файла и резервной копии; владение всей папкой Packages не требуется. [2], [8]

Microsoft: пример свойств папки дистрибутива и дополнительных атрибутов. Это иллюстрация конкретной ошибки сжатия/шифрования; она не показывает процедуру освобождения места.
Microsoft: пример свойств папки дистрибутива и дополнительных атрибутов. Это иллюстрация конкретной ошибки сжатия/шифрования; она не показывает процедуру освобождения места.© Microsoft. Used with permission from Microsoft. · источник и условия использования · CC BY 4.0

Проверьте минимальный запуск и сохраните результаты

Выполните wsl -d "Ubuntu" -- uname -r, заменив Ubuntu точным именем из списка. Успешный вывод ядра подтверждает базовый запуск Linux; он ещё не проверяет сеть, Docker и рабочие приложения. Затем повторите исходный сценарий.

Для поддержки пригодятся полный код, winver, wsl --version, список дистрибутивов, состояние VMP и сведения о гипервизоре. Если базовая платформа работает, а отказ касается одного диска, сохраните его состояние и резервную копию перед восстановительными операциями.

Made on
Tilda