Fix NTFS USB drive in linux

At times, there are errors with mounting NTFS formatted volumes from a USB drive. This can cause pain. Below is the method of how to fix the error, and even though it worked for me, there is no guarantee it will work for anyone else. Try it at your own risk.

Open a terminal window and try to mount the drive
$ sudo mount -t ntfs-3g -o defaults,noatime,utf8,dmask=002,fmask=111,uid=1000,gid=1000 /dev/sdb /mnt <enter>

NTFS signature is missing.
Failed to mount ‘/dev/sdb’: Invalid argument
The device ‘/dev/sdb’ doesn’t seem to have a valid NTFS.

Maybe the wrong device is used? Or the whole disk instead of a partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

$ sudo mount -t ntfs-3g -o defaults,noatime,utf8,dmask=002,fmask=111,uid=1000,gid=1000 /dev/sdb1 /mnt <enter>

$MFTMirr does not match $MFT (record 0).
Failed to mount ‘/dev/sdb1’: Input/output error

$ sudo ntfsfix /dev/sdb1 <enter>

Mounting volume… $MFTMirr does not match $MFT (record 0). 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 0…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.

The above command successfully recovers the NTFS drive and it is now mountable.