Post by v***@at.BioStrategist.dot.dot.comI have a large USB which hadn't been chkdsk in a while so I let the library
computer do it. Back home I got a laptop which triple boots DOS, Ubuntu (CAE
Linux 2020) and Win XP. THe USB worked fine at the library, but back home
Ubuntu can't read one of the directories (io error) hence won't show me the
entire USB. But it works fine in Win XP. Since I share drives, it's kinda
workable, but annoying. Why?
The NTFS drivers for Linux, do not know all the Reparse Points.
Microsoft won't write up the Reparse Points. Microsoft has
provided a list of code points and the Reparse reserved
for the code point. But the behavioral part of the code
is not specified.
The "I/O Error" message is a mis-nomer of an older OS version.
It is not really an I/O error. It is not a CRC error from
the storage. It is nothing like that. It is an error where
the reading of the metadata cannot be parsed for the file
in question.
This is all "working as intended", until a better driver
which is fully functional, comes along.
If you try a more recent OS, the error message has been
changed to a "less scary" message.
*******
This is how Ubuntu 24.04 handles it. I have two Windows C: partitions
on the same drive. One, I will mount with the kernel NTFS driver
(which is the default and requires no tinkering). The second partition
I will mount with FUSE ntfs-3g .
The kernel NTFS driver in 24.04, does this. This line is from /etc/mtab .
The filesystem type of "ntfs3" means, "use the kernel NTFS driver provided by Paragon".
/dev/sda3 /media/ubuntu/W11PRO256 ntfs3 rw,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8 0 0
ls -algtR is clean. I cannot see any errors when I list that partition.
the second partition, I mount manually. I'm using a Ubuntu boot stick,
so there is no cleanup to do later.
sudo mkdir /mnt/old
sudo mount -t ntfs-3g /dev/sda5 /mnt/old # Use the old FUSE mounter, which is standard on 20.04
cd /mnt/old
ls -algtR is not clean. Notice though, that the error message is more intelligent.
The filesystem is "fuseblk" and is NTFS in user space. This is the older driver.
/dev/sda5 /mnt/old fuseblk rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
This is what happens, when ntfs-3g cannot parse the reparse tag on Ubuntu 24.04.
Whereas on older Ubuntu, it reports "I/O Error" to scare the shit out of you :-)
./Program Files (x86)/Microsoft/Edge/Application/133.0.3065.82/Trust Protection Lists/Sigma':
total 19
drwxrwxrwx 1 root 4096 Feb 24 20:43 .
drwxrwxrwx 1 root 0 Feb 24 20:43 ..
-rwxrwxrwx 6 root 2463 Feb 20 18:43 Advertising
-rwxrwxrwx 6 root 432 Feb 20 18:43 Analytics
-rwxrwxrwx 5 root 48 Feb 20 18:43 Content
-rwxrwxrwx 6 root 32 Feb 20 18:43 Cryptomining
lrwxrwxrwx 5 root 34 Feb 20 18:43 Entities -> 'unsupported reparse tag 0x80000017'
-rwxrwxrwx 6 root 172 Feb 20 18:43 Fingerprinting
-rwxrwxrwx 5 root 66 Feb 20 18:43 LICENSE
-rwxrwxrwx 5 root 91 Feb 20 18:43 Other
-rwxrwxrwx 5 root 3395 Feb 20 18:43 Social
lrwxrwxrwx 5 root 34 Feb 20 18:43 Staging -> 'unsupported reparse tag 0x80000017'
The Reparse tags can be decoded with this.
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/efbfe127-73ad-4140-9967-ec6500e66d5e
"Download PDF"
openspecs-windows_protocols-ms-fscc.pdf Page 98
0x80000017 == IO_REPARSE_TAG_WOF (Windows Overlay Filter, possibly New Compression is applied)
You can turn off compression using fsutil utility, but it applies
machine wide, that setting, and is not a precision setting. It also
upsets the WinRE.wim SafeOS updating scheme.
In any case, that gives you some idea what evil lurks on a C: drive. Reparse Points.
Paul