① 如何在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