跳转到内容

QEMU/Windows XP

来自维基教科书,开放的书籍,开放的世界

为什么在 QEMU 中运行 Windows

[编辑 | 编辑源代码]

GNU/Linux、OSX 和 FreeBSD 都是优秀的操作系统,但有时您只需要运行 Windows 程序。这可以通过几种不同的方式实现,例如

  • Wine 将直接在 Linux/OSX/*BSD 中运行一些 Windows 程序
  • rdesktop 在 Linux/OSX/*BSD 上运行的 Windows 计算机上为您提供远程桌面
  • 双重启动 允许您在启动计算机时选择要运行的操作系统
  • QEMU 允许您将 Windows 作为 Linux/OSX/*BSD 下运行的另一个程序来运行

前三个选项有一些主要的优点,尤其是性能,但并不总是实用的。有些 Windows 程序无法在 Wine 中运行,或者至少无法正常运行;rdesktop 要求您能够访问在另一台计算机上运行的 Windows;双重启动意味着您无法在运行 Windows 时运行操作系统的本机程序。

如果您拥有合法的 Windows XP Pro 许可证副本,则可以创建 QEMU 镜像并在 Linux/OSX/*BSD 计算机上运行 Windows。注意:您可能无法使用 Windows XP 的 OEM 版本,因为它可能被锁定到它附带的硬件(而不是 QEMU 模拟的硬件)。

由另一位读者添加:OEM Windows 和零售 Windows 之间并没有太大区别。对于某些用户来说,差异可能令人惊讶,但在您的 setup.ini 文件中,该文件位于 386 目录文件夹中。该 pid 可以更改为将零售副本转换为 OEM 或反之亦然。OEM 未编码到任何硬件,但 OEM 的密钥不同。我有两个合法的 OEM 密钥,没有光盘。这就是我发现它的方式;很多用户遇到了这个问题,因为机器并不总是提供光盘,而是经常复制到目录中,用户往往会因为硬盘故障而丢失它们,或者忘记它在那里,然后借用或下载 Windows XP 的 ISO 镜像,发现他们无法使用自己的密钥。好吧,你可以通过更改 pid 来做到这一点。因此,我相信您可以使用您的 OEM Windows XP 以及 QEMU 的零售版。因为 ini 文件中只有几个数字和字母是不同的。

读者脚注:请注意,一些 OEM 品牌的 Windows 包含产品品牌,甚至有一些 Windows 的驱动程序集非常有限。它不像缺乏广泛支持那样被锁定到硬件上。通常可以从制造商网站找到驱动程序。

创建镜像

[编辑 | 编辑源代码]

基本设置 指示适用于为 QEMU 创建基本的 Windows XP 镜像。为了使事情变得更轻松,请将 Windows XP 光盘复制到 ISO 镜像,以便您可以轻松地将其重新连接到系统(例如,安装额外的网络组件,如 IIS Web 服务器)。

请注意,3 GB 可能不够,这取决于您将在 Windows 下安装的软件,并且在安装了软件的 NTFS 分区上扩展 NTFS 分区并不容易。更好的基础大小将是 10 GB,但是,通过稍微调整虚拟内存和休眠设置,基本的 Windows XP 将可以在 3 GB 上运行。将数据文件存储在 Linux/Unix 上并通过 SAMBA 访问它们也有助于减少对更大 QEMU 镜像文件的需求。

优化镜像

[编辑 | 编辑源代码]
系统属性视频性能设置

即使使用 KVM 内核模块,在 QEMU 下运行 Windows 也可能非常慢。虽然直接代码运行很快,但需要模拟的系统调用(尤其是对显卡的调用)会使事情看起来非常慢和迟钝。可以通过关闭 Windows XP 引入的一些 GUI 炫耀来轻松改善这种情况。从控制面板打开系统属性小程序,选择高级选项卡,然后打开性能设置。请参阅右侧的图像,了解您可以关闭以提高性能的一些示例设置,或者只需通过选择“调整以获得最佳性能”来关闭所有设置。注意:如果您使用 RDP(远程桌面)连接到 Windows XP 镜像,则这些设置将默认情况下为您选择;RDP 可能是让 Windows XP 桌面在其他操作系统中可见的最快方式,但需要一些网络配置(见下文)。

当您打开系统属性小程序时,您也可能要关闭 系统还原。这会消耗更多资源,如果您保留了镜像的备份副本(始终是一个好主意),则可以省去它。

您可能不需要的另一件事是 Windows Update。您随时可以激活更新,那么为什么在您试图在 QEMU 下的 Windows 中完成某项操作时让 Windows 启动更新呢?注意:如果您将在 Windows XP 镜像中进行任何 Internet 浏览,尤其是使用 Internet Explorer,则完全禁用 Windows Update 非常危险。将更新安排在固定时间或使用“为我下载更新,但我选择何时安装它们”选项可能更安全。

除非您想使用某些自定义软件测试休眠/恢复系统,否则您可能希望关闭 休眠。这将释放一些磁盘空间,与您为 QEMU 分配的 RAM 一样多(因此可能是 256 MB 或更多)。在处理空间有限的镜像时,可以很高兴地恢复这些空间。

如果您有几个不同的 Windows XP QEMU 镜像,例如要测试不同版本的软件或支持不同的开发环境,您可以将 Windows 分页文件 移到另一个磁盘镜像并共享它。注意:您只能在一次只运行一个 QEMU 实例的情况下共享分页文件!使用 qemu-img 创建一个使用原始格式的简单分页文件镜像,从 QEMU 中的 Windows XP 对其进行 NTFS 格式化,然后在系统属性小程序中将您的分页文件移到新驱动器。

您可能希望在 Windows XP 镜像上运行病毒扫描程序(您可能应该这样做!)。如果您这样做,请记住关闭自动更新以改善启动时间。只需记住偶尔运行更新!注意:与 Windows Update 一样,如果您将在 Windows XP 镜像中进行任何 Internet 浏览,则完全禁用病毒扫描程序的自动更新功能非常危险。如果您的软件提供计划更新功能,设置计划到非中断时间,而不是依赖内存来完成此任务会更安全。

如果您只打算使用 Windows XP 来宾操作系统外部的网络资源,那么您可能无需执行任何特殊操作来使网络正常运行。QEMU 默认情况下将提供用户模式网络,让来宾操作系统访问 Linux/unix 主机可以访问的基于 TCP 和 UDP 的网络。默认情况下,Windows XP 将打开 DHCP,因此会自动由 QEMU 的虚拟 DHCP 服务器(地址从 10.0.2.15 开始)分配 IP 地址。

此设置将允许您从来宾操作系统访问 Internet,并允许您将 Windows 驱动器映射到真实世界网络上的 SAMBA 共享或 QEMU 中的虚拟 SAMBA 服务器(10.0.2.4)。例如,如果您需要在 Internet Explorer 中测试网页,您将能够在 Internet 上浏览它们,或者如果您在本地托管它们,则可以通过键入 Linux/unix 主机的网络 IP 地址来浏览它们。要通过主机文件中的名称访问网络资源,请编辑 Windows 中的本地主机文件。

notepad \windows\system32\drivers\etc\hosts

如果您需要从 Linux/unix 主机访问 Windows XP 来宾操作系统上的网络资源,您将需要做更多工作。用户模式网络 展示了如何配置 QEMU 以将端口转发到来宾操作系统以进行 Windows 文件共享和提供网页。如果您想继续维护一些 ASP 网站,但不想离开 Linux/unix 桌面的舒适性和它的工具,您可以使用此技术让您能够在主机操作系统下挂载 QEMU 来宾操作系统上的 Windows 文件共享。只需使用适当的权限共享文件夹 C:\inetpub\wwwroot\,您就可以开始了。

如果您需要更复杂的网络设置,其中所有端口都可用,无需端口转发,您需要进入 TAP 接口套接字.

华夏公益教科书