- Доступ к Linux-разделам из-под Windows
- Ext2Fsd
- DiskInternals Linux Reader
- Ext2Explore
- Заключение
- Как открыть диск Linux на Windows
- Простой способ открыть диски Linux (ext4, ext3 и ext2) в Windows
- Устранение неполадок подсистемы Windows для Linux Troubleshooting Windows Subsystem for Linux
- Поиск описанных проблем, связанных с вашей проблемой Search for any existing issues related to your problem
- Отправка отчета об ошибке Submit a bug report
- Отправка запроса на добавление возможностей Submit a feature request
- Участие в разработке документации Contribute to the docs
- Терминал или командная строка Terminal or Command Line
- Распространенные проблемы Common issues
- Я использую Windows 10 версии 1903, но не вижу параметры для WSL 2. I’m on Windows 10 version 1903 and I still do not see options for WSL 2
- Ошибка. 0x1bc, когда wsl —set-default-version 2 Error: 0x1bc when wsl —set-default-version 2
- Не удается получить доступ к файлам WSL из Windows Cannot access WSL files from Windows
- Не удается запустить дистрибутив WSL 2, а в выходных данных отображается только WSL 2. Can’t start WSL 2 distribution and only see ‘WSL 2’ in output
- Ошибка command not found при выполнении исполняемых файлов Windows в Linux command not found when executing windows .exe in linux
- «Ошибка: 0x80370102 The virtual machine could not be started because a required feature is not installed (Не удалось запустить виртуальную машину, так как не установлена необходимая функция). «Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.»
- Bash утрачивает подключение к сети после подключения к сети VPN Bash loses network connectivity once connected to a VPN
- При запуске WSL или установке дистрибутива возвращается код ошибки Starting WSL or installing a distribution returns an error code
- Обновление Bash для Ubuntu в Windows Updating Bash on Ubuntu on Windows
- Ошибки apt-get upgrade Apt-get upgrade errors
- «Ошибка: 0x80040306» при установке «Error: 0x80040306» on installation
- «Ошибка: 0x80040154» после обновления Windows «Error: 0x80040154» after Windows update
- Изменение отображаемого языка Changing the display language
- Проблемы установки после восстановления системы Windows Installation issues after Windows system restore
- Нет доступа к Интернету в WSL No internet access in WSL
- Ошибка «Отказ в разрешении» при проверке связи Permission Denied error when using ping
- Bash перестал отвечать на запросы Bash is hung
- Проверка номера сборки Check your build number
- Подтверждение включения WSL Confirm WSL is enabled
- Проблемы с подключением к серверу OpenSSH OpenSSH-Server connection issues
- «Указанная сборка не найдена». «The referenced assembly could not be found.» Это сообщение может появиться при включении дополнительного компонента WSL. when enabling the WSL optional feature
- Правильные (связанные с SSH) ошибки разрешений Correct (SSH related) permission errors
- Выполнение команд Windows завершается сбоем в дистрибутиве Running Windows commands fails inside a distribution
- Не удается выполнить загрузку после установки WSL 2 Unable to boot after installing WSL 2
Доступ к Linux-разделам из-под Windows
Двойная загрузка операционных систем является очень распространенным сценарием среди пользователей Windows, которые решили попробовать систему Linux. Они поступают так потому, что еще не чувствуют себя достаточно уверенно, чтобы полностью оставить Windows и перейти на Linux. Или же потому, что этим пользователям необходимы некоторые программы и игры, которые невозможно запустить под Linux. Но в обоих случаях, когда пользователь работает между двумя операционными системами, существует потребность во взаимодействии между обеими системами. В операционной системе Linux есть изначальная поддержка «родных» файловых систем Windows (NTFS, FAT). Это означает, что работая под системой Linux, можно иметь доступ к Windows-разделам. С системой Windows дело обстоит с точностью до наоборот. Чтобы получить доступ к Linux-разделам из-под Windows, необходимо установить сторонние программы, специально созданные для этой цели.
В этой статье дан обзор нескольких таких программ, которые позволяют открыть Linux-разделы, работая в операционной системе Windows. Все рассматриваемые программы имеют поддержку файловой системы ext4, которая является таковой по умолчанию для всех дистрибутивов Linux. Также подобные программы могут работать с более ранними версиями файловых систем, таких как ext3 или ext2, а также c файловыми системами другого типа.
Все программы, обзор которых я решил сделать в данной статье, по умолчанию предоставляют доступ к Linux-разделам только в режиме чтения. Это означает, что с помощью таких программ можно читать файлы с Linux-разделов, но нельзя производить запись на них. С моей точки зрения, такой подход является наилучшим вариантом, так как иметь полный доступ к Linux-разделам может быть опасным. Это связано с тем, что при полном доступе к файловой системе Linux, достаточно изменить или удалить хотя бы один файл, что приведет операционную систему Linux в неработоспособное состояние. Пользователь должен иметь точное представление о том, что он собирается изменить, прежде чем приступать к самому изменению. В этом случае риск повредить систему сводится к минимуму.
Ext2Fsd
Ext2Fsd является драйвером файловой системы ext2, написанным под линейку операционных систем Windows (2000, XP, Vista и Win7). Будучи установленным, драйвер предоставляет доступ к Linux-разделам по буквенному обозначению каждого раздела для любой из установленных под Windows программ.
Установщик программы Ext2Fsd во время инсталляции задаст вопрос о добавлении службы ext2fsd в автозагрузку операционной системы. Если согласиться с предложением инсталлятора, то данный сервис будет запускаться каждый раз при загрузке операционной системы Windows, автоматически монтируя указанные в настройках разделы Linux. Если же отказаться от такой возможности, то службу нужно будет запускать вручную в каждом случае, когда необходимо получить доступ к определенным разделам.
Драйвер Ext2Fsd имеет дополнительную опцию для включения прав записи в файловых системах Linux. По причинам, которые я уже называл ранее, рекомендую оставить данную опцию отключенной, за исключением тех случаев, когда действительно необходимо что-либо изменить, и вы что знаете, что делаете.
Давайте посмотрим на основное окно программы Ext2Fsd:
Если нажать горячую клавишу F7 (или перейти в меню по пути «Tools — Service Management»), можно увидеть состояние службы (включена или отключена), и несколько дополнительных настроек, которые относятся к выбранному разделу:
Давайте смонтируем раздел. Это можно выполнить двумя способами. Первый — правым щелчком мыши на выбранном разделе в списке открываем контекстное меню и выбираем «Ext2 Volume Management».
Второй способ — просто нажать горячую клавишу F3 для выделенного в списке раздела.
Откроется следующее окно:
Если раздел, к которому нужно получить доступ, находиться на съемном носителе, то необходимо выбрать пункт «Automatically mount via Ext2Mgr» в контекстном меню. В этом случае указанный раздел будет монтироваться каждый раз, когда будет подключаться съемный носитель. В случае, если нужный раздел располагается на постоянно подключенном носителе, то для его автоматического монтирования необходимо выбрать пункт «Mountpoint for fixed disk, need reboot» в контекстном меню. Выберите данный пункт и выполните перезагрузку, если это необходимо.
Перейдем в «Мой компьютер»:
Видим, что Linux-раздел (Локальный диск H) смонтирован и к нему можно получить доступ точно также, как и к любому «нормальному» Windows-разделу. Для проверки открываю указанный раздел для просмотра данных на нем:
DiskInternals Linux Reader
Программа DiskInternals Linux Reader является официально бесплатной и поддерживает целый ряд файловых систем: ext2, ext3, ext4, HFS и ReiserFS.
Подобно программе Ext2Fsd, приложение Linux Reader предоставляет доступ к Linux-разделам только с правами чтения и не разрешает пользователям производить запись на них. Это гарантирует, что изменения в текущей операционной системе не скажутся на работе системы Linux.
Но, в отличие от предыдущей программы, Linux Reader предоставляет доступ к разделам не через их буквенное обозначение. Для каждого из Linux-разделов запускается своя собственная копия приложения. Такой способ имеет несколько приятных преимуществ, таких как использование «Проводника» Windows и функция предпросмотра. Последняя поддерживает только несколько типов файлов (определенный набор форматов изображений, несколько видео-форматов и еще несколько других, которые у меня не было возможности протестировать). Поэтому, если вы ищете файлы, для которых в программу Linux Reader встроена возможность предпросмотра, то можно просмотреть изменение прежде, чем сохранять их.
На изображении внизу видно функцию предпросмотра в действии. Если щелкнуть на пункте «Сохранить как . » (Save as. ), выбранный файл может быть сохранен в файловой системе Windows. Это бывает полезным, если необходимо работать с этим файлом в обход режима только для чтения.
Также программа Linux Reader может сохранять директорию целиком. Для этого нужно щелкнуть правым щелчком мыши на нужной папке и выбрать пункт «Сохранить» (Save). Затем нажать кнопку «Далее» (Next).
В следующем окне выбираем «Сохранить файлы» (Save Files) и снова нажмем кнопку «Далее» (Next):
Выберите конечную папку (рисунок вверху), в которую необходимо сохранить файлы и закончите операцию.
Другой интересной особенностью программы является возможность монтировать образы дисков формата raw (например, таких как ISO-файлы) и контейнеры (примером может быть виртуальные диски VirtualBox). Подобную возможность лично я не тестировал, но как мне кажется, это полезная возможность.
Ext2Explore
Эта программа работает подобно Linux Reader, но поддерживает меньшее количество файловых систем: ext2, ext3, ext4. Данная программа имеет одну уникальную особенность, которой нет у двух предыдущих — она является портабельной. Это означает, что нет необходимости устанавливать программу под операционной системой. Она может быть запущена с любого носителя, включая и съемные.
Программа Ext2explore.exe должна запускаться в системе Windows с правами администратора. Это можно выполнить с помощью контекстного меню.
Для дальнейшей работы в программе, чтобы сохранить время, откройте окно свойств файла и включите опцию «Запускать эту программу с правами администратора» (Run this program as an administrator) на вкладке «Совместимость» (Compatibility).
Также, как и в программе Linux Reader, для того, чтобы открыть файл в другой программе, его необходимо первоначально сохранить в определенной директории в файловой системе Windows.
Заключение
Несмотря на то, что все из описанных выше программ выполняют те задачи, для которых они были созданы, имеется еще одна возможность для обмена файлами между двумя операционными системами Linux и Windows, более простая в использовании и интуитивно понятная. Для этого необходимо создать дополнительный раздел, отформатированный в файловой системе, понятной для операционной системы Windows и доступной для системы Linux. Файловая система FAT32 имеет изначальную поддержку как в системе Linux, так и Windows. Кроме того, Linux без проблем может читать и писать на разделы, отформатированные в файловой системе NTFS.
Таким образом, вы можете просматривать и изменять файлы в любое время, без необходимости иметь дополнительное программное обеспечение. Если есть какие-либо файлы, к которым необходимо получить доступ из другой операционной системы, просто скопируйте их в дополнительный раздел, отформатированный в файловой системе, понятной для операционной системы Windows.
Посмотрите также другие статьи раздела об эмуляции возможностей Windows.
Как открыть диск Linux на Windows
Операционная система Linux использует свои собственные файловые системы. В отличие от Windows, для которой привычными файловыми системами являются NTFS, FAT32 и exFAT, в Linux популярны такие файловые системы как ext4, ext3 и ext2.
Если вы подключите диск Linux к Windows, либо если у вас в качестве второй системы установлена Linux, то Windows просто не сможет открыть содержимое дисков ext4, ext3 и ext2. Можно установить дополнительные драйверы для EXT, но есть намного более простой способ.
Если вам нужно из Windows просмотреть или скопировать файлы с дисков Linux, то эта инструкция вам поможет.
Начните с установки программы 7-Zip, как это сделать подробно описано в статье «Бесплатная альтернатива WinRAR».
Простой способ открыть диски Linux (ext4, ext3 и ext2) в Windows
Откройте 7-Zip, для этого в общесистемный поиск введите «7-Zip» и запустите программу.
Теперь с помощью иконки «Вверх» перейдите в самый верх иерархии файловой системы, пока не увидите символ «\\.».
Кликните на «\\.» и вы попадёте в список физических дисков.
Чтобы понять, какой из дисков вам нужен, ориентируйтесь по их размеру или просто перейдите в каждый из них, чтобы найти диск Linux.
Пример диска Linux, состоящего из двух разделов: 0.img — это загрузочный раздел, и 1.img — это основной раздел с данными.
Пример содержимого раздела 0.img — в нём необходимые для загрузки файлы, а именно UEFI.
При входе в раздел требуется определённое время. Раздел в 100 ГБ потребовал около минуты для анализа данных и составления списка файлов, раздел в 1 ТБ потребовал менее трёх минут для анализа.
Когда «распаковка» будет закончена, будет показан список файлов корневой файловой системы.
Переход по файлам и даже запуск файлов, в том числе больших, выполняется без задержки.
Можно переходить в любые папки и открывать любые файлы — ограничения файловых разрешений и прав доступа Linux не работают.
Можно просматривать абсолютно любые файлы, даже те, на которые обычно у пользователей никогда нет прав доступа.
Программа 7-Zip позволяет открыть разделы Linux прямо из Windows без установки дополнительных драйверов. Можно просматривать, сохранять файлы и папки, но нельзя вносить изменения в файловую систему. То есть вы ничего не испортите на дисках Linux.
Смотрите также другой вариант как скопировать в файлы с Linux диска в статье «Как из Windows просмотреть содержимое диска Linux и скопировать с него файлы».
Устранение неполадок подсистемы Windows для Linux Troubleshooting Windows Subsystem for Linux
Для получения поддержки по вопросам, связанным с WSL, изучите наш репозиторий продукта WSL на сайте GitHub. For support with issues related to WSL, please see our WSL product repo on GitHub.
Поиск описанных проблем, связанных с вашей проблемой Search for any existing issues related to your problem
При возникновении технических проблем используйте репозиторий продукта. For technical issues, use the product repo.
При возникновении проблем, связанных с содержимым этой документации, используйте репозиторий документов. For issues related to the contents of this documentation, use the docs repo.
Отправка отчета об ошибке Submit a bug report
При возникновении ошибок, связанных с функциями или компонентами WSL, отправьте сообщение о проблеме в репозитории продуктов: https://github.com/Microsoft/wsl/issues For bugs related to WSL functions or features, file an issue in the product repo: https://github.com/Microsoft/wsl/issues
Отправка запроса на добавление возможностей Submit a feature request
Чтобы запросить новую возможность, связанную с функциональностью или совместимостью WSL, создайте запрос в репозитории продуктов. To request a new feature related to WSL functionality or compatibility, file an issue in the product repo.
Участие в разработке документации Contribute to the docs
Чтобы внести изменения в документацию по WSL, отправьте запрос на вытягивание в репозитории документов: https://github.com/MicrosoftDocs/wsl/issues To contribute to the WSL documentation, submit a pull request in the docs repo: https://github.com/MicrosoftDocs/wsl/issues
Терминал или командная строка Terminal or Command Line
Наконец, если ваша проблема связана с терминалом Windows, консолью Windows или интерфейсом командной строки, используйте репозиторий терминалов Windows: https://github.com/microsoft/terminal Lastly, if your issue is related to the Windows Terminal, Windows Console, or the command-line UI, use the Windows terminal repo: https://github.com/microsoft/terminal
Распространенные проблемы Common issues
Я использую Windows 10 версии 1903, но не вижу параметры для WSL 2. I’m on Windows 10 version 1903 and I still do not see options for WSL 2
Скорее всего, это связано с тем, что на компьютере еще не установлены исправления для WSL 2. This is likely because your machine has not yet taken the backport for WSL 2. Чтобы решить эту проблему самым простым способом, перейдите в параметры Windows, нажмите кнопку «Проверить наличие обновлений» и установите последние обновления в системе. The simplest way to resolve this is by going to Windows Settings and clicking ‘Check for Updates’ to install the latest updates on your system. Изучите полные инструкции по получению исправления для старой версии. See the full instructions on taking the backport.
Если после нажатия кнопки «Проверить наличие обновлений» вы не получили обновление, можно установить исправления KB4566116 вручную. If you hit ‘Check for Updates’ and still do not receive the update you can install KB KB4566116 manually.
Ошибка. 0x1bc, когда wsl —set-default-version 2 Error: 0x1bc when wsl —set-default-version 2
Это может произойти, если язык интерфейса или язык системы не является английским. This may happen when ‘Display Language’ or ‘System Locale’ setting is not English.
Фактическая ошибка для 0x1bc : THe actual error for 0x1bc is:
См. сведения о проблеме 5749. For more information, please refer to issue 5749
Не удается получить доступ к файлам WSL из Windows Cannot access WSL files from Windows
Файловый сервер протокола 9p предоставляет службу на стороне Linux, которая позволяет Windows получить доступ к файловой системе Linux. A 9p protocol file server provides the service on the Linux side to allow Windows to access the Linux file system. Если вы не можете получить доступ к WSL с помощью \\wsl$ в Windows, возможно, это вызвано неправильным запуском 9P. If you cannot access WSL using \\wsl$ on Windows, it could be because 9P did not start correctly.
Чтобы убедиться в этом, можно проверить журналы запуска с помощью команды dmesg |grep 9p . Если ошибки есть, отобразятся сведения о них. To check this, you can check the start up logs using: dmesg |grep 9p , and this will show you any errors. Вывод выглядит следующим образом: A successfull output looks like the following:
Дополнительные сведения об этой ошибке см. в этом потоке GitHub. Please see this Github thread for further discussion on this issue.
Не удается запустить дистрибутив WSL 2, а в выходных данных отображается только WSL 2. Can’t start WSL 2 distribution and only see ‘WSL 2’ in output
Если язык интерфейса не английский, возможно, отображается усеченная версия текста ошибки. If your display language is not English, then it is possible you are seeing a truncated version of an error text.
Чтобы устранить эту проблему, перейдите по адресу https://aka.ms/wsl2kernel и установите ядро вручную, следуя инструкциям на этой странице документации. To resolve this issue, please visit https://aka.ms/wsl2kernel and install the kernel manually by following the directions on that doc page.
Ошибка command not found при выполнении исполняемых файлов Windows в Linux command not found when executing windows .exe in linux
Пользователи могут запускать исполняемые файлы Windows, например notepad.exe, прямо в среде Linux. Users can run Windows executables like notepad.exe directly from Linux. Но иногда это действие приводит к ошибке «Команда не найдена», как показано ниже: Sometimes, you may hit «command not found» like below:
Если в переменной $PATH нет обязательных путей Win32, подсистема взаимодействие не сможет найти EXE-файл. If there are no win32 paths in your $PATH, interop isn’t going to find the .exe. Чтобы проверить это, выполните echo $PATH в среде Linux. You can verify it by running echo $PATH in Linux. В выходных данных вы должны увидеть путь к win32 (например, /mnt/c/Windows). It’s expected that you will see a win32 path (for example, /mnt/c/Windows) in the output. Если вы не видите эти пути Windows, скорее всего переменная PATH перезаписана оболочкой Linux. If you can’t see any Windows paths then most likely your PATH is being overwritten by your Linux shell.
Ниже приведен пример файла /etc/profile на ОС Debian, который вызывал такую проблему: Here is a an example that /etc/profile on Debian contributed to the problem:
Чтобы решить эту проблему в среде Debian, нужно удалить приведенные выше строки. The correct way on Debian is to remove above lines. Вы также можете добавить значения в переменную $PATH во время назначения, как показано ниже, но это может вызвать другие проблемы с WSL и VSCode. You may also append $PATH during the assignment like below, but this lead to some other problems with WSL and VSCode..
Дополнительные сведения см. в описании проблем 5296 и 5779. For more information, see issue 5296 and issue 5779.
«Ошибка: 0x80370102 The virtual machine could not be started because a required feature is not installed (Не удалось запустить виртуальную машину, так как не установлена необходимая функция). «Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.»
Включите компонент платформы виртуальных машин Windows и убедитесь, что в BIOS включена виртуализация. Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
Если компьютер является виртуальной машиной, включите вложенную виртуализацию вручную. If your machine is a VM, please enable nested virtualization manually. Запустите PowerShell с правами администратора и выполните следующую команду: Launch powershell with admin, and run:
Следуйте рекомендациям производителя компьютера, чтобы включить виртуализацию. Please follow guidelines from your PC’s manufacturer on how to enable virtualization. Как правило, для проверки того, что эти функции включены в ЦП, может использоваться BIOS системы. In general, this can involve using the system BIOS to ensure that these features are enabled on your CPU. Инструкции для этого процесса могут быть разными для разных компьютеров, один из примеров вы можете изучить в этой статье от Bleeping Computer. Instructions for this process can vary from machine to machine, please see this article from Bleeping Computer for an example.
Перезагрузите компьютер после включения дополнительного компонента Virtual Machine Platform . Restart your machine after enabling the Virtual Machine Platform optional component.
Bash утрачивает подключение к сети после подключения к сети VPN Bash loses network connectivity once connected to a VPN
Если после подключения к VPN в Windows оболочка Bash утрачивает подключение к сети, попробуйте воспользоваться этим обходным решением в Bash. If after connecting to a VPN on Windows, bash loses network connectivity, try this workaround from within bash. Это решение позволит вручную переопределить разрешение DNS с помощью /etc/resolv.conf . This workaround will allow you to manually override the DNS resolution through /etc/resolv.conf .
- Запишите DNS-сервер виртуальной частной сети. Для этого выполните ipconfig.exe /all Take a note of the DNS server of the VPN from doing ipconfig.exe /all
- Создайте копию существующего resolv.conf, выполнив sudo cp /etc/resolv.conf /etc/resolv.conf.new Make a copy of the existing resolv.conf sudo cp /etc/resolv.conf /etc/resolv.conf.new
- Разорвите связь с текущим файлом resolv.conf, выполнив команду sudo unlink /etc/resolv.conf . Unlink the current resolv.conf sudo unlink /etc/resolv.conf
- sudo mv /etc/resolv.conf.new /etc/resolv.conf
- Откройте /etc/resolv.conf и сделайте следующее. Open /etc/resolv.conf and
a. a. Удалите из файла первую строку с текстом «# This file was automatically generated by WSL. Delete the first line from the file, which says «# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line.» (Этот файл был автоматически создан WSL. Чтобы остановить автоматическое создание этого файла, удалите данную строку). To stop automatic generation of this file, remove this line.».
b. b. Добавьте запись DNS из пункта 1 выше в качестве первой записи в списке DNS-серверов. Add the DNS entry from (1) above as the very first entry in the list of DNS servers.
c. c. Закройте файл. Close the file.
После отключения VPN необходимо будет отменить изменения в /etc/resolv.conf . Once you have disconnected the VPN, you will have to revert the changes to /etc/resolv.conf . Для этого сделайте следующее. To do this, do:
- cd /etc
- sudo mv resolv.conf resolv.conf.new
- sudo ln -s ../run/resolvconf/resolv.conf resolv.conf
При запуске WSL или установке дистрибутива возвращается код ошибки Starting WSL or installing a distribution returns an error code
Выполните эти инструкции, чтобы получить подробные журналы и сообщить о возникшей проблеме на портале GitHub. Follow these instructions to collect detailed logs and file an issue on our GitHub.
Обновление Bash для Ubuntu в Windows Updating Bash on Ubuntu on Windows
Два компонента Bash для Ubuntu в Windows могут требовать обновления. There are two components of Bash on Ubuntu on Windows that can require updating.
Подсистема Windows для Linux The Windows Subsystem for Linux
Обновление этой части Bash для Ubuntu в Windows обеспечит применение всех новых исправлений, описанных в заметках о выпуске. Upgrading this portion of Bash on Ubuntu on Windows will enable any new fixes outlines in the release notes. Убедитесь, что вы подписаны на Программу предварительной оценки Windows и что ваша сборка обновлена. Ensure that you are subscribed to the Windows Insider Program and that your build is up to date. Чтобы обеспечить более точное управление, включая сброс экземпляра Ubuntu, ознакомьтесь со страницей справочных материалов по командам. For finer grain control including resetting your Ubuntu instance check out the command reference page.
Двоичные файлы пользователя Ubuntu The Ubuntu user binaries
При обновлении этой части Bash для Ubuntu в Windows будут установлены все обновления двоичных файлов пользователя Ubuntu, включая приложения, установленные с помощью apt-get. Upgrading this portion of Bash on Ubuntu on Windows will install any updates to the Ubuntu user binaries including applications that you have installed via apt-get. Чтобы выполнить обновление, выполните следующие команды в Bash. To update run the following commands in Bash:
Ошибки apt-get upgrade Apt-get upgrade errors
Некоторые пакеты используют функции, которые еще не реализованы. Some packages use features that we haven’t implemented yet. Например, udev пока не поддерживается и вызывает несколько ошибок apt-get upgrade . udev , for example, isn’t supported yet and causes several apt-get upgrade errors.
Чтобы устранить проблемы, связанные с udev , выполните следующие действия. To fix issues related to udev , follow the following steps:
Введите приведенный ниже код в /usr/sbin/policy-rc.d и сохраните изменения. Write the following to /usr/sbin/policy-rc.d and save your changes.
Добавьте разрешения на выполнение в /usr/sbin/policy-rc.d : Add execute permissions to /usr/sbin/policy-rc.d :
Выполните следующие команды: Run the following commands:
«Ошибка: 0x80040306» при установке «Error: 0x80040306» on installation
Это связано с тем, что мы не поддерживаем устаревшую консоль. This has to do with the fact that we do not support legacy console. Чтобы отключить устаревшую консоль, выполните следующие действия. To turn off legacy console:
- Выполните файл cmd.exe. Open cmd.exe
- Щелкните правой кнопкой мыши строку заголовка и выберите «Свойства», затем снимите флажок «Использовать прежнюю версию консоли». Right click title bar -> Properties -> Uncheck Use legacy console
- Нажмите кнопку «ОК». Click OK
«Ошибка: 0x80040154» после обновления Windows «Error: 0x80040154» after Windows update
Компонент «Подсистема Windows для Linux» может быть отключен во время обновления Windows. The Windows Subsystem for Linux feature may be disabled during a Windows update. В этом случае данную функцию Windows необходимо включить заново. If this happens the Windows feature must be re-enabled. Инструкции по включению подсистемы Windows для Linux можно найти в руководстве по установке. Instructions for enabling the Windows Subsystem for Linux can be found in the Installation Guide.
Изменение отображаемого языка Changing the display language
Установщик WSL попытается автоматически изменить языковой стандарт Ubuntu в соответствии с языковым стандартом установки Windows. WSL install will try to automatically change the Ubuntu locale to match the locale of your Windows install. Если это нежелательно, можно выполнить приведенную ниже команду, чтобы изменить языковой стандарт Ubuntu после завершения установки. If you do not want this behavior you can run this command to change the Ubuntu locale after install completes. Чтобы это изменение вступило в силу, потребуется повторно запустить bash.exe. You will have to relaunch bash.exe for this change to take effect.
В приведенном ниже примере языковой стандарт изменяется на EN-US. The below example changes to locale to en-US:
Проблемы установки после восстановления системы Windows Installation issues after Windows system restore
- Удалите папку %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux . Delete the %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux folder.
Примечание. Не делайте этого, если дополнительный компонент полностью установлен и работает.Note: Do not do this if your optional feature is fully installed and working. - Включите дополнительный компонент WSL (если он еще не включен). Enable the WSL optional feature (if not already)
- Выполните перезагрузку. Reboot
- Выполните команду lxrun /uninstall /full lxrun /uninstall /full
- Установите Bash. Install bash
Нет доступа к Интернету в WSL No internet access in WSL
Некоторые пользователи сообщили о проблемах с определенными приложениями брандмауэра, блокирующими доступ к Интернету в WSL. Some users have reported issues with specific firewall applications blocking internet access in WSL. Сообщили о следующих брандмауэрах: The firewalls reported are:
- Kaspersky; Kaspersky
- AVG; AVG
- Avast. Avast
В некоторых случаях отключение брандмауэра обеспечивает доступ. In some cases turning off the firewall allows for access. В некоторых случаях доступ блокируется просто при наличии установленного брандмауэра. In some cases simply having the firewall installed looks to block access.
Ошибка «Отказ в разрешении» при проверке связи Permission Denied error when using ping
В выпуске Windows Anniversary Update, версия 1607 для проверки связи в WSL требуются права администратора. For Windows Anniversary Update, version 1607, administrator privileges in Windows are required to run ping in WSL. Чтобы выполнить проверку связи, запустите Bash для Ubuntu в Windows от имени администратора или запустите bash.exe из командной строки или сеанса PowerShell с привилегиями администратора. To run ping, run Bash on Ubuntu on Windows as an administrator, or run bash.exe from a CMD/PowerShell prompt with administrator privileges.
В более поздних версиях Windows (сборка 14926+) права администратора не требуются. For later versions of Windows, Build 14926+, administrator privileges are no longer required.
Bash перестал отвечать на запросы Bash is hung
Если при работе с Bash вы обнаружите, что Bash перестал отвечать на запросы (или взаимозаблокирован), помогите нам диагностировать проблему путем сбора и передачи дампа памяти. If while working with bash, you find that bash is hung (or deadlocked) and not responding to inputs, help us diagnose the issue by collecting and reporting a memory dump. Обратите внимание на то, что выполнение этих действий приведет к сбою системы. Note that these steps will crash your system. Не делайте этого, если вас это не устраивает, либо предварительно сохраните результаты своей работы. Do not do this if you are not comfortable with that or save your work prior to doing this.
Сбор дампа памяти To collect a memory dump
Измените тип дампа памяти на «Полный дамп памяти». Change the memory dump type to «complete memory dump». При изменении типа дампа запишите текущий тип. While changing the dump type, take a note of your current type.
Выполните эти действия, чтобы настроить аварийное завершение с помощью клавиатуры. Use the steps to configure crash using keyboard control.
Воспроизведите взаимоблокировку или прекращение ответа на запросы. Repro the hang or deadlock.
Выполните аварийное завершение системы с помощью последовательности клавиш из пункта 2. Crash the system using the key sequence from (2).
Произойдет аварийное завершение системы и будет собран дамп памяти. The system will crash and collect the memory dump.
После перезагрузки системы отправьте memory.dmp на адрес электронной почты secure@microsoft.com. Once the system reboots, report the memory.dmp to secure@microsoft.com. По умолчанию файл дампа находится в папке %SystemRoot%\memory.dmp или C:\Windows\memory.dmp, если C: является системным диском. The default location of the dump file is %SystemRoot%\memory.dmp or C:\Windows\memory.dmp if C: is the system drive. В письме укажите, что дамп предназначен для команды разработчиков WSL или Bash в Windows. In the email, note that the dump is for the WSL or Bash on Windows team.
Восстановите исходное значение типа дампа памяти. Restore the memory dump type to the original setting.
Проверка номера сборки Check your build number
Чтобы узнать архитектуру компьютера и номер сборки Windows, выберите To find your PC’s architecture and Windows build number, open
Параметры > Система > О программе Settings > System > About
Найдите поля Сборка ОС и Тип системы. Look for the OS Build and System Type fields.
Чтобы найти номер сборки Windows Server, выполните в PowerShell следующую команду. To find your Windows Server build number, run the following in PowerShell:
Подтверждение включения WSL Confirm WSL is enabled
Вы можете убедиться, что подсистема Windows для Linux включена, выполнив в PowerShell следующую команду. You can confirm that the Windows Subsystem for Linux is enabled by running the following in PowerShell:
Проблемы с подключением к серверу OpenSSH OpenSSH-Server connection issues
Попытка подключения к серверу SSH завершается следующей ошибкой: «Connection closed by 127.0.0.1 port 22» (Подключение закрыто узлом 127.0.0.1 через порт 22). Trying to connect your SSH server is failed with the following error: «Connection closed by 127.0.0.1 port 22».
Убедитесь, что сервер OpenSSH работает Make sure your OpenSSH Server is running:
Завершите работу службы sshd и запустите sshd в режиме отладки. Stop the sshd service and start sshd in debug mode:
Проверьте журналы запуска и убедитесь, что ключи сервера доступны и в журнале нет сообщений, как показано ниже. Check the startup logs and make sure HostKeys are available and you don’t see log messages such as:
Если вы видите такие сообщения и в разделе /etc/ssh/ отсутствуют ключи, потребуется повторно создать ключи или просто очистить и установить сервер OpenSSH. If you do see such messages and the keys are missing under /etc/ssh/ , you will have to regenerate the keys or just purge&install openssh-server:
«Указанная сборка не найдена». «The referenced assembly could not be found.» Это сообщение может появиться при включении дополнительного компонента WSL. when enabling the WSL optional feature
Данная ошибка связана с неправильным состоянием установки. This error is related to being in a bad install state. Чтобы устранить эту проблему, выполните следующие действия. Please complete the following steps to try and fix this issue:
Если вы используете команду включения компонента WSL в PowerShell, попробуйте использовать графический пользовательский интерфейс. Для этого откройте меню «Пуск», выполните поиск фразы «Включение или отключение компонентов Windows», а затем из списка выберите «Подсистема Windows для Linux». Этот дополнительный компонент будет установлен. If you are running the enable WSL feature command from PowerShell, try using the GUI instead by opening the start menu, searching for ‘Turn Windows features on or off’ and then in the list select ‘Windows Subsystem for Linux’ which will install the optional component.
Обновите версию Windows, выбрав «Параметры» > «Обновления» и щелкнув «Проверить наличие обновлений». Update your version of Windows by going to Settings, Updates, and clicking ‘Check for Updates’
Если оба способа не помогли и вам нужно использовать WSL, рассмотрите возможность обновления на месте, переустановив Windows 10 с установочного носителя и выбрав параметр «Сохранить все», чтобы сохранить свои приложения и файлы. If both of those fail and you need to access WSL please consider upgrading in place by reinstalling Windows 10 using installation media and selecting ‘Keep Everything’ to ensure your apps and files are preserved. Инструкции по такой установке можно найти на странице Переустановка Windows 10. You can find instructions on how to do so at the Reinstall Windows 10 page.
Правильные (связанные с SSH) ошибки разрешений Correct (SSH related) permission errors
Если вы видите эту ошибку: If you’re seeing this error:
Чтобы устранить эту проблему, добавьте следующий текст в файл /etc/wsl.conf : To fix this, append the following to the the /etc/wsl.conf file:
Обратите внимание, что добавление этой команды будет включать метаданные и изменять разрешения для файлов Windows, показанных в WSL. Please note that adding this command will include metadata and modify the file permissions on the Windows files seen from WSL. См. сведения о разрешениях файловой системы. Please see the File System Permissions for more information.
Выполнение команд Windows завершается сбоем в дистрибутиве Running Windows commands fails inside a distribution
Некоторые дистрибутивы, доступные в Microsoft Store, еще не полностью поддерживают возможность выполнения команд Windows в Терминале. Some distributions available in Microsoft Store are yet not fully compatible to run Windows commands in Terminal out of the box. Если при выполнении powershell.exe /c start . или любой другой команды Windows возникает ошибка -bash: powershell.exe: command not found , ее можно устранить, выполнив следующие действия: If you get an error -bash: powershell.exe: command not found running powershell.exe /c start . or any other Windows command, you can resolve it following these steps:
- В дистрибутиве WSL выполните echo $PATH . In your WSL distribution run echo $PATH .
Если /mnt/c/Windows/system32 отсутствует, что-то переопределяет стандартную переменную PATH. If it does not include: /mnt/c/Windows/system32 something is redefining the standard PATH variable. - Проверьте параметры профиля с помощью cat /etc/profile . Check profile settings with cat /etc/profile .
Если присутствует назначение переменной PATH, измените файл, чтобы закомментировать блок назначения PATH, используя символ # . If it contains assignment of the PATH variable, edit the file to comment out PATH assignment block with a # character. - Проверьте, существует ли файл wsl.conf ( cat /etc/wsl.conf ), и убедитесь, что он не содержит appendWindowsPath=false . В противном случае закомментируйте эту строку. Check if wsl.conf is present cat /etc/wsl.conf and make sure it does not contain appendWindowsPath=false , otherwise comment it out.
- Перезапустите дистрибутив, введя wsl -t , после чего следует имя дистрибутива, либо выполните wsl —shutdown в cmd или PowerShell. Restart distribution by typing wsl -t followed by distribution name or run wsl —shutdown either in cmd or PowerShell.
Не удается выполнить загрузку после установки WSL 2 Unable to boot after installing WSL 2
Мы осведомлены о проблемах, из-за которых пользователям не удается выполнить загрузку после установки WSL 2. We are aware of an issue affecting users where they are unable to boot after installing WSL 2. Пока мы полностью диагностировали эту проблему, от пользователей поступали сообщения о том, что помочь в ее устранении может изменение размера буфера или установка правильных драйверов. While we fully diagnose those issue, users have reported that changing the buffer size or installing the right drivers can help address this. Просматривайте новейшие сведения об этой проблеме на сайте GitHub. Please view this Github issue to see the latest updates on this issue.