① 如何在Qemu虚拟机中安装Windows XP系统
下载 qemu 2.8 安装,下载地址:qemu.weilnetz.de/w32/
下载原版 Windows XP 系统的 ISO 文件,放在 qemu 文件夹中,下载地址用网络找文件名:
zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso
运行 cmd 进入命令提示符,输入 cd /d qemu安装的文件夹名称,我的 qemu 安装在 F:\qemu,就输入 cd /d f:\qemu,然后输入以下命令建立6G的虚拟硬盘文件,新建立的文件不是 6G,安装系统之后才会变大。
qemu-img create -f qcow2 winxp.img 6G
输入以下命令安装
qemu-system-i386.exe -L . -M "pc" -m 256 -cpu "qemu32" -hda winxp.img -sdl -cdrom zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso -boot d
也可以把以上命令保存为 xp.bat ,下次直接打开 xp.bat 就可以运行了。
安装好之后使用以下命令从硬盘启动运行:
qemu-system-i386.exe -L . -M "pc" -m 256 -cpu "qemu32" -hda winxp.img -sdl -cdrom zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso -boot c
② qemu如何使用
qemu从某种意义上功能类似于vmware/virtual box之类的软件,可以让你在当前OS中运行其它的操作系统,但是这仅仅是qemu的一种功能
qemu还可以模拟不同的cpu架构下的系统,比如在普通的个人pc上运行 arm linux之类,这个vmware之类的可能没有
关于qemu的使用
先到官网上下载qemu的源代码,目前是 1.2,如果使用的是linux系统,这个好办,直接编译安装,网上有不少说明的文档
使用的过程一般分为三步
1. 创建虚拟机文件系统
qemu-img create /f qcow2 xxx.img 10G
2. 在虚拟机文件系统中安装操作系统
qemu-system-i386 -hda xxx.img -cdrom xxx.iso -boot d 以xxx.img为文件系统,xxx.iso是系统安装ISO文件
3. 运行安装好的操作系统
qemu-system-i386 -hda xxx.img 运行xxx.img中的系统
以上的命令参数都比较简单,实际使用中需根据具体情况自己配置
③ win7上怎么用qemu模拟arm环境
使用Qemu模拟Cortex-A9运行U-boot和Linux 作者来源于网络
我的开发环境: Ubuntu-12.04 所有软件包为最新
1. 安装GNU工具链
sudo apt-get insatll gcc-arm-linux-gnueabi
sudo apt-get insatll g++-arm-linux-gnueabi
安装完成后会在 /usr/arm-linux-gnueabi/ 目录下生成库文件、头文件等。 我安装的GCC版本为:
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
2. 安装Qemu模拟器
sudo apt-get install qemu qemu-system qemu-utils
这时应该已经可以运行qemu-system-arm命令了, 其版本为:
qemu-system-arm --version
QEMU emulator version 1.0.50 (Debian 1.0.50-2012.03-0ubuntu2), Copyright (c) 2003-2008 Fabrice Bellard
3. 编译和运行U-boot:
到 ftp://ftp.denx.de/pub/u-boot/ 下载最新版本的U-Boot源代码, 我用的目前最新版本 u-boot-2012.04.tar.bz2
解压后进入源代码目录,在Makefile里面增加两行:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-gnueabi-
其实就是告诉它使用ARM编译器来编译。
make ca9x4_ct_vxp_config
make
这里配置目标板为 Cortex-A9x4 vexpress. 之所以选这个配置可以从 boards.cfg文件里看到, vexpress是ARM公司使用Cortext-A9的一个开发板,相关的代码在 board/armltd/vexpress/ 目录,配置文件为include/configs/ca9x4_ct_vxp.h。 而且关键的是Qemu里面已经支持这个板卡。
编译完成后会生成u-boot文件
运行:
qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot
或者
qemu-system-arm -M vexpress-a9 -m 256M -serial stdio -kernel u-boot
发现,如果没有指定-nographics, 则必须要加-serial stdio才会有打印。
参数-m 256M为指定内存大小。-M 指定板卡的名称, 支持的板卡可以用-M ?查看, 如下:
#qemu-system-arm -M ?
Supported machines are:
beagle Beagle board (OMAP3530)
beaglexm Beagle board XM (OMAP3630)
............
versatilepb ARM Versatile/PB (ARM926EJ-S)
versatileab ARM Versatile/AB (ARM926EJ-S)
vexpress-a9 ARM Versatile Express for Cortex-A9
vexpress-a15 ARM Versatile Express for Cortex-A15
正常运行的结果:
qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot
U-Boot 2012.04 (Jul 08 2012 - 00:14:08)
DRAM: 256 MiB
WARNING: Caches not enabled
Flash: ## Unknown flash on Bank 1 - Size = 0x00000000 = 0 MB
## Unknown flash on Bank 2 - Size = 0x00000000 = 0 MB
*** failed ***
MMC: MMC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: smc911x-0
Hit any key to stop autoboot: 0
VExpress#
VExpress# printenv
baudrate=38400
bootcmd=run bootflash;
bootdelay=2
bootflash=run flashargs; cp ${ramdisk_addr} ${ramdisk_addr_r} ${maxramdisk}; bootm ${kernel_addr} ${ramdisk_addr_r}
console=ttyAMA0,38400n8
。。。。。
注意:如果在检测Flash failed后停止运行,是因为在 arch/arm/lib/board.c里面 board_init_r()函数里检测Flash失败后调用了hang(), 暂时先把hang()去掉就可以运行下去了。
④ Qemu安装之后如何卸载
qemu卸载根据安装方式的不同也会有响应的卸载方式:(1)源码编译安装需要手动卸载;(2)ubutnu pakage安装需要命令卸载
(1) 源码编译安装的qemu需要手动卸载:
可执行文件默认放在/usr/local/bin
库文件默认存放在/usr/local/libexec
配置文件默认存放在/usr/local/etc
共享文件默认存放在/usr/local/share
卸载源码只需将上面四个目录中相关文件或者目录删除
#
# rm -rf /usr/local/bin/qemu-*
# rm -rf /usr/local/libexec/qemu-bridge-helper
# rm -rf /usr/local/etc/qemu
# rm -rf /usr/local/share/qemu
(2) pakage安装方式需命令卸载
删除包和相关依赖
# sudo apt-get remove --auto-remove qemu-system-x86
删除配置文件和相关的数据文件
# sudo apt-get purge --auto-remove qemu-system-x86