本帖最后由 tonyliu2ca 于 16-3-28 11:12 编辑

这个问题要是写出来有时一个大块文章,咱们这里简单说说。

现代的硬磁盘技术已经相当成熟和智能,成熟并不是说就不是好就是坏,磁盘的状态可能是健康、好、可能坏、变好了、正在变坏,坏了等等。之所以不是我们所想象的非好即坏,是其智能话的结果,也就是S.M.A.R.T.技术,也简写SMART。

检查一个硬盘状态,有两个基本操作:表面扫描和检查SMART状态、让SMART检测并报告。

下载

然而问题是,OSX只支持最简单的SMART检测,要想使用上面的两个操作,需要第三方程序。放心我们这里介绍的是开源的,不要钱。如果你不差钱,那就使用商业软件如TechTool Pro等。第三方开源软件是Linux版,传统方法需要使用MacPort等软件来在本地编译以形成本地可执行的OSX版本。不过对于,大多数用户来说,我提取了其中的最最核心的部分,供大家直接下载安装,主要是第一个,第二个的用法后面有解释:

badblocks_1_42.dmg下载:链接:http://pan.baidu.com/s/1Zx5oi 密码:z85t

OS-X-SAT-SMART-Driver-master.zip链接:http://pan.baidu.com/s/1gebVfgR 密码:gtsn

具体使用,要想讲清楚也很麻烦,我们只简单说说.

磁盘表面扫描:

首先使用命令:$ diskutil list来找到所要检测目标盘/分区的设备名,比如/dev/disk1s2

然后卸载该盘/分区: $ diskutil unmount disk1s2

这是就可以检测了:$ badblock -ns /dev/disk1s2碰上坏扇区,它会显示

检查SMART状态:

注意,应为OSX内置的USB等外置设备不支持SMART数据传输,所以需要使用第三方的驱动,也就是上面第二个下载。

SMART状态时针对整个硬盘的,它不管什么分区。

获得目标硬盘的SMART信息:$ smartctl -i disk1

读取重要的SMART的计数器信息:$ smartctl -A disk1

读取更详细的SMART信息:$ smartctl -a disk1

我们最关心的计数器是下面几个:

SMART 005(0x05) - Reallocated Sectors Count:是并被成功重新分配了的坏扇区计数。每个厂家的不同型号硬盘都可能会有一个保留扇区池,这个池中会有不同数量的扇区以供重分配,如果池中所有的都被使用了,那么再有坏扇区就无法分配。这个数值太大就会有问题。

SMART 187(0xBB) - Reported_Uncorrectable_Errors:对于读取的区块的硬件ECC校验错误的计数。一般应该为0,如果非零,就该考虑换硬盘了。

SMART 188(0xBC) - Command_Timeout:硬盘命令超时而放弃的计数。正常值应该是0,如果远大于0,那么可能是电源或者数据线有问题。

SMART 197(0xC5) - Current Pending Sector Count:这些“不稳定”扇区,有可能使用写操作使其恢复读写校验正常,这样他们就会被从这个技术中减去。如果写操作也失败,那么固件程序就可能会对其重分配。

SMART 198(0xC6) - Offline_Uncorrectable:读写扇区数据错误的总计数。正常值为0,否则说明此硬盘的磁盘表面或者机械可能出现问题。

我们还可以让硬盘内的固件程序进行自检:

比如:$ smartctl -t long disk1

或者:$ smartctl -t short disk1

一个坏盘的例子:

下面的WHEN_FAILED中的FALLING_NOW说明磁盘需要换了

$ smartctl -A disk2

smartctl 6.4 2015-06-04 r4109 [x86_64-apple-darwin14.4.0] (local build)

Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===

SMART Attributes Data Structure revision number: 10

Vendor Specific SMART Attributes with Thresholds:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE

1 Raw_Read_Error_Rate     0x000e   107   086   006    Old_age   Always       -       189521545

3 Spin_Up_Time            0x0003   100   099   000    Pre-fail  Always       -       0

4 Start_Stop_Count        0x0032   097   097   020    Old_age   Always       -       3299

5 Reallocated_Sector_Ct  0x0033   026   026   036    Pre-fail  Always   FAILING_NOW 1521

7 Seek_Error_Rate         0x000f   076   060   030    Pre-fail  Always       -       49575918

9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       1637

10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0

12 Power_Cycle_Count       0x0032   097   097   020    Old_age   Always       -       3241

184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0

187 Reported_Uncorrect     0x0032   001   001   000    Old_age   Always       -       3036

188 Command_Timeout        0x0032   100   099   000    Old_age   Always       -       64425492496

189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0

190 Airflow_Temperature_Cel 0x0022   079   059   045    Old_age   Always       -       21 (Min/Max 21/21)

191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       538

192 Power-Off_Retract_Count 0x0032   098   098   000    Old_age   Always       -       4798

193 Load_Cycle_Count        0x0032   065   065   000    Old_age   Always       -       70066

194 Temperature_Celsius     0x0022   021   041   000    Old_age   Always       -       21 (243 52 0 0 0)

195 Hardware_ECC_Recovered  0x001a   054   049   000    Old_age   Always       -       189521545

197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       5

198 Offline_Uncorrectable  0x0010   100   100   000    Old_age   Offline      -       5

199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0254 Free_Fall_Sensor        0x0032   001   001   000    Old_age   Always       -       2927

买个关子回复可看,详细的看知乎文章:

机械硬盘 运行 linux 很慢,如果读写硬盘操作有问题,假死机、很慢等,就检查一下硬盘坏道...相关推荐

  1. 【Linux服务器】登录Linux服务器后,登陆信息显示佛祖保佑、永不死机,小猪佩奇等图案

    大家好,我是好学的小师弟.昨天租了一个阿里云服务器,正好可以把以前收藏的佛祖保佑,永不死机等图案拿出来用了,嘿嘿! 步骤 1.登陆服务器后,先pwd 看看自己是在/下还是在/root下,要把当前路径c ...

  2. linux下c语言读写文件操作,linux下的系统级c语言文件读写操作

    最近初次接触Linux这么高端的东西,有种进城的感觉.进了linux,发现城里人说话做事的方式都很不一样. 个人感觉,初次接触linux主要的痛点在于命令行交互的方式,这就要求我接受城里人的思维,wh ...

  3. linux下c语言读写文件操作,Linux C语言 文件操作

    打开函数 fopen 的原型如下. FILE * fopen(char *filename, char *mode); 返回值:打开成功,返回该文件对应的 FILE 类型的指针:打开失败,返回 NUL ...

  4. 米6 运行 linux,小米6成功刷入统信UOS系统 刷机包开放下载

    统信软件旗下的UOS操作系统近来出镜率极高,在V20服务器版.专业版.个人版发布之后,第三方开发者将之适配在了手机上. 10月5日消息,深度操作系统官方晒出图片,显示深度社区用户BigfootACA ...

  5. 新入手的iPhone 11不会玩?手势和按键操作大全,快捷玩机很简单

    苹果在今年发布了三款全面屏手机,但是很多更换iPhone 11的朋友之前都是用iPhone 8及以下机型的,对全面屏的手势操作及实体按键的操作并没有那么清楚,下面笔者就分享有关iPhone 11的快捷 ...

  6. linux系统检测硬盘物理损坏,linux系统下检测硬盘上的坏道和坏块

    linux系统下检测硬盘上的坏道和坏块 发布时间:2020-02-28 22:22:57 来源:51CTO 阅读:1127 作者:赤练挚爱 磁盘坏道检测 当磁盘出现以下情况:io wait 无故增高或 ...

  7. linux系统硬盘坏道,linux系统下检测硬盘上的坏道和坏块

    磁盘坏道检测 当磁盘出现以下情况:io wait 无故增高或居高不下: 硬盘声音突然由原来的摩檫音变成了怪音: 系统无法正常启动,出现"IO error"等提示信息: mkfs时, ...

  8. linux 硬盘坏道数据复制,linux修复磁盘坏道(本教程完全来自实例、实测,具体参数请根据个人情况修改2021.4.12)...

    linux下其实修复磁盘的工具更多,很多甚至集成在系统里,方便调用. 1.尝试fsck修复磁盘,这个命令其实集成度好的系统开机会自动运行,比如slackware,debian等,方法如下: fdisk ...

  9. linux系统下检测硬盘上的坏道和坏块

    磁盘坏道检测 当磁盘出现以下情况: io wait 无故增高或居高不下: 硬盘声音突然由原来的摩檫音变成了怪音: 系统无法正常启动,出现"IO error"等提示信息: mkfs时 ...

最新文章

  1. python与excel的应用-python怎样在excel中应用?
  2. 一些有用的Linux命令
  3. java了解异常_ID检测_Java入门第三季7-1简易扑克牌游戏(自定义玩家个数,玩家个数和ID异常检测)...
  4. mysql5.5索引如何定义_MySQL5.5索引数在InnoDB引擎内与索引数在mysql中定义的数量是不一致问题-阿里云开发者社区...
  5. Python中if判断语句在只有一个break子句时可以写在一行
  6. title或alt自动换行
  7. python连接hive--Pyhive
  8. 黑苹果声卡id注入对照表_黑苹果 声卡ID AppleALC ID,一篇查询就够了
  9. Google帝国研究——Google的产业构成
  10. uniapp微信小程序地图中叠加polygon
  11. 搭建GTK+开发环境
  12. 【原创smarty仿淘宝商品图片轮播+放大镜效果】
  13. 96---Python 绘制阿基米德螺旋线
  14. 联通光猫 nat转发 - 虚拟主机设置
  15. Centos7下安装VScode
  16. win10通过网线连接树莓派
  17. 苹果cms漫画小说模板
  18. Chat Bot(聊天机器人)自动化测试脚本来解决人工测试的问题
  19. 手机文件由百度网盘自动备份的设置
  20. 考研这么累,是什么让你坚持下来的?

热门文章

  1. vue的生命周期和钩子函数的理解
  2. [leetcode]468. Validate IP Address验证有效IP地址
  3. python selenium-9 grid模式
  4. Tensorflow添加matplotlib可视化
  5. ubuntu 14.04 登录 界面 root
  6. Servlet实现文件下载
  7. POJ-1904-King's Quest(强连通图)
  8. 从Java里调用R – JRI的设置方法
  9. JfreeChart学习总结
  10. ICCV2021 视频领域的纯Transformer方案!谷歌提出ViViT,在多个视频分类基准上SOTA!代码已开源!...