【发布时间】:2011-04-20 11:26:35
【问题描述】:
在恢复 VMWare 中的快照时,我已经成功地使用简单的 C#.NET 临时程序重现了相同的 GUID(是的,您没看错)。客户端虚拟机是 Windows Server 2008 R2 64 位。我已经尝试过 Windows XP 和 Windows 7 64 位客户端,但结果不成功。我使用的 VMWare 版本是 6.5.3 build-185404。我所做的只是恢复到以前的快照,将暂存程序复制到虚拟机,然后运行它。
为那些不相信的人提供一些证据(我不怪你):http://i.imgur.com/KkSdr.png
这是临时程序的代码:
using System;
using System.Globalization;
namespace DuplicateGuid
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(String.Format(CultureInfo.InvariantCulture, "{0} {1}", Guid.NewGuid(), DateTime.Now.Ticks));
Console.ReadKey();
}
}
}
鉴于滴答计数不同,有人能解释一下这是怎么可能的吗?
【问题讨论】:
-
听起来像是 MS Windows Server 团队的错误。
-
这很容易重复吗?每次您进行还原并再次运行程序后都会发生这种情况吗?对于踢,将程序更改为输出 10 个 GUID,并查看是否所有 10 个都重复。
-
是的,这是可重现的。我明天可以上班,在恢复 VMWare 快照后可能会得到相同的 GUID。至于快速连续重复多个GUID;我不太确定。但无论是 1 个还是 1000 个可重现的 GUIDS,问题仍然存在。
-
我不确定我是否遵循您的措辞:“我已经尝试过 Windows XP 和 Windows 7 64 位客户端,但结果不成功。” 你在定义什么作为“不成功”?您的意思是您在所有这些平台上都获得了重复的 GUID?还是您的意思是问题与 Server 2008 R2 64 位有关?
-
不成功意味着无法成功复制 GUID。该问题似乎与 Windows Server 2008 R2 64 位 VMWare 客户操作系统有关。我认为人们开始忽略这里的重点。我能够重现 GUID,这是我应该不能够做到的。我的问题是;鉴于我所描述的情况,有人知道这是如何发生或为什么发生的吗?
标签: c# guid vmware virtual-machine