Is there a trick I need to know about mounting an NTFS-formatted USB disk drive which is formatted with a non-default cluster size?
I have a 500GB WD My Passport, formatted NTFS with a 4K cluster size, that automounts just fine. I just tried connecting a 2TB WD My Passport, formatted NTFS with a 256K cluster size and it will not mount. I can read stuff on it fine from a windoze PC.
If I have to I will copy off all the content and reformat but I thought I’d ask here first.
Oddly Windows 10 will allow you to specify up to 2048K when formatting. Seems silly when using anything but the default will remove the possibility of using compression.
Used a USB 3.0 64GB stick and tested with a Vero 4k + OSMC 2017.12-1 (current Debian Stretch Dev):
The maximum accepted NTFS cluster size by OSMC is 32KiB.
root@osmc-vero4k:/# mkfs.ntfs -f -c 65536 /dev/sdb1
Windows cannot use compression when the cluster size is larger than 4096 bytes. Compression has been disabled for this volume.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
And this will mount on OSMC!
If I format the stick with Windows 10 with NTFS and cluster sizes above 32KiB it does not mount on OSMC.
In addition, trying to force the mount on a specific mount point:
root@osmc-vero4k:/mnt# mount -t auto /dev/sdb1 /mnt/blubb
$MFTMirr does not match $MFT (record 24).
Failed to mount '/dev/sdb1': Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.
Well, obviously here is something wrong with windows but you you can repair it with Linux:
root@osmc-vero4k:/mnt# ntfsfix /dev/sdb1
Mounting volume... $MFTMirr does not match $MFT (record 28).
FAILED
Attempting to correct errors...
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 28...OK
Correcting differences in $MFTMirr record 29...OK
Correcting differences in $MFTMirr record 30...OK
Correcting differences in $MFTMirr record 31...OK
Correcting differences in $MFTMirr record 32...OK
Correcting differences in $MFTMirr record 33...OK
Correcting differences in $MFTMirr record 34...OK
Correcting differences in $MFTMirr record 35...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb1 was processed successfully.
Cluster values above 64KiB won’t work since you get a “Unexpected sectors per cluster value” error on Linux.
To make it more sick, such “repaired” 64KiB-cluster-sized device won’t mount on Windows without an error/warning. Once repaired on Windows it won’t mount anymore on OSMC, again …
Confirmed, NTFS formatted with OSMC using 64KiB cluster-size works without a warning/error on Windows 10.
Summary and back to the initial post of this thread:
256KiB cluster-size will not work with OSMC (and most Linux systems). Just use the defaults using Windows. Cluster-sizes till 32KiB will work without any issues; 64KiB requires the partition to be formatted using OSMC at the moment.