![VirtualBox 中 Mac 和 Windows Host 的 XP Guest 之间的区别](https://linux22.com/image/1280773/VirtualBox%20%E4%B8%AD%20Mac%20%E5%92%8C%20Windows%20Host%20%E7%9A%84%20XP%20Guest%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%88%AB.png)
设置如下:我有一台较旧的远程监控设备,称为 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
答案2
我实际上使用过您所提到的软件。过去,为了解决奇怪的 Java/OS 问题,我们所做的就是更改 GUI 快捷方式目标,以使用您安装的 Java 版本,而不是我们在 CD 上沙盒化的 Java 版本。尝试更改它,然后运行快捷方式,看看是否有帮助。
祝你好运!
答案3
我无法回答您关于主机之间有何不同的具体问题,但您可能能够使用更现代的 Java 虚拟机让您的 Badger GUI 控制软件运行。
尝试在 Windows 7 AMD64 主机 - Windows XP 客户 VM 中安装最新的 JVM,并使用它来运行该程序。
答案4
我想知道您遇到的问题是否与 Windows 7 防火墙阻止软件连接到 Badger 设备有关,而 Java 应用程序不是妥善处理该异常,而是结束运行。我不熟悉 Badger 设备,但事实上,您让 VM 在 iMac 上运行(默认情况下不启用防火墙),但同一 VM 在 Windows 7 机器上失败(默认情况下启用防火墙)让我相信这可能是问题所在。我建议使用 Windows 7 上的服务管理器应用程序暂时停止防火墙服务,然后再次运行测试以查看这次是否成功。如果成功,则必须查看 Badger 文档以查看它使用哪些端口并允许这些端口通过防火墙。如果它使用 SNMP 协议,则需要打开 UDP/161 和 UPD/162。