4

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

4

4 回答 4

17

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

cat /sys/block/sda/queue/rotational

如果它返回 0,你有 SSD...

于 2010-01-09T16:26:38.627 回答
1

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

于 2009-11-11T03:23:28.083 回答
-1

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

于 2009-11-11T02:44:46.930 回答
-2

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

于 2009-11-11T03:40:16.850 回答