файлы Linux в корневой файловой системе WSL создаются специально с разрешениями POSIX, хранящимися в расширенных атрибутах NTFS. Вы можете увидеть это, запустив fsutil file layout lxss\root
и уведомления $EA
поток там. Если вы создаете файлы непосредственно из Windows, вы будете испортить вещи, потому что win32 apps ничего не знает о Linux и его метаданных файлов
проблема возникает, когда, например, вы используете приложение/инструмент Windows, чтобы открыть, создать и/или изменить файл под вашим корень дистрибутива: поскольку файл был создан с помощью инструмента Windows, файл не будет иметь никакого Linux файл метаданные (например, права доступа, владелец, доступ/обновление метки времени и т. д.). Таким образом, для Linux, (которая получает только метаданные файла Linux),файл может быть пустым, возможно, даже не существует или может иметь некоторые метаданные, но эти метаданные могут не отражать детали файла, что привело к повреждению содержимого файла.
поэтому госпожа имеет смело предупреждал, что
ни при каких обстоятельствах не создавайте и/или не изменяйте файлы Linux с помощью приложений, инструментов, сценариев, консолей и т. д.
создание / изменение файлов Linux из Windows, скорее всего, приведет к повреждению данных и / или повредить среду Linux требует удаления и переустановки дистрибутива!
не изменяйте файлы Linux с помощью приложений и инструментов Windows
файлы, отношение к Linux должно быть создано только из WSL. Если вы хотите создать файлы, которые доступны обеим системам, то создайте их вне корня WSL и доступ из WSL через точку монтирования в /mnt
как /mnt/drive/path
если вы хотите создавать файлы на файловых системах Windows, но сохранить чувствительность к регистру, то используйте
fsutil file setCaseSensitiveInfo <directory name> enable
флаг также можно проверить с помощью fsutil file queryCaseSensitiveInfo <directory name>