如何在没有Windows的情况下修复不一致的NTFS文件系统?


3

我有一台戴尔笔记本电脑,出厂时带有Windows。从那以后,我安装了Linux并用SSD替换了硬盘。 NTFS分区不一致(HDD上坏扇区的结果)需要修复,但我无法启动进入Windows运行chkdsk。

我该如何解决这个问题?在我这样做之前,我无法移动我的NTFS分区以扩展我的根文件系统上的空间,这非常低。

编辑:

我的所有分区都是通过Clonezilla从我垂死的硬盘克隆到我的SSD。 SSD上没有坏扇区,但NTFS分区仍处于不一致状态。


我想我在这里的答案可以解释一下: superuser.com/questions/665214/...
Rudolph

1
正在删除并重新创建NTFS分区 mkfs.ntfs 一个选项? - Alsom Rudolph对可靠性有一个很好的观点。显示坏扇区的硬盘是一个非常糟糕的迹象。确保您有备份。
Hennes

1
我读到这个问题时说,坏扇区的硬盘已不再使用,但坏扇区的损坏仍然存在于已复制到SSD的NTFS卷上。如果这个读数不正确,那么我绝对同意Hennes。坏扇区的磁盘就像一片带有模具的面包;问题只会随着时间的推移而恶化。
Rod Smith

更新:我设法启动到Windows并运行chkdsk。我的分区现在有效。
Demi

Answers:


2

如果计算机只有Linux,则不应使用NTFS。没有好的Linux工具可以修复NTFS损坏。 (Linux ntfsfix 工具只是进行一些非常基本的检查,然后将文件系统标记为需要Windows的更多关注。)因此,从长远来看,您的目标应该是从NTFS切换到Linux本机文件系统。在短期内,您应该使用Windows紧急磁盘来修复文件系统。 (这种紧急磁盘可以广泛使用,但我没有任何URL方便。也许你可以通过搜索微软的网站找到一个。)可以想象你可以使用 ntfsclone 也做备份;看到了 --rescue 手册页中的选项。不过,我从未尝试过这个。

总的来说,我会说你应该做以下事情:

  1. 使用Windows紧急光盘, ntfsclone,或访问分区所需的任何其他工具。
  2. 将文件从该分区复制到另一个磁盘。您可以在Linux或Windows中执行此操作,具体取决于方便的方式以及您如何访问磁盘。
  3. 在分区上创建Linux本机文件系统(ext2 / 3 / 4fs,ReiserFS,XFS,JFS,甚至Btrfs)。
  4. 将文件复制回原始(但新近准备好的)分区。

2.5。用坏块覆盖整个分区(例如 dd if=/dev/zero of=... bs=1M 或者最后 dd bs=4K )。如果HDD仍然具有可用的内部物理保留块,那将修复坏块。如果没有,请不要使用该驱动器来存储您想要保留的任何数据。该 smartctl -x 可以允许检查重新映射的扇区数。
Mikko Rantalainen

我错过了原帖中对坏块的引用。原始磁盘应该扔掉;任何带有坏块的磁盘都是不可靠的。这些问题随着时间的推移会越来越严重。因此,步骤2.5应为“购买新磁盘”。建议使用 dd 归零它将是一个临时的创可贴,充其量;它会导致磁盘映射出当前的坏块,但是这些问题往往会变得更糟,所以问题几乎肯定会再次发生。
Rod Smith

由于制造错误,磁盘可能包含一个或两个坏块。在这种情况下,磁盘是可以的,重新映射是正确的修复。这与具有死像素的LCD显示器没有什么不同。但是,我确实同意如果在使用磁盘后出现新的坏块,则应将其丢弃。
Mikko Rantalainen

所有现代磁盘都会自动映射坏块,达到某个预定限制(为此目的预留的扇区数)。因此,“一两个”坏块甚至不会出现。如果你看到坏块,你已经超出了磁盘的设计限制,并且有更多的坏块。这样的磁盘应该扔掉。我见过坏块的唯一一次出现在磁盘上,整个磁盘在几个小时到几个月之间变得完全无用。
Rod Smith

坏块确实会显示,因为即使磁盘固件在写入合适的数据之前也不知道块是坏的,然后读取命令后面再读取相同的块。我知道,因为我只有一个硬盘的情况。当我用新数据覆盖该扇区时,该磁盘有一个坏块被重新映射。 HDD检测到坏块的方式是,在读取块后,它会检查该块的内部校验和,如果校验和不匹配,则会自动重试读取几次。如果重复读取无法使校验和匹配,则报告读取错误
Mikko Rantalainen

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.