当 VMware Workstation 中的虚拟机开始启动时,您可以按 F2 进入虚拟 BIOS。
默认情况下,我认为系统时间与主机时钟同步。
如果你改变了系统时间,你做了什么?
如果您完全关闭 VMware Workstation,则不会有“CMOS 电池”继续滴答作响来将时间向前设置。
您是否正在保存相对于主机时钟的“偏移量”?
答案1
你几乎是对的。例如,
- 我的 Windows 主机将 RTC 时钟设置为 UTC+8,然后在 .nvram 中,0x14 处的默认值为 (little-endian)
0x7080
,=3600*8
。 - 当我将 VM 中的 RTC 向前设置一小时,即 UTC+9 时,偏移量 0x14 处的值为
0x7E90
, =3600*9
。
0x14 处的值实际上似乎是一个 DWORD(4 个字节),因为当我将 VM RTC 设置为协调世界时-8,则偏移量0x14~0x17处的值变为0xFFFF8F80
。
如果你懂 C 语言编程,你就会意识到,如果你有语句int val = -3600*9;
,那么val
的二进制表示就是0xFFFF8F80
,这被称为二进制补码表示。你可以把它想象成0xFFFF8F80 = 0x100000000-3600*9