![ext4 的 fsck 适用于 64 位系统吗?](https://linux22.com/image/1274223/ext4%20%E7%9A%84%20fsck%20%E9%80%82%E7%94%A8%E4%BA%8E%2064%20%E4%BD%8D%E7%B3%BB%E7%BB%9F%E5%90%97%EF%BC%9F.png)
首先,我要感谢James T
他们ct64116
对我的第一个问题;我意外地用 Windows 7 安装程序覆盖了 ext4 分区并丢失了大约 300Gb 的文件。
我听从了他们的建议,使用 testdisk 分析了丢失的文件系统。一切似乎都正常,我很想恢复它,但我遇到了一个障碍。
我在 64 位处理器上运行 Ubuntu 10.04。为了修复文件系统,我需要找到备份超级块(我已经找到了),然后使用它们将磁盘恢复到可用状态。但是它不起作用,我想我知道原因了。
我在用着本教程启动并运行分区。但是,当我运行 fsck.ext4 时,我得到的输出与他不同。首先,版本号不同:他的版本号是 1.41.4,我的版本号是 1.41.11。
其次,尽管我正在运行 fsck.ext4,但我收到的错误消息告诉我,我正在检查的文件系统不正确扩展2文件系统。
所以我认为这里的问题在于我拥有的 fsck 版本还不能理解 ext4,而它不能理解 ext4 的原因(尽管我的编译日期晚于他的)是因为我运行的是 64 位系统,而较新的 fsck 尚未移植到 64 位。这听起来对吗?
无论如何,如果没有适用于 64 位系统的较新的 fsck,我想我现在唯一的希望就是拿起一个外部 3.5 英寸外壳,拔出驱动器,将其连接到我的 i386 笔记本电脑,然后尝试从该机器(使用版本 1.41.9)修复文件系统。
这听起来是个好主意吗?有谁知道是否有更简单的方法可以解决这个问题(例如,是否有较新的 fsck 的 64 位版本可用 - 我似乎无法通过 Google 找到太多信息 - 它对我来说有点难以理解)?
万分感谢。
SS
编辑:根据 nik 的建议,以下是所讨论系统的 fdisk 输出。当前处于危险中的磁盘是列表中的最后一个磁盘,位于 /dev/sdc1。[nik
编辑:我已从其他磁盘中删除数据以减少混乱 — 如果需要,请查看上一个编辑]
磁盘 /dev/sdc:1500.3 GB,1500301910016 字节 255 个磁头、63 个扇区/磁道、182401 个磁柱 单位 = 16065 * 512 = 8225280 字节的柱面 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标识符:0x05ced8ed 设备启动开始结束块ID系统 /dev/sdc1 1 182402 1465136128 7 HPFS/NTFS
更新:我对超级块不太走运;不过我摆弄了 testdisk,发现 testdisk 会将文件夹结构复制到我的主目录中!太棒了
不过,我的主目录位于 SSD 上,而且任何时候都只有大约 30 GB 的可用空间,因此我必须错开副本并定期转储到更大的磁盘上 - 幸好我有一个额外的磁盘 HDD 可用。我将逐个文件夹地浏览,直到将所有数据复制到另一个磁盘。这需要时间,但比浏览和重命名每个文件(这是我使用 photorec 要做的)所需的时间要少得多。
非常感谢你的帮助,特别是你,nik。
答案1
你的文件系统可能出了问题
。Lucid amd64 文件列表,我不认为这是一个架构兼容性的问题。
也许您应该打印“ ”的输出sudo fdisk -l
以供参考,并指出有问题的分区。
更新关于您的“ amd64
”兼容性评论/查询。
Ubuntu 为长模式实现被称为“ amd64
”,以区别于i386
32 位 x86 的“ ”构建。因此,amd64 实际上是 64 位构建x86-64架构。
简而言之,无论 ' amd
' 名称是什么,它都可以在您的 x86-64 ' i7
' 处理器上运行 :-)
回到你最初关于 ext4 恢复的问题,
您的磁盘已声明为 NTFS,可能会造成无法恢复的损失——但是,不要失去希望并丢弃磁盘数据;拥有不同知识的人可能会帮助您。遗憾的是,我不知道其他方法了。
“ fsck.ext4
”可能无法检测到任何可用的文件系统元数据。此时,了解以下内容很有用:‘ext4
' 基本上是 ' 的变体ext2
‘。因此,您可能丢失了重要的文件系统元数据,这使得 fsck 甚至难以将其识别为基本“ ext2
”。
希望这些信息能帮助您更好地理解您的困境。
同时,让我们等待更多答案的出现。
如果我有任何新想法,我会更新。