首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 QEMU 进行系统仿真(2)

使用 QEMU 进行系统仿真(2)

使用 QEMU 现在考察一下使用 QEMU 虚拟化另一台带典型的桌面 GNU/Linux 环境的机器的情况。仿真另一台机器与处理新计算机类似。 第一步是安装操作系统。新计算机必须要有安装操作系统的空间,因此需要一个硬盘。
QEMU 提供了一条特殊的命令创建硬盘,此命令称为 qemu-img。此工具可以创建各种格式的映像,但最佳的格式(对于 qemu)称为 qcow(或 qemu 写时复制)。这种格式的优点在于磁盘映像的大小与表示映像的物理文件的大小不同。换言之,该格式允许实现更紧凑的磁盘映像。例如,一个空的 4GB 磁盘映像只需要 16KB 的空间。
对于 qemu-img,您需要提供操作类型(create 创建新磁盘映像)、格式(qcow 用于 qemu 映像格式)、大小和磁盘映像的名称。本例中仿真的机器用于一个在 Flash 中使用的微型 Linux 发行版。因此,将 128MB 的磁盘映像创建为:
$ qemu-img create -f qcow disk.img 128M Formating 'disk.img', fmt=qcow, size=131072 kB $
注意,如果您计划安装通用操作系统,如 Windows、Linux 或 FreeBSD,则需要更大的磁盘空间。此操作的结果是仿真时出现一个 disk.img 文件,其形式是一个 128MB 的磁盘。
现在已经创建好硬盘,可以在上面安装新操作系统。出于演示的目的,我将使用一个较小的 Linux 发行版 cfLinux。cfLinux 的标准用法是作为基于 Linux 的小型嵌入式系统使用,此系统应适用网关、无线入口点、防火墙或路由器。您可以使用 wget 下载 ISO 格式的发行版:
wget ftp://ftp.cflinux.fu/pub/cflinux/iso/cflinux-1.0.iso
ISO 映像是常见的 CD-ROM 格式(在其他地方称为 ISO 9660 文件系统)。
现在,您已经仿真了硬盘(disk.img)和 CD-ROM,您可以在上面安装操作系统。下一步是在硬盘上安装操作系统。简单地使用 qemu 即可完成此任务:
$ qemu -hda disk.img -cdrom /root/cflinux-1.0.iso -boot d $
使用 qemu 时,您使用 hda 选项指定硬盘映像,使用 cdrom 选项指定 cdrom(ISO 映像所在的文件)。boot 选项指定从 CD-ROM 引导。参数 d 指定从 CD-ROM 引导,其中 a 指定从软盘引导,c 指定从硬盘引导(默认),而 n 指定从网络引导。发出此命令后,出现一个表示已仿真机器的新 QEMU 窗口(见图 2)。
图 2. 准备使用 QEMU 将 cfLinux 安装到仿真磁盘上遵循安装指令,按照 CD-ROM 安装完成在仿真硬盘上的 ISO 安装。安装程序要求您重新启动。此时,您可以终止仿真(在 qemu 窗口中按 Ctrl-C)。您可以使用以下命令引导最新安装的操作系统:
$ qemu -hda disk.img $
此命令只是说明使用 disk.img 映像文件表示的硬盘仿真标准 PC(默认选项)。Linux 映像从仿真硬盘开始引导,导致出现 QEMU 窗口,如图 3 所示。
图 3. 从仿真硬盘引导最新安装的 cfLinux这再简单不过了。实际上,您可以按照同样的顺序安装和引导任何种类的操作系统(Linux 产品发行版、Windows 或其他)。

回页首
其他仿真器虽然 QEMU 是一种极好的仿真环境,但是其他环境也值得研究一下。 Wine 是 Windows API 的一个开源实现,允许您在没有 Windows 操作系统的情况下运行 Windows 程序。但是如 Wine 缩略词所表示的那样,Wine 不是仿真器。相反,Wine 实现了一组 API,这些 API 允许执行 x86 架构的应用程序。因此,运行在 Wine 上的应用程序可以很好地执行。
与 QEMU 类似的仿真器是 Bochs。Bochs 是一种机器仿真器,它不仅可以仿真 Intel® 的 i386™、i486™、Pentium®、Pentium Pro 和 Advanced Micro Devices 的 AMD64 CPU,还可以仿真常见 PC 外围设备,如磁盘、内存、显示器和网络设备。Bochs 已被用于仿真 Linux、DOS 和 Windows 95/98/XP/2000/NT® 操作系统。

回页首
结束语将 QEMU 作为机器仿真器使用让您能够试验各种操作系统,因为您可能没有多余的机器直接进行试验。ReactOS 就是一个这样的例子,它是一个开源的 Windows XP 兼容的操作系统(其仿真如图 4 所示)。ReactOS 的目标是与 Windows XP 实现二进制兼容,因此您可以直接在 ReactOS 上运行针对 Windows XP 构建的应用程序。请参阅 参考资料 一节了解当前应用程序兼容性的细节。
继承事业,薪火相传
返回列表