Обнаружение символических ссылок Linux NTFS в Windows/WSL

Символические ссылки, созданные в Linux на дисках NTFS (), отображаются в Windows как короткие файлы с содержимым.IntxLNK + 0x01 + (UTF-16 encoded target path)- наверное, Интерикс. Я хочу написать сценарий для их преобразования при загрузке в Windows в правильные символические ссылки NTFS, используя WSL.ln. Однако я не знаю, как обнаружить короткие файлы, которые на самом деле являются символическими ссылками Linux, кроме как путем просмотра содержимого каждого файла, что было бы отстойно для большой файловой системы и не помогло бы для простых файлов, начинающихся с магии.

Почему NTFS-3g по-прежнему не может создавать правильные точки повторной обработки, такие как Windowsmklinkили WSL2ln -s, даже несмотря на то, что такие символические ссылки Windows корректно работают в Linux, и даже несмотря на то, чтоgetfattr -n system.ntfs_reparse_dataможет читать данные символической ссылки NTFS, это выше моего понимания. На самом деле это должно быть простоsetfattr, хотя я не знаю, что поместить в атрибут.

Итак, есть ли способ обнаружить символические ссылки, созданные в Linux, используя метаданные файла (а не содержимое)? Я уверен, что символические ссылки Linux имеют некоторые особые атрибуты, поскольку NTFS-3g может различать простые файлы, содержащиеInterLnkxмагия и настоящие символические ссылки, содержащие ту же магию.

Связано (нет ответов): https://www.reddit.com/r/linuxquestions/comments/env60r/converting_linux_symlinks_to_windows_symlinks/

Скрипт Python для конвертации; обнаружение по содержимому файла

0 ответов

Другие вопросы по тегам