检查硬盘上是否有坏扇区

2023-12-01

最近,在几次断电之后,我的电脑变得非常混乱(时不时地出现蓝屏死机,整个操作系统的行为非常奇怪)。

现在我的程序在我的计算机出问题之前运行得非常好。该程序基本上只是使用以下命令创建一个文件CreateFile并使用写入WriteFile。这个程序还有其他东西基于这个文件做他们的事情。我注意到整个程序的行为也很奇怪。

我的调试结果:

  • 我注意到之后CreateFile,文件被创建在它的位置 应该是(使用资源管理器和命令行检查)。
  • WriteFile没有写入文件(再次使用资源管理器和命令行进行检查)。
  • After WriteFile,每当我在资源管理器中双击该文件或对该文件执行任何操作时,一切都会表现得好像该文件不存在一样。
  • 所有API均返回各自的成功代码。绝对没有错误。
  • 在我停止程序并退出 IDE 后,我转到资源管理器并尝试删除包含上面创建的文件的文件夹,它向我显示了以下内容:

    Error When I Tried Deleting the Folder

  • 但该文件已被删除。

Note:上述情况并不总是发生。

通过上述调试,我得出的结论是,由于我的整个操作系统表现得很奇怪,所以我的程序也表现得很奇怪。我的程序没有任何错误(因为在那些该死的停电之前一切都很完美)。

无论如何,微软已经这是关于那个错误的说明。基本上我的硬盘有很多坏扇区。

我的问题:有没有什么方法可以用 C 语言以编程方式检查硬盘驱动器是否正常?此检测不必 100% 正确。然而,我确实希望这次检查能够非常快(因为我做了很多写入等操作)。

我想要进行此检查,因为到目前为止,我的程序的其余部分认为该文件已存在并准备就绪(因为没有返回错误),并且随之而来的是各种奇怪的行为。作为一个可能不知道他/她的硬盘驱动器已分区的用户,我希望我的程序建议运行磁盘检查。


您最好通过 API 查看 S.M.A.R.T 故障前通知,以便在驱动器问题发生之前发出预警。Here是我很快找到的一种实现,它似乎适用于您的平台,但我尚未对其进行测试。

我怀疑还有更好的可用。这种 SMART 方法的主要优点是在问题变得重要之前发现问题。然而,许多操作系统都内置了此功能,除了磁盘实用程序之外,很少在应用程序级别上执行此功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查硬盘上是否有坏扇区 的相关文章

  • 低级挂钩/SetWindowsHookEx lParam 自动重复?

    在这里阅读 Windows PC 上如何实现键盘自动重复 https stackoverflow com questions 876852 how is keyboard auto repeat implemented on a windo
  • 函数“sum”的隐式声明在 C99 中无效

    我一直在寻找解决方案 但没有找到任何有帮助的东西 我收到以下错误 Implicit declaration of function sum is invalid in C99 Implicit declaration of function
  • 快速 log2(float x) 实现 C++

    我需要在 C 中非常快速地实现 log2 float x 函数 我发现了一个非常有趣的实现 而且速度非常快 include
  • 如何从对Web服务发出的请求中获取客户端IP地址

    我的 IIS 中托管有一个 Web 服务 当客户端直接使用我的服务时 我需要找出客户端 IP 地址 like http MyIpAddress MyApplication MyWebServiceClass asmx http MyIpAd
  • 这种对有效类型规则的使用是否严格遵守?

    C99和C11中的有效类型规则规定 没有声明类型的存储可以用任何类型写入 并且存储非字符类型的值将相应地设置存储的有效类型 抛开 INT MAX 可能小于 123456789 的事实不谈 以下代码对有效类型规则的使用是否严格符合 inclu
  • WPF ComboBox 中具有本地化名称的枚举

    我有一个列出枚举的组合框 enum StatusEnum Open 1 Closed 2 InProgress 3
  • Moq - 是否可以在不使用 It.IsAny 的情况下设置模拟

    我一直使用 Moq 进行单元测试 有时我会嘲笑有很多参数的方法 想象一下这样的方法 public class WorkClient public void DoSomething string itemName int itemCount
  • 是否可以在对Where 的调用中调用命名方法?

    我试图从 RedGate 的这本免费电子书中了解 Linq 的一些性能影响ftp support red gate com ebooks under the hood of net memory management part1 pdf f
  • 指向 VLA 的指针

    你可能知道 VLA 的优点和缺点 https stackoverflow com a 3082302 1606345在 C11 中它们是可选的 我认为使 VLA 成为可选的主要原因是 堆栈可能会爆炸 int arr n where n 10
  • 我应该使用 Helgrind 还是 DRD 进行线程错误检测?

    好像Valgrind http valgrind org docs manual manual html有两个工具都可以进行线程错误检测 Helgrind http valgrind org docs manual hg manual ht
  • 使用 C# 的异步 WebRequest

    您好 我有一个函数 它将 url Get 参数传递到网络服务器上的 php 文件 并等待文件的响应 通常需要 10 20 秒 我想将其放入一个循环中 因为我必须一次将这些 Get 请求发送到大约 5 个不同的 php 文件 但是当我尝试将其
  • C# 中的类和模块有什么用

    有人可以解释一下类和模块之间的区别吗 你什么时候使用其中一种而不是另一种 我正在使用 C 更新 我的意思是相当于 VB 模块的 C 版本 这在很大程度上取决于您所指的 模块 Visual Basic 的模块 C 中没有真正等效的 VB Ne
  • 从 cin 读取整数序列并将它们存储在向量中

    这就是我读取整数的方法std cin并将它们存储在向量中 int number vector
  • 为什么将未使用的返回值转换为 void?

    int fn void whatever void fn 是否有任何理由将未使用的返回值强制转换为 void 或者我认为这完全是浪费时间 David s answer https stackoverflow com questions 68
  • 为什么在 C++ 类中的数据成员上使用像 m_ 这样的前缀?

    许多 C 代码使用语法约定来标记数据成员 常见的例子包括 m memberName对于公共成员 在所有使用公共成员的情况下 memberName对于私人会员或所有会员 其他人尝试强制使用this gt member每当使用数据成员时 根据我
  • 曲线/路径骨架二值图像处理

    我正在尝试开发一个可以处理图像骨架的路径 曲线的代码 我想要一个来自两点之间骨架的点向量 该代码在添加一些点后结束 我没有找到解决方案 include opencv2 highgui highgui hpp include opencv2
  • OpenCV 仅围绕大轮廓绘制矩形?

    第一次发帖 希望我以正确的方式放置代码 我正在尝试检测和计算视频中的车辆 因此 如果您查看下面的代码 我会在阈值处理和膨胀后找到图像的轮廓 然后我使用 drawContours 和矩形在检测到的轮廓周围绘制一个框 我试图在 drawCont
  • SQL Server CE 不兼容的数据库版本

    我有一个 SQL Server CE 4 0 数据库 sdf文件 当我尝试从我的应用程序 WPF 对数据库进行查询时 出现以下错误 数据库版本不兼容 如果这是兼容文件 请运行修复 其他情况请参考文档 数据库版本 4000000 请求的版本
  • 在地图上使用 find

    如何使用 find 和 aconst iterator如果你有一个地图定义为 typedef std pair
  • 使用 ImageResizer 获取图像尺寸的最佳方法

    我正在将现有的 MVC 4 网站从自制用户文件上传切换为在上传时使用 ImageResizer 调整文件大小 我在文档中看到我不应该使用 System Drawing 但我无法找出任何其他获取图像尺寸的方法 尺寸是来自原始图像还是调整大小的

随机推荐

  • 如何在 PyTorch 中使用 2 张图像作为训练样本?

    I just begin learning deep learning and my first homework is to finish an leaves classification system based on convolut
  • 如何在一个活动中使用java类?

    如何在一个活动中使用 Java 类 我的意思是将该活动的不同组件分布在一堆 Java 类中 我对 Android 有点陌生 这是我迄今为止尝试过的 MainActivity java package com example alex mya
  • 使用图形 API 发布到 Facebook 用户的留言墙上

    我是 facebook 应用程序开发的新手 我正在尝试使用以下命令在用户墙上发布简单的文本但这似乎不起作用 有什么想法我可能会出错吗 检查您是否有权从应用程序发帖 将 app id 添加到您的通话中
  • 记住带有 localstorage onclick 的复选框

    我正在尝试为 Chrome 扩展程序创建一个选项页面 第一部分将值设置到本地存储中 检查 true 并取消选中 false 如果用户在其他时间回来 第二部分应该更新复选框 并且设置将应用于该复选框 我的问题是 当用户刷新或关闭窗口并返回时
  • Resharper string.format 快捷方式

    我经常发现自己在写作 var message Hello 0 然后返回并输入 var message string Format Hello 0 world 如果当我输入字符串时 当我将 放在末尾时 resharper 发现字符串中有一个参
  • 如何在android中按下后退时关闭我的应用程序

    我想在按下设备的后退按钮时进入主屏幕 我正在使用此代码 public void onBackPressed this finish return 按BACK键将有效调用finish 为你 无需捕获 BACK 键 我假设您的问题是 当您按 B
  • android相机导致空指针异常

    我的应用程序在尝试使用相机拍照时出现空指针异常 我的应用程序这样调用相机 go to camera app Intent intent new Intent android media action IMAGE CAPTURE intent
  • 从retrofit2获取字符串响应体

    我正在使用 Retrofit1 旧样式 GET loginUser public Call
  • 跟随手指的旋转动画,遵循圆的外部路径的 uibuttons

    我正在寻找一些指导来开始弄清楚跟踪手指运动并沿着圆的外部路径移动 UIButton 集合的动画 我想象它会有一种左轮手枪的感觉 就像每个都在底部锁定到位一样 或者像滑动其中一个幻灯片插件一样 提前致谢 示例代码在GitHub 其实并不是那么
  • Google 语音短信意图

    现在我正在尝试使用填充的号码创建短信意图 Intent sendIntent new Intent Intent ACTION VIEW sendIntent setFlags Intent FLAG ACTIVITY NEW TASK s
  • 改变方向时闪光灯关闭

    我创建了一个 Android 应用程序 它允许用户通过按下按钮来打开和关闭闪光灯 如果用户打开闪光灯并改变方向 灯就会关闭 为什么会发生这种情况 请参阅下面我使用的代码 cam Camera open final Parameters p
  • VimTutor 方向键 v/s hjkl

    VimTutor 在第一课中说道 注意 光标键也应该起作用 但是使用 hjkl 你会 能够 一旦习惯了 移动速度就会更快 真的吗 然而 我发现它们之间没有任何区别 使用 hjkl 和箭头键之间真的有区别吗 使用 hjkl 时 您不必将手从触
  • springSecurityFilterChain 空指针异常

    当我尝试运行项目时 Tomcat 返回异常 有人可以帮助解决这个问题吗 配置类 https github com intrade inventory blob master src main java com springapp mvc I
  • 通过单击没有输入字段的图像来打开 JQuery Datepicker

    我想在用户单击图像时打开 JQuery Datepicker 没有随后出现所选日期的输入字段 我将通过 Ajax 将输入的日期保存到服务器 目前我有这个代码 img src someimage gif document ready func
  • 我应该为 User 类的唯一实例使用哪种模式?

    我有这个用户类 class User private logged false private id public function User gt Check if the user is logged in with a cookie
  • 获取 ember 中的操作目标元素

    如何获取触发单击事件的目标元素的对象 例如 如果我有一个类似的模板 table tr th Type th tr table 在我的控制器中 我定义了相应的操作 如下所示 action someAction function get the
  • Mod_rewrite 隐形:当目标是文件时有效,而不是目录时有效

    我有这个重写规则 将 foo com test 或 foo com test 转换为 foo com test txt RewriteRule test test txt NC L 它工作得很好 重要的是 永远不会向用户透露 真实 URL
  • 适用于 Linux 的 Azure 扩展脚本

    我尝试使用适用于 Linux 的 Azure 自定义扩展脚本 通过使用 分隔每个命令来执行多个 shell 脚本 ARM 模板是部署模型 示例片段 settings fileUris script1 script2 script3 comm
  • 如果使用 Bash 目录为空,则不显示结果

    例如 在空目录中尝试以下命令 for i in do echo i done 有没有办法抑制打印输出 Set nullglob shopt s nullglob for i in do echo i done
  • 检查硬盘上是否有坏扇区

    最近 在几次断电之后 我的电脑变得非常混乱 时不时地出现蓝屏死机 整个操作系统的行为非常奇怪 现在我的程序在我的计算机出问题之前运行得非常好 该程序基本上只是使用以下命令创建一个文件CreateFile并使用写入WriteFile 这个程序