我正在尝试使用 Win10 VM 实时快照,以最大限度地缩短 CI 运行器的启动时间。这个想法是拥有一个可以在几秒钟内启动的预启动快照。
因此,我准备了一个映像(安装我需要的所有工具)并关闭虚拟机。然后我将虚拟机启动到登录屏幕,然后拍摄实时快照。
我面临的问题是,在将虚拟机启动到登录屏幕(没有实际登录)后,虚拟机开始访问硬盘(读取和写入大量数据)一会儿(几分钟)。我只想在此活动稳定下来后拍摄快照(这样,当重新启动实时快照时,虚拟机就可以执行我的任务而不是一些维护磁盘进程)。
我已禁用自动索引,但无济于事。
我的问题是:
- 启动完成后,Win10 对我的硬盘做了什么?
- 我能否以某种方式调整我的系统,以使它不发生这种情况?
我猜测Win10 在启动过程的早期显示登录屏幕(因此人们会因为快速启动系统的印象而感到高兴),然后完成启动过程(而高兴的人们则一边喝着咖啡一边慢慢地输入密码)。
如果是这样,我能否以某种方式确定启动过程何时正确完成并准备好进行实时快照(而不是焦急地观察磁盘活动,一旦它似乎已停止就进行快照)?
答案1
在这两分钟的活动期间,Windows 正忙于启动服务。
如果您查看服务小程序列出的服务的属性,您将看到有些服务的“启动类型”设置为“自动”,而有些服务的“启动类型”设置为“自动(延迟启动)”。
“自动”系统服务会在开机后立即启动,而“自动(延迟启动)”服务则会在延迟后启动。默认延迟时间为 120 秒,即 2 分钟。
任何一个服务的延迟时间都可以在注册表中调整:
HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay
然而,目前还不清楚改变延迟会产生什么影响,以及它将如何影响启动时服务之间的相互作用。
我的建议:拍摄快照前等待 2-3 分钟。