如何修复 NTFS 分区中的“输入/输出错误”?

如何修复 NTFS 分区中的“输入/输出错误”?

我用 Ubuntu 替换了有缺陷的 Windows Vista 安装。一切正常,只是我存放所有文件的主硬盘现在无法访问。这是我收到的错误消息:

Error mounting: mount exited with exit code 13: ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Failed to read NTFS $Bitmap: 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

这一定是硬件问题吗?如果不是,有没有办法从 Ubuntu 修复 HD?

答案1

ntfsfix对我有用:

sudo ntfsfix /dev/sdb1

包装内提供ntfs-3g

答案2

chkdsk /R当 NTFS 出现问题时,这是一个非常重要的命令。不幸的是,我不知道有哪个 Linux 工具可以涵盖它的所有功能。简而言之,要运行它,您需要某种 Windows 恢复磁盘。

如果你手边没有 ISO,可以使用另一组支持论坛上的帖子(见第一个答案)。

有一些工具ntfsfix(例如软件包的一部分ntfsprogs)可以对 NTFS 磁盘进行表面检查,但它们往往无法修复驱动器。

答案3

NTFS 是 Microsoft 的闭源文件系统,您需要使用 Windows 来修复它,方法是按照chkdsk /f建议运行。如果问题与硬件有关,则必须更换硬盘。

答案4

背景:

所以我或多或少也遇到了同样的问题。我的硬盘的 NTFS 分区上大约有 12 个文件无法访问,也无法删除。我通过 backintime 的错误日志了解到了这些文件。在 vmware 上启动了我的 Windows 7,通过共享文件夹访问了包含这些文件的文件夹,并将它们复制到了一个新文件夹中。但出于某种原因,我也无法从 Windows 7 中删除这些文件(0 字节)。这并不奇怪,因为操作系统对这些文件没有低级访问权限。

ntfsfix没有修复,说没有问题,并fsck说设备一切正常。我无法修复,chkdsk /R因为文件是通过网络驱动器共享的。而且我的物理机器上没有安装 Windows 7。

解决方案(针对 vmplayer 的步骤,但对于 virtualbox 也可以轻松遵循):

  1. 向您的虚拟机添加新的 HD(必须以 root 身份启动 vmplayer)
  2. 当提示磁盘类型时,选择物理磁盘
  3. 选择正确的设备(因此 vmplayer 以 root 身份启动)
  4. 选择“使用单独分区”
  5. 选择包含错误文件的分区
  6. 完成添加
  7. 启动虚拟机

对我来说,Windows 7 检测到了新分区并在启动时执行了磁盘检查。它需要进行大量(索引)清理。有问题的文件消失了。问题解决了。

相关内容