检查硬盘坏道(check for bad sectors on hard disk)

2019-08-18 02:39发布

一对夫妇断电后最近,我的电脑已经变得相当搞砸了(BSODS飘飞,整个操作系统的行为真的很奇怪)。

现在我有一个运行完全正常的我的电脑弄乱之前的程序。 这个程序基本上只是使用创建文件CreateFile ,并用写它WriteFile 。 此程序还具有其他的东西,在此基础上做文件的事情。 我注意到,整个程序行事诡异的为好。

我调试的结果:

  • 我注意到,以后CreateFile ,该文件被创建,它应该可以(用资源管理器和命令行检查)。
  • WriteFile没有写入文件(使用资源管理器和命令行再次检查)。
  • WriteFile ,该文件时,我双击在资源管理器或做与该文件,一切都表现得好像该文件不存在任何东西。
  • 所有API返回他们各自的成功代码。 没有绝对的错误。
  • 我停止了我的程序并退出IDE后,我去探险,并试图删除包含上面创建的文件的文件夹,这表明我:

  • 该文件得到了虽然删除。

注:以上并不总是发生。

由于上述调试,我来到这多亏了我的整个操作系统举止怪异的结论,我的程序还充当奇怪。 在我的程序无故障(因为一切那些该死的停电前的工作完美)。

不管怎样,微软有这样说的错误 。 基本上,我的硬盘有许多坏扇区。

我的问题:有没有办法以编程方式检查是否有硬盘驱动器C是罚款? 这种检测不一定是100%正确的。 我这样做,不过,想这个检查是相当快的(因为我做了很多写和这样的)。

我想,因为截至目前,我的程序的其他人员认为,该文件是存在的,准备好(因为没有返回错误)和怪异的行为的各种随之而来此检查。 至于谁可能不知道他/她的硬盘驱动器是发呆的用户,我想我的计划,建议运行磁盘检查。

Answer 1:

你可能会更好看SMART故障前通知,通过API发生之前,允许的驱动器有问题的预警。 这里是一个实现我很快发现这似乎是你的平台,但我没有测试它。

我怀疑有提供更好的。 他们变得重要在此之前SMART方法的主要优点是找到问题。 然而,许多操作系统具备此功能内置,也很少在比磁盘实用程序以外的其他应用层面做到这一点。



Answer 2:

当你的应用程序是建立在操作系统之上,你必须依靠自己的错误报告,并通过他们。 你不能假设特定的错误意味着它需要一个磁盘检查。

在你的情况,我建议运行一个完整的磁盘检查,并进行正常的。



文章来源: check for bad sectors on hard disk