超级块外部硬盘中的魔法数字错误

超级块外部硬盘中的魔法数字错误

我有一个外部硬盘似乎坏了。无法在 Windows 和 Ubuntu 中打开(它是 NTFS 文件系统)。在 Windows 上,我运行了(两次)命令chkdsk。它在那里识别出某些不可读的内存段。我以为它会“标记”这些,并在尝试读取硬盘时避开它们。但在我运行该程序后,Windows 仍然无法打开它。所以要么我错了,要么我的磁盘无法修复。

假设我错了,我转向 Ubuntu 看看是否gpartedfsck任何帮助。“检查”功能gparted给了我一个错误... 并且没有太多额外的信息。

首先检查分区在哪里,lsblk运行

sdb      8:16   0 298,1G  0 disk 
└─sdb1   8:17   0 298,1G  0 part 

接下来fsck,我运行了以下命令

root@...# fsck /dev/sdb1 -y
fsck from util-linux 2.31.1

仅此而已。所以这很奇怪。因此我尝试了整个磁盘而不是一个分区。这给了

root@...# fsck /dev/sdb -y
fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

Found a dos partition table in /dev/sdb

因此所述错误是

fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb

因为我确信(感谢gparted)我正在处理ntfs文件系统,而不是ext[0-9]..我认为提出的解决方案(运行ef2fsck不适用于我。

我不知道如何从这里继续。我相信如果可以避免读入某些内存段……我想我可以从中检索一些数据。但我不知道如何做到这一点。

答案1

fsck并且gparted应用程序不能用于修复 ntfs 分区的问题。ntfsfix不应用它来尝试修复此问题。

通常应该使用 Windows 工具。但是,chkdsk在这里没有帮助。

您可以尝试使用testdiskUbuntu 操作系统。

sudo apt-get update# 更新软件数据库

sudo apt-get install testdisk# 安装测试盘

sudo testdisk# 启动测试磁盘

http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step以获得有关使用此工具的帮助。

答案2

获取另一张磁盘。

首次尝试时,使用 ntfsclone 克隆磁盘。

在那之后,很可能就会失败,可以通过以下方式之一获取对损坏设备的一些只读访问权限:

  • mount [-t ntfs] -o ro (如果它认为它是 ext 或者提到 ntfs 以外的东西,请使用 -t)
  • ntfsls、ntfscp、ntfsrecover(ntfs-3g 的一部分)
  • 测试磁盘
  • photorec(此工具仅查找它能识别的文件格式...它不是完整恢复)

然后将整个磁盘克隆到新磁盘。

而且我认为 fsck 的输出中提到 ext 可能意味着它实际上认为您有 ext。也许它上面有一个 ext 超级块。这可能是问题的根源……也许 ntfs 实际上是健康的,但 linux 感到困惑。或者也许某些 linux 感到困惑,将其挂载为 ext 并写入它,从而破坏了 NTFS。以后要小心……下次格式化之前使用 wipefs 或将设备归零(例如使用 dd)。不要相信格式化工具会这样做……他们会错过他们不知道的东西;wipefs 错过的更少,因为它专注于此;只要您将它指向正确的扇区范围(我总是将第一个和最后一个 100MB 归零),dd 就不会错过任何东西。

相关内容