How to fix Ntfsresize fails every time with "Check filesystem"?

Trying to shrink a partition through KDE Partition Manager and this error is driving me insane.
Every single time I try to apply the resize, NTFSResize instantly fails with a useless “Check filesystem: error”

I’ve safely disconnected the drive on Windows. I’ve run chkdsk /f on it. Nothing changes. It gives the exact same error every time, despite nothing being wrong with my drive.

How can I force it to continue?

I have never heard of ntfsresize, can anyone tell me what is ntfsresize?

There are two available solutions to deal with the “Check filesystem: error” you run into every time you run ntfsresize.

The first one is that you can resize the NTFS partition in Windows as I speculate the Windows partition still exists between the lines of your post.

The second way you can try is to run ntfsfix to isolate the “Check file system: error” on the Linux side. Just open the terminal window and type this command line to troubleshoot the error you meet, after it is fixed, you can resize the Windows partition with ntfsresize one more time.

ntfsfix

This utility is rarely used nowadays, so I’m really happy to see someone run it today! Hope you good luck~

ntfsresize is a free Unix utility that non-destructively resizes the NTFS filesystem used by Windows NT 4.0, 2000, XP, 2003, Vista, 7, 8, 10, and 11 typically on a hard disk partition. All NTFS versions used by 32-bit and 64-bit Windows are supported. No defragmentation is required prior to resizing since version 1.11.2. ntfsresize is included in the ntfsprogs package, developed by the Linux-NTFS project. For those who don’t have a Unix system installed, it is still possible to run ntfsresize by using one of the many Linux Live CDs.

Ntfsresize is fully compatible with all known NTFS versions from Windows NT 3.1 to Windows Vista and it checks the internal structures for errors.

It works in different situations like:

:one: No defragmentation needed prior to use

:two: Supports both shrinking and expanding NTFS

:three: Supports resizing volumes with known bad sectors in them

However, ntfsresize cannot run under the following conditions:

:one: When the volume is flagged dirty, that is marked for Windows to run CHKDSK at boot. The --force switch will override this

:two: When Windows is hibernated on the partition

I decided to shrink my NTFS partitioned and create an ext4 partition as it’s faster and the default for Linux either way. Moreover, I planned to move the pictures and stuff like that from NTFS to ext4. I tried to do that first with the help of gparted, and as that didn’t work with ntfsresize (also didn’t work) I now am stuck and need help.

Here is the information that might be helpful:

$ sudo ntfsresize -fs 953864 /dev/sdb1

(953864 should work as only around 80GB of the drive is used)

Output:

Device name        : /dev/sdb1
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 1895538184704 bytes (1895539 MB)
Current device size: 1895538188288 bytes (1895539 MB)
New volume size    : 950784 bytes (1 MB)
Checking filesystem consistency ...
Cluster 249604 is referenced multiple times!
Cluster 249605 is referenced multiple times!
Cluster 249606 is referenced multiple times!
Cluster 249607 is referenced multiple times!
Cluster 249608 is referenced multiple times!
Cluster 249609 is referenced multiple times!
Cluster 249610 is referenced multiple times!
Cluster 249611 is referenced multiple times!
Cluster 249612 is referenced multiple times!
Cluster 249613 is referenced multiple times!
100.00 percent completed
ERROR: Filesystem check failed!
ERROR: 32 clusters are referenced multiple times.
NTFS is inconsistent. Run chkdsk /f on Windows then reboot it TWICE!
The usage of the /f parameter is very IMPORTANT! No modification was
and will be made to NTFS by this software until it gets repaired.

I couldn’t do what the output suggested as I didn’t have Windows installed anymore.

Tried:

​​$ sudo ntfsfix -db /dev/sdb1

Output:

Disk model: ST2000DM008-2FR1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x715b873b
Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1        2048 3702225071 3702223024  1.7T  7 HPFS/NTFS/exFAT

I don’t know what to do here. Do I need to boot into Windows again to run chkdsk /f even though ntfsfix didn’t find any errors and I can read and write to the disk as far as I tested?

I guess you should do as ntfsresize suggests, you can make a Windows boot drive and execute the chkdsk f command line to get everything fixed, and then you can carry on the partition resize task.

chkdsk /F [myPartition]