问题描述
我有一个 1TB 的外部硬盘驱动器,我最近将其格式化为 NTFS。直到现在,它一直在我的 Ubuntu 11.10 上正常安装。我没有进行任何更改来影响我的操作系统或我的 exhdd。
我得到的错误是:
Error mounting: mount exited with exit code 13: $MFTMirr does not match $MFT (record 0).
Failed to mount '/dev/sdb2': 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.
我尝试安装 ntfsfix
但不再存在此类软件包。\n我从未在 Windows 机器上使用过此 HDD。如果我需要使用其他机器来解决这个问题,我可以使用 Mac。
有什么建议吗?
这是我的 sudo fdisk -l 输出:\nGPT 到底是什么?我没有那样做。它曾经是 NTFS。
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000586fb
Device Boot Start End Blocks Id System
/dev/sda1 * 2148 961320312 480659082+ 83 Linux
/dev/sda2 961320313 976773167 7726427+ 5 Extended
/dev/sda5 961320314 976773167 7726427 83 Linux
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcfd88605
Device Boot Start End Blocks Id System
/dev/sdb1 1 1953525167 976762583+ ee GPT
最佳方案
这真的对我有用。
在一些最近的 Linux 发行版中,您需要安装 ntfs-3g 实用程序。尝试 sudo apt-get install ntfs-3g
或从 http://www.tuxera.com/community/ntfs-3g-download/ 下载。 ntfs-3g 包括 ntfsprogs。
ntfsprogs is a suite of NTFS utilities based around a shared library. The tools are available for free and come with full source code.
mkntfs: Create an NTFS volume on a partition
ntfscat: Print a file on the standard output
ntfsclone: Efficiently backup/restore a volume at the sector level
ntfscluster: Given a cluster, or sector, find the file
ntfsfix: Forces Windows to check NTFS at boot time
ntfsinfo: Dump a file’s attributes, completely
ntfslabel: Display or set a volume’s label
ntfslib: Move all the common code into a shared library
ntfsls: List directory contents
ntfsresize: Resize an NTFS volume
ntfsundelete: Find files that have been deleted and recover them
ntfswipe: Write zeros over the unused parts of the disk
ntfsdefrag: Defragment files, directories and the MFT
ntfsck: Perform consistancy checks on a volume
nttools: Command-line tools to view/change an offline NTFS volume, e.g. ntfscp, ntfsgrep, ntfstouch, ntfsrm, ntfsrmdir, ntfsmkdir
ntfsdiskedit: Walk the tree of NTFS ondisk structures (and alter them)
Be careful with these utilities, they might damage the filesystem, or your hard disk !
(来源:http://gnuwin32.sourceforge.net/packages/ntfsprogs.htm)
安装 ntfs-3g ( sudo apt-get install ntfs-3g
) 后,您应该在终端中执行以下命令:
sudo ntfsfix /dev/partitionName
执行此命令后,您应该会得到以下输出:
~$ sudo ntfsfix /dev/sdb3
Mounting volume... 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
NTFS volume version is 3.1.
NTFS partition /dev/sdb3 was processed successfully.
完成此步骤后,您应该能够像往常一样访问您的外部驱动器分区,挂载或使用 nautilus 来访问您的文件。
次佳方案
GPT 是 GUID Partition Table,,它是 Mac、基于 UEFI 的 PC 和大小超过 2TiB 的磁盘上使用的 next-generation 分区系统。它也可以用于较小的磁盘,甚至是基于 BIOS 的系统,只要您不希望从此类磁盘启动 Windows。正如 fdisk
警告消息所指出的,fdisk
不支持 GPT,因此您不应尝试在此磁盘上使用 fdisk
。相反,请使用 gdisk
(gdisk
或 gptfdisk
包的一部分,具体取决于您的安装方式)或 parted
。
不过,GPT 与您的问题没有任何关系。安装错误消息指示 I/O 错误,这很可能指示硬件故障。您可以尝试使用 gsmartcontrol
(GUI) 或 smartctl
(text-mode) 等工具在磁盘上运行 SMART 测试。这应该会发现任何硬件故障,但 SMART 测试的输出可能难以解释。既然你说它是一个外置驱动器,它也可能是一根松动或损坏的电缆,所以你可以尝试重新安装或更换它。电缆故障不会出现在 SMART 测试中。
更一般地说,如果它实际上不是硬件故障,则您无法从 Linux 或 OS X 对 NTFS 进行足够的文件系统测试;只有 Windows 提供了执行此操作的工具。您可能无法挂载需要文件系统检查的 NTFS 磁盘,因此您必须时不时地获取 NTFS 磁盘到 Windows 系统以处理此类问题。如果您从未在 Windows 系统上使用该磁盘,则 NTFS 是错误的文件系统。
对于 Linux-only 使用,最好使用 Linux-native 文件系统,例如 ext2fs、ext3fs、ext4fs、ReiserFS、XFS、JFS 或者 Btrfs。 (不过,我不会在 1TB 磁盘上使用 ext2fs。)如果您同时将磁盘用于 Linux 和 OS X,我会使用 FAT 或 HFS+。尽管年代久远,FAT 仍然是 best-supported cross-OS 文件系统。但是,它的最大文件大小为 4GiB 存在问题,如果您存储多媒体或其他大文件,这可能是个问题。 HFS+ 可以用于 Linux/OS X,前提是您了解如何禁用日志和处理权限问题。 (如果启用了日志,Linux 将不会写入 HFS+,除非您使用覆盖挂载选项,这可能会降低安全性。)