104

I am having trouble mounting my external hard drive, every time I try and do so I get the following message:

"Error mounting /dev/sdb1 at /media/fuzzy27/My Book: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sdb1" "/media/fuzzy27/My Book"' exited with non-zero exit status 13: $MFTMirr does not match $MFT (record 0).
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."

How do I go about or what do I need to do in order to fix this error/problem without losing any of the data on my hard drive?

Is there no other way of fixing it without having to reinstall windows or finding someone using windows?

6
  • 1
    see the message: "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." Windows problems you fix with windows tools.
    – Rinzwind
    Jul 21, 2014 at 13:58
  • yeah I think you have to shut down restart windows and then come to ubuntu to access it. Is the drive encrypted or something?
    – Chinmaya B
    Jul 21, 2014 at 13:59
  • 4
    As the message says: "run chkdsk /f on Windows then reboot into Windows twice." This means you have to boot Windows or take the drive to a friend who has a computer running Windows. Then use the Windows Command Line and enter the command "chkdsk /f X: where X is the external drive. Then as the message says, reboot into Windows twice.
    – user68186
    Jul 21, 2014 at 14:00
  • 1
    I couldn't agree more. You need to run chkdsk /f on a windows environment or use HirensBootCD booted into a USB. I've been through the same and it helped me to fix.
    – AzkerM
    Jul 21, 2014 at 15:47

6 Answers 6

110

Install ntfs-3g with sudo apt-get install ntfs-3g. Then run the ntfsfix command on your NTFS partition.

ntfsfix v2.0.0 (libntfs 10:0:0)

Usage: ntfsfix [options] device

Attempt to fix an NTFS partition.

-h, --help             Display this help
-V, --version          Display version information

For example: ntfsfix /dev/hda6

Developers' email address: linux-ntfs-dev@lists.sf.net Linux NTFS homepage: http://www.linux-ntfs.org

Note: Whenever you're dealing with partition, make sure that you have a complete backup just to be on the safe side.


sudo apt-get install testdisk

Then run it:

sudo testdisk

and follow the instructions. You must search for partitions and then write the changes.

Thanks to answerers here:

6
  • 1
    Getting rid of the middle section of yr answer is recommended. As you remarked ntfsprogs is long gone. The remainder of yr answer stands.
    – Cbhihe
    Oct 27, 2015 at 16:27
  • 1
    FYI, if you've used ddrescue to pull an image off of a dying harddrive you can use ntfsfix on the image to address NTFS issues too. Just point ntfsfix at the image file (ntfsfix dyinghdd.image) instead of the actual device in /dev/.
    – dan_linder
    Mar 5, 2017 at 16:22
  • 1
    The point here is that the hard drive is not being mounted correctly. How then can a backup be performed?
    – zondo
    Jun 23, 2017 at 13:36
  • First line of this answer was sufficient in my case.
    – Yair Daon
    Oct 13, 2017 at 2:27
  • 2
    sudo ntfsfix /dev/sdc1 fixed my issue and was able to mount the external Hard Disk.
    – Nidheesh
    Jan 29, 2018 at 2:28
86

This was good enough for me:

sudo ntfsfix /dev/sdb1

On Ubuntu 14.04 this comes with:

sudo apt-get install ntfs-3g

Older versions of Ubuntu (e.g. 12.04) would require:

sudo apt-get install ntfsprogs
12
  • 2
    Just note that this may not recover all corrupted files the way a Windows chkdsk /F would so if you have a Windows machine that should be tried first. May 16, 2016 at 19:04
  • actually i have tried that with windows. what now happens is, it mounts in windows but data transfer is really slow (0 to 70 to 200 kbps). As for ubuntu, it does not mount at all. the same problem. so i now ran this ntfsfix. it made all corrections. after "ntfs partition /dev/sdb1 was processed successfully" it is now mounting. :). but the problem is speed. still 200 kbps
    – MycrofD
    May 28, 2016 at 7:40
  • Sounds like physical damage. If I were you I'd buy a drive duplicator to do a low level copy of all bits, and throw that drive away before it causes you to lose more precious data. amazon.com/gp/aw/d/B003WV5DLA?pc_redir=T1 Jun 1, 2016 at 18:07
  • @sridhar Thannks it worked Jun 5, 2016 at 10:16
  • This worked as a charm nevertheless I have to do the same command at EACH reboot of my system...
    – c24b
    Jun 7, 2017 at 20:02
3

This looks like an old question, but I ran into this issue in ubuntu 15.10. I mounted the hard drive in windows and simply removed the ._.Trashes directory on the drive that happened to contain a lot of data. Then I plugged it back into linux and it worked fine.

1
  • 1
    Hello from 2017! Mine is even weirder: I just plugged my disk into a different USB port..? No idea why the error occurred. Apr 15, 2017 at 20:05
2

Just in case this happens to anyone else and they don't hit dr Hannibal Lecter's comment, I just had to try a different USB port. There's nothing wrong with that USB port, but for some reason, it wouldn't work with this drive.

0

Formatting the device in the FAT format using the ubuntu utility Disks solved the problem for me

0

Connect the external hard disk to a windows pc.

When the disk enumerates, run chkdsk /f [driveletter]: from Command Prompt.

When I tried ntfs-3g, it suggested in terminal to run chkdsk. :) (I am on Ubuntu 14.04, real native install, not on any virtualized env)

Not the answer you're looking for? Browse other questions tagged or ask your own question.