我用 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 也可以轻松遵循):
- 向您的虚拟机添加新的 HD(必须以 root 身份启动 vmplayer)
- 当提示磁盘类型时,选择物理磁盘
- 选择正确的设备(因此 vmplayer 以 root 身份启动)
- 选择“使用单独分区”
- 选择包含错误文件的分区
- 完成添加
- 启动虚拟机
对我来说,Windows 7 检测到了新分区并在启动时执行了磁盘检查。它需要进行大量(索引)清理。有问题的文件消失了。问题解决了。