我正在使用 Ubuntu 14.10。当我尝试连接我的金士顿 4GB 笔式驱动器时,我收到以下错误消息:
Unable to mount 4.0 GB Volume
Error mounting /dev/sdb1 at /media/john/1332983517C04B87: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sdb1" "/media/john/1332983517C04B87"' 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.
我在 Windows 中尝试过并且它可以工作。
我该如何继续?
答案1
NTFS 分区存在一些问题,导致 Linux 无法读取。
- 在 Windows 中,执行以下操作,对 USB 笔上的错误进行磁盘扫描。
- 安全删除相同
- 在 Ubuntu 中再试一次
如果上述方法不起作用:
- 在 Windows 中备份数据
- 格式化您的 USB 笔
- 复制您的数据
- 在 Ubuntu 上尝试
为了避免将来出现此类问题,请始终安全移除你的 USB 笔。
答案2
问题的原因在错误消息的这一部分中说明:
[...] 状态 13:$MFTMirr 与 $MFT 不匹配(记录 0)。
NTFS 是一种使用表 (MasterFileTable = MFT) 来保存文件存储位置的文件系统。当然,这是简化的,但您可以轻松理解。它就像词典或街道地图中的索引。
因为这个表非常重要(驱动器没有其他可能找出哪些数据片段属于哪个文件或者在磁盘上哪里查找特定信息),所以有一个镜像副本。
通常它们总是同步的,但有时会发生错误(例如过早拔出记忆棒而没有进行保存删除或者在写入过程中系统崩溃)导致两个表出现差异。
现在,要消除它们并恢复两个正确且相同的表,您必须chkdsk /f
从 Windows 运行,正如消息中所述。如果您可以访问 Windows 计算机,这是最简单的方法。Ubuntu 也有一些 NTFS 工具,但如果我们也有一个简单的解决方案,为什么还要那么努力呢?
我希望这能帮助您解决问题并了解可能发生的情况以及如何避免这种情况。