使用 smartmontools 从 CF 卡读取原始 SMART 数据

使用 smartmontools 从 CF 卡读取原始 SMART 数据

我有一个超越CompactFlash卡片;其数据表指定了 SMART 数据结构,即“电源周期计数”是该结构中的字节 115-116。

我正在使用 Gentoo 和 Linux 内核版本 4.12 的自定义嵌入式系统上运行。当我跑步时智能控制,我得到的输出不太有帮助。但是,据我了解,这是可以预料的。

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     ------   100   100   000    -    0
  2 Throughput_Performance  ------   100   100   000    -    0
  5 Reallocated_Sector_Ct   ------   100   100   000    -    0
  7 Unknown_Attribute       ------   100   100   000    -    0
  8 Unknown_Attribute       ------   100   100   000    -    0
 12 Power_Cycle_Count       ------   100   100   000    -    208
195 Hardware_ECC_Recovered  ------   100   100   000    -    0
196 Reallocated_Event_Count ------   100   100   000    -    0
197 Current_Pending_Sector  ------   100   100   000    -    0
198 Offline_Uncorrectable   ------   100   100   000    -    0
199 UDMA_CRC_Error_Count    ------   100   100   000    -    0
200 Multi_Zone_Error_Rate   ------   100   100   000    -    0

如果我将此卡连接到 Windows 计算机的 IDE 适配器并使用 Crystal Disk Info,它会显示与上面相同的信息,但有一个选项可以将原始数据复制到剪贴板。该原始数据包含数据表中定义的 512 字节结构,然后我可以自己解析它。

我有什么方法可以通过访问原始 SMART 数据吗smartctl?我已阅读手册页中的所有选项,但似乎没有什么是我正在寻找的。如果没有这样的标志,我有什么选择?我需要写一些东西来直接发出ATA命令并自己读取SMART数据吗?

答案1

smartctl /dev/sdX | grep -w  12 | awk "{print $8}"

/dev/sdX代表您想要来自哪个设备的 SMART 数据。

我们用12具有grep选择输出中的 Power_Cycle_Control 线智能控制

然后8 美元具有awk过滤掉除第 8 个字段之外的所有字段。

相关内容