如何使用C语言确定存储类型(SSD驱动器或HDD。机械驱动器)

时间:2009-11-11 02:31:02

标签: c windows linux ssd

如何从C程序中读取驱动器的硬件信息? (即,确定驱动器是SSD还是机械磁盘。)

4 个答案:

答案 0 :(得分:17)

SSD应该将自己标识为非旋转。例如,对于linux,您可以通过sysfs获取信息:

cat /sys/block/sda/queue/rotational

如果它返回0,则表示你有SSD ......

答案 1 :(得分:1)

您是否考虑过进行读/写测试以尝试确定功能?

答案 2 :(得分:-1)

您可以使用win32库中的GetDriveType方法,并且可以区分这种方式,或者使用GetVolumeInformation尝试从标签中确定它。

答案 3 :(得分:-2)

这个猜测很长,但我找不到更好的东西。在设备的识别结构中,查看它是否支持声学管理。旧磁盘驱动器没有,但也许大多数现代磁盘驱动器都可以。显然SSD不需要声学管理,但我们希望他们不会说它们不需要,而不是伪装成磁盘驱动器。