有没有办法确定从开机到Windows启动所需的时间

时间:2010-11-05 21:59:23

标签: boot bios

我希望能够知道从开机到开机需要多长时间。 有没有办法回顾性地确定这个(即​​一旦窗口开始)? BIOS / CMOS是否保持上次启动时间? 是否有可能从RDTSC告诉机器运行了多长时间并减去Windows启动时间?

2 个答案:

答案 0 :(得分:0)

您可以尝试BootTimerBootRacer,看看他们中的任何一个会做您想做的事。

我不相信你可以在Windows启动后确定这一点。我不知道有任何BIOS存储上次启动时间。但是在任何现代机器上,如果打开调用操作系统启动加载程序之间的时间(基本上是运行POST例程所花费的时间)需要的时间超过几秒钟,那就错了。

您是否尝试以编程方式执行此操作以获得机器在线和可用的准确时间? POST所花费的几秒钟所产生的不准确性似乎不会产生显着差异。如果您正在进行基准测试或优化目的,那么这两个实用程序中的任何一个都应该适合您。

答案 1 :(得分:0)

从GetTickCount()开启以来的时间。然后获取Windows在启动时触摸的文件的时间戳(例如,windows \ bootstat.dat)。代码如下。在我的机器上它说16秒听起来很准确。

#include <stdio.h>
#include <windows.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>

int main()
{
    struct __stat64 st;
    _stat64("c:\\windows\\bootstat.dat", &st);

    return printf("%d\n", st.st_mtime - (time(NULL) - GetTickCount()/1000));
}