从 cygwin shell 运行 fsck?

从 cygwin shell 运行 fsck?

我需要能够从 win7 机器检查/修复 SD 卡上的文件系统错误。我曾希望使用 cygwin 中的 e2fsck,但在使用过程中遇到了一些问题。(SD 卡用于将无风扇 PC 启动到 debian)

有问题的 SD 卡有 3 个分区 - 其中 2 个是 ext2。当我将卡插入 win7 机器时,我只看到 /dev/sdb1 出现。(unf dmesg 未安装,所以我看不到可能是什么错误)。

当我尝试在这个分区上运行 e2fsck 时,系统提示我“超级块中的魔法数字不正确”等等。这让我相信它不是一个 Linux 分区。

(注意 - 如果我将此 SD 卡放入 CentOS 机器中,我会看到所有三个分区都出现并且可以使用它们)

无论如何:问题:

  • 有没有更好的方法来从 win7 机器检查/修复 ext2 分区?
  • 有没有办法让 e2fsck 在 cygwin 中工作?

答案1

由于 cygwin 环境的限制,我建议使用虚拟机(我过去就是这么做的)。使用 Virtual Box 或其他替代方法设置您习惯使用的 Linux 环境(带或不带 X),然后桥接对 SD 卡适配器的访问。在 VirtualBox 下,您可以在 VM 设置 -> USB -> 启用 USB 控制器下启用访问,并为您的 SD 卡适配器添加适当的过滤器。然后,您应该能够将 SD 卡作为 /dev 下预期的块设备文件进行访问,并运行 fsck。

相关内容