小编usr*_*etc的帖子

在 Windows/WSL 下检测 Linux NTFS 符号链接

在 Linux 中的 NTFS 驱动器 ( ln -s) 上创建的符号链接在 Windows 中显示为包含内容的短文件IntxLNK + 0x01 + (UTF-16 encoded target path)— 可能是Interix。我想编写一个脚本,在 Windows 中启动时使用 WSL 的ln. 但是,我不知道如何检测真正是 Linux 符号链接的短文件,除非查看每个文件的内容,这对于大型文件系统来说会很糟糕,并且对于从魔法开始的普通文件来说会失败。

为什么 NTFS-3g 仍然无法像 Windowsmklink或 WSL2一样创建正确的重解析点ln -s,即使此类 Windows 符号链接在 Linux 下正常工作,并且即使getfattr -n system.ntfs_reparse_data可以读取 NTFS 符号链接数据,也超出了我的范围。它实际上应该只是一个简单的setfattr,尽管我不知道要在属性中放入什么。

那么,有没有一种方法可以使用文件元数据(而不是内容)来检测在 Linux 下创建的符号链接?我确信 Linux 符号链接具有一些特殊属性,因为 NTFS-3g 可以区分包含InterLnkxmagic 的纯文件和包含相同 magic 的实际符号链接。

相关(没有答案):https://www.reddit.com/r/linuxquestions/comments/env60r/converting_linux_symlinks_to_windows_symlinks/

用于转换的Python脚本;通过文件内容检测

ntfs symbolic-link ntfs-3g interix windows-subsystem-for-linux

5
推荐指数
1
解决办法
693
查看次数

NTFS 格式 (mkfs) -- 磁盘的哪些区域会被覆盖?

我不小心在2Tb 外置硬盘上运行mkfs.ntfs -Q /dev/sda(而不是/dev/sda6)。幸运的是,开头有一个 1G 未使用的分区,结尾也有足够的空间:

Device     Boot      Start        End    Sectors  Size Id Type
/dev/sda1             2048    2099199    2097152    1G  b W95 FAT32
/dev/sda2  *       2099200 3739256831 3737157632  1.8T  7 HPFS/NTFS/exFAT
/dev/sda4       3739256832 3907029166  167772335   80G  5 Extended
/dev/sda5       3739258880 3751841791   12582912    6G 83 Linux
/dev/sda6       3751843840 3907029166  155185327   74G  7 HPFS/NTFS/exFAT
Run Code Online (Sandbox Code Playgroud)

是否/dev/sda2安全?或者 mkfs.ntfs 在目标空间的中间写入元数据,在这种情况下,我猜任何文件都可能在没有警告的情况下损坏?

linux ntfs data-recovery filesystems partitioning

2
推荐指数
1
解决办法
471
查看次数