Tutorial:QEMU模拟MIPS Windows

来自星雨知识库
辉夜星雨留言 | 贡献2025年1月7日 (二) 00:39的版本 (创建页面,内容为“==注意== 虽然能看到和使用非x86版的Windows环境非常酷,但它并不实用————为 x86 Windows NT 开发的程序在没有 wx86 的情况下无法运行,而且几乎没有为 Windows NT 4 MIPS 开发的商业产品。 Windows NT 4 MIPS 没有 USB 1.1 驱动程序,因此无法正确对准鼠标,但这并不是什么大问题。 <s>更大的问题来自 QEMU MIPS 在格式化系统分区时疯狂的内存泄漏。 这种内存泄露…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

注意

虽然能看到和使用非x86版的Windows环境非常酷,但它并不实用————为 x86 Windows NT 开发的程序在没有 wx86 的情况下无法运行,而且几乎没有为 Windows NT 4 MIPS 开发的商业产品。 Windows NT 4 MIPS 没有 USB 1.1 驱动程序,因此无法正确对准鼠标,但这并不是什么大问题。 更大的问题来自 QEMU MIPS 在格式化系统分区时疯狂的内存泄漏。 这种内存泄露实际上足以让一台拥有 64 GB 内存的服务器在几秒钟内崩溃。

先决条件

  • 带有MIPS架构的Windows NT 3.5、3.51、4.0的光盘ISO文档
  • QEMU (建议使用2020年编译的版本)
  • Micorosoft Arc固件,您可以在这里下载,之后把NTPROM.RAW重命名为mipsel_bios.bin

安装

使用以下命令创建一个2GB的虚拟磁盘:

qemu-img create -f vpc hdd.vhd 2G

Magnum 机器不支持超过 2 GB 的空间,因此请勿超过此容量。

然后使用此命令启动QEMU:

qemu-system-mips64el -hda hdd.vhd -M magnum -nic user, model=dp83932 -cdrom <your_image.iso> -m 128 -global ds1225y.filename=nvram -monitor stdio

我们将内存设置为 128 MB,因为这是 Magnum 机器所支持的最大内存。 只有 12864 是有效值(其他值将无法启动)。

当您启动机器时,您可能会发现一个问题,那就是日期被设置为 2033 年。 时钟也可能被设置为 "8:85:00 "或类似的时间。 这是模拟中的一个错误,很容易修复。 修复方法有两种:第一种是在 QEMU 命令行中添加类似 -rtc "base=1995-07-08T11:12:13,clock=vm" 的内容。 第二步是进入 "Initialize system(初始化系统)"、"Set time(设置时间)",然后设置正确的日期。 重要提示:如果没有正确设置时钟,Windows NT 将声称日期无效,并将其设置为 1601 年 1 月 1 日上午 12:00。

现在我们来设置环境变量。 选择以下变量

  • Select monitor resolution: 1024x768 or 1280x1024
  • Select floppy size: 3.5 1.44 M
  • Is there a second floppy: No
  • Enter SCSI Host ID (0 - 7): 7

接下来,将默认环境设置为 “SCSI Disk”。

如果要上网,请选中以太网地址。 返回主菜单。

点击 "Exit".

重新启动后,点击 "Run a Program".

输入以下内容: cd:\mips\arcinst

这样就设置了系统分区,并设置了启动加载器。 这就是内存泄漏发生的地方(在 QEMU 2.8 及以下版本),但你真的不需要什么大的分区,只需创建一个 5 MB 的分区就能尽快完成。

完成后,退出并运行以下程序: cd:\mips\setupldr

从那时起,它的安装就和 x86 NT 一模一样了。 非常简单。 跳过磁盘扫描,完成设置,恭喜你,你将拥有一个可以正常工作的 NT MIPS 环境!