【问题标题】:vmware image windows 7 cannot initialize winring0 dll?vmware image windows 7无法初始化winring0 dll?
【发布时间】:2012-03-07 16:46:14
【问题描述】:

我有一个带有 Windows 7 的 vmware 映像,并且一个程序需要 winring0 dll,但是当我启动程序时,我收到错误消息:我无法初始化 winring0 dll,但我的程序在本机 Windows 7 中工作?这是 vmware 映像的已知问题吗?如何在 vmware 映像中初始化 winring0?在我的文件夹中有 32 位和 64 位的 winring0 dll。

【问题讨论】:

  • 您确定要查找 windring0.dll 或 winring0.dll?
  • 啊,我看到你确实在搜索 winring0.dll。据我所知,该驱动程序允许程序直接访问某些 CPU 寄存器。可能是 vmware 不支持这些特定的访问。您确定 .dll 文件存在并且正是它应该在的位置吗?

标签: windows vmware


【解决方案1】:

基本上,您正在尝试在虚拟硬件上查找有关您的硬件的信息。光是这个概念就很可能充满问题。

如果您的处理器不支持 VT-x(假设为 intel),VMware 会利用二进制转换 (See here) 在内核中执行特权指令。很有可能在尝试加载时无法正确翻译文件,因为 dll 很可能包含 vmware 未构建用于翻译的指令或不可虚拟化的指令,此时它将失败初始化。如果您的处理器确实支持管理程序辅助技术(VT-x 或 Pacifica),则可能需要进一步研究。 See Here 了解 VMware 工作原理的高级概述。

最后,作为最后的尝试,dll 可能要求它加载到与 VMware 内存空间冲突的特定内存地址,此时它也将无法初始化。就像说的那样,在 vmware 内部会增加这个问题的复杂性。

【讨论】:

    【解决方案2】:

    查看以下两个链接:-

    http://www.techpowerup.com/realtemp/docs.php

    http://openlibsys.org/

    RealTemp 是一个 CPU 温度监控应用程序,它使用由 openlibsys.org 分发的 winring0.dll 库。在没有实际的 Intel 或 AMD 处理器的情况下,该库似乎不会运行。

    同样,VMWare 可能会通过这些寄存器,但我对此表示怀疑。你想运行什么软件?

    【讨论】:

    • owagh:我已经阅读了您的建议,但它没有回答我的问题。 Openlibsys 很久以前就关闭了,winring0 也被中断了。我用 winring0 编写了自己的小型风扇控制程序,但它在 vmware 中不起作用。事实上,我想使用 vmware 来调试我的内核驱动程序,当我测试我的风扇控制时它不起作用。为什么 winring0 在 vmware 中不起作用?会不会是编译错误?
    • 我实际上是在尝试查找有关此的更多信息。我仍然认为这可能是因为 vmware 没有公开特定的传感器,但这可能会导致 winring0.dll 提供空输出而不是未初始化。如果我发现了什么,会发布更多。
    猜你喜欢
    • 2014-11-13
    • 2016-01-01
    • 1970-01-01
    • 2012-02-14
    • 2016-04-01
    • 2021-09-06
    • 2017-06-04
    • 1970-01-01
    • 2013-08-04
    相关资源
    最近更新 更多