VirtualBox 中 Mac 和 Windows Host 的 XP Guest 之间的区别

VirtualBox 中 Mac 和 Windows Host 的 XP Guest 之间的区别

设置如下:我有一台较旧的远程监控设备,称为 Badger。在 Windows 上运行的 GUI 控制软件是一款 Java 应用程序,CD 的日期是 2003 年,但我认为该软件要老得多。它setup.exe无法在我的 AMD64 Windows 7 安装上运行,我收到 32 位/64 位错误,我怀疑它可能是一个 16 位应用程序(它肯定够丑陋的)。

无论如何,我尝试使用 AMD64 Windows 7 主机上的 VirtualBox 中的 XP VM Guest 来解决这个问题。setup.exe运行正常,但当我尝试启动 Java 应用程序时,立即收到 Windows 错误:

java.exe 遇到问题需要关闭。

如果我单击此处查看此错误报告包含哪些数据,我会得到:

AppName: java.exe AppVer: 0.0.0.0
ModName: javai.dll ModVer: 0.0.0.0
Offset: 0009b4e

当我查看有关错误报告的技术信息时,有常见的 binhex 乱码,但其中一些文本抱怨内存不足、超类错误、索引错误、类存储分配错误等。

错误背后是 CMD 窗口,其中显示:

Symantec Java!JustInTime 编译器版本 3.00.029(i) 适用于 JDK 1.1.x,版权所有 1996-98 Symantec Corporation

后来,我在家里的 iMac 上安装了该软件,该软件也有一个可用的 VirtualBox 中的 XP VM Guest,我成功启动了它。然后,我导出了 VM,将其导入我的 Windows 7 AMD64 主机,并遇到了与上述相同的错误。

显然,主机彼此之间有很大差异,但我想知道这种行为的具体原因是什么,它在 Mac 主机上运行良好,但在 AMD/Windows 主机上却不行?

答案1

对于使用本机代码执行的虚拟机(如 VMware、Virtual PC(当前版本)和 VirtualBox)中的客户机来说,一些 CPU 差异是可见的。

尝试:

  • 禁用硬件虚拟化。机器 -> 设置 -> 系统 -> 加速;取消选中启用 VT-x/AMD-V
  • 使用不同的虚拟机程序,也许是一个真正的模拟器,例如波克斯或者量子计算单元(后者必须进行适当配置,因为它可以使用本机执行以及模拟)。
  • 在另一台电脑上运行

答案2

我实际上使用过您所提到的软件。过去,为了解决奇怪的 Java/OS 问题,我们所做的就是更改 GUI 快捷方式目标,以使用您安装的 Java 版本,而不是我们在 CD 上沙盒化的 Java 版本。尝试更改它,然后运行快捷方式,看看是否有帮助。

祝你好运!

答案3

我无法回答您关于主机之间有何不同的具体问题,但您可能能够使用更现代的 Java 虚拟机让您的 Badger GUI 控制软件运行。

尝试在 Windows 7 AMD64 主机 - Windows XP 客户 VM 中安装最新的 JVM,并使用它来运行该程序。

在这里下载:http://www.java.com/en/download/manual.jsp

答案4

我想知道您遇到的问题是否与 Windows 7 防火墙阻止软件连接到 Badger 设备有关,而 Java 应用程序不是妥善处理该异常,而是结束运行。我不熟悉 Badger 设备,但事实上,您让 VM 在 iMac 上运行(默认情况下不启用防火墙),但同一 VM 在 Windows 7 机器上失败(默认情况下启用防火墙)让我相信这可能是问题所在。我建议使用 Windows 7 上的服务管理器应用程序暂时停止防火墙服务,然后再次运行测试以查看这次是否成功。如果成功,则必须查看 Badger 文档以查看它使用哪些端口并允许这些端口通过防火墙。如果它使用 SNMP 协议,则需要打开 UDP/161 和 UPD/162。

相关内容