作者:liguisen
blog:http://blog.csdn.net/liguisen/
1. 什么是虚拟机?
什么是虚拟机?请好好利用搜索引擎,它会告诉我们答案,在这里我给出一个简单的解释:虚拟机(有些地方也叫模拟器)就是在一台计算机上虚拟出另一台计算机,就好像多出来一台完全独立的计算机一样。为什么使用虚拟机而不安装多操作系统?使用虚拟机其实只有一个原因或者说好处:就是在一台计算机上同时运行多个操作系统。主要是两个应用,一是利用一台计算机构建一个虚拟的网络,二是在多个操作系统之间快速切换。
举例:在win XP上虚拟了一个win 2K,那么他们就可以组成一个虚拟的局域网,我们可以利用它来学习相关网络知识。又或者在win XP上虚拟了一个linux,我们可以在linux进行C++编程,在win XP上临时处理word文档(毕竟在linux不能做到完全兼容)。但如果你经常一打开机器,就进入虚拟的操作系统直至关机,那么你不如安装多操作系统。
2. 虚拟机都有哪些?该选择哪一个?
虚拟机软件好像还不少,例如:
Plex86、User-Mode-Linux、VMware 、Virtual PC、win4lin(9X)、wine、Xen、Qemu、bochs
我也不知道该选哪个,不过就从网上搜索的结果来看:使用较多的是VMware 、Virtual PC、Qemu。下面就网上收集的资料分别简单介绍一下:
vmware:稳定、功能强大、对资源要求比较高,需要比较多的内存。性能较好的系统可以选择这个。该软件是不开源的商业软件,如果想长期使用需要获得正式的license,不过现在有了免费的vmware-player,可以运行已经安装好的虚拟机,这基本上就解决了问题。vmware对网络的支持也是最好的,有多种模拟网络设备的模式,还可以添加多个虚拟网卡。vmware的虚拟磁盘可以是真实的物理磁盘分区,而那个分区上可能真的有一个window的安装,vmware虽然支持以这种方式引导虚拟系统,但是并不推荐。如果你有一个空闲的分区专门给vmware使用,那么可能这是最理想的方式了,无论是从哪一点考虑,性能或者安全。当然,用主操作系统里面的文件作为虚拟机的磁盘空间是比较常见的方式,相比较前面一种,可能性能上有稍稍的降低,但是你往往是感觉不到的。
Virtual PC:常被简称为VPC。virtual pc相比vmware 在占用资源上更少,操作更加简单上手,十分适合新手的使用。采用了动态分配内存和磁盘的技术,使得占用资源上更少。新发布的Virtual PC 2004已不再明确支持Linux、FreeBSD、NetWare、Solaris等操作系统,只保留了OS/2,如果要虚拟一台Linux计算机,只能自己手工设置。
Qemu:这是一个开源的虚拟机系统。近几年发展比较迅速。原来最大的问题是比较慢,而它在得到不开源但是可免费使用的kqemu的加速后,速度也得到比较大的提高。
下面转载一个帖子(部分):
作者:Aspirant,原帖地址:http://bbs.wedsh.com/viewthread.php?tid=8995
(注:后来顺藤摸瓜,找到了该作者的blog:http://blog.dream4ever.org/aspirant/,该帖地址:http://blog.dream4ever.org/aspirant/archive/2005/12/22/80513.aspx)
一:介绍一下QEMU
相信不少朋友玩过虚拟机,比如VMWARE,MS VPC。现在我给大家介绍一下基于GPL协议的开放源代码并且跨平台的虚拟机软件:QEMU。QEMU的好处是不用安装庞大的虚拟机系统。并且介于它的免安装(zuilang:??后面的安装好像就是一个解压缩而已)、绿色、小巧的特点,我们有理由选择它,当然它不能完全取代VMWARE之类的虚拟机软件(由于QEMU是完全虚拟了一个真实的CPU,故CPU占用率较高)。QEMU适用于Linux ,Windows, FreeBSD and MaxOS X这几个平台,由于本人水平有限,仅仅介绍一下WINDOWS平台下的QEMU。经我测试对有些系统支持的不够好,比如网友们自己定制出来的WINDOWS系统维护光盘不能够良好运行。不过瑕不掩瑜,QEMU对LINUX支持的比较好,对于一些LINUX新手来说,如果不想破坏硬盘上已有的Windows系统,就可以用QEMU来试试。请到这里下载QEMU FOR WINDOWS的最新版本
http://free.oszoo.org/ftp/qemu/win32/daily/
下载http://free.oszoo.org/ftp/qemu/win32/daily/QemuInstall-20051120.exe完毕之后安装之。安装目录中QEMU.exe便是主程序了,它是基于命令行界面的32位程序,其余的诸如bios.bin、vgabios.bin之类看名称就知道是虚拟机的主板BIOS程序还有显卡BIOS了。QEMU并不提供BIOS设置的相关内容(好象是由于版权问题),作为一个小巧的虚拟机软件,它也没有必要对这方面提供支持。因为在后面看到QEMU里用强大的参数,照样可以实现BIOS启动选择的功能。具体就是从虚拟磁盘启动还是从可引导光盘镜像启动,当然也包括了软盘启动。
二:如何启动QEMU
1运行批处理文件
新建一文本文件,在其中输入如下语句
REM Start qemu on windows.
@ECHO OFF
START qemu.exe -L . -m 128 -hda linux.img -enable-audio -localtime
CLS
EXIT
并且另存为*.bat批处理文件。
简单说明一下语句中的linux.img就是默认启动的Linux磁盘镜像,-L设置的是BIOS目录,-hda是设置硬盘硬盘镜像,磁盘镜像文件可以由qemu-img.exe生成,并且可以设置磁盘空间大小。例如要设置一个10MB的虚拟硬盘空间,在命令行中键入以下命令:qemu-img.exe create harddisk.img 10M,这样就会在当前目录建立了一个10MB大小,名称为harddisk.img的虚拟磁盘。-enable-audio参数表示开启了声音,-locoltime则表示使用主机设置的时间。在运行虚拟机的时候,如果鼠标丢失(在虚拟机的运行窗口出不来时,只要同时按CTRL和ALT键就可以将鼠标释放到主机,这点和VMWARE一样)
2使用快捷方式启动
建立一个指向QEMU.exe的快捷方式,在快捷方式的属性里设置QEMU相应的运行参数(参数如上述),然后双击这个快捷方式即可
3运行安装目录中的QEMUMenu.bat(推荐)
这个是我最常用的运行QEMU的批处理了,可以在此完成大部分的操作,比如设置光盘镜像路径,生成虚拟磁盘文件等。
例如:
QEMU_BIOS_DIR=/tools/burning/OperatingSystem/QEMU/bios
=== QEMU Menu (v20041121) ===
QEMU Menu (C) 2004 Garth Dahlstrom (ironstorm@users.sf.net)
QEMU (C) 2004 Fabrice Bellard
QEMU Settings:
Memory (256MB) BIOS DIR (/tools/burning/OperatingSystem/QEMU/bios)
ISO/CD (-cdrom "C:/Documents and Settings/Administrator/桌面/SUSE-10.0-LiveDVD.
iso" -boot d)
Network ()
Boot QEMU using image:
[1] harddisk
Settings/Toggles:
[C]reate image file [M]emory [I]SO/CD [N]etwork [Q]uit
Enter your choice now []:
在光标处键入C即可创建磁盘镜像,键入M即可设置内存大小,键入I即可设置光盘镜像,键入N设置网卡,键入Q退出,很方便
4用GUI来操作QEMU(推荐)
想必在图形界面下习惯了的用户都不太适应命令行界面了,这里推荐QEMU MANAGER(也是GNU软件),个人认为这个是最好的QEMU前端工具了(可惜不支持UNICODE,请设置路径和文件名为英文名称),其最新版下载链接为:http://www.davereyn.co.uk/qem/qman20.zip,它照顾了习惯使用VMWARE用户,其向导很不错。
三:如何测试光盘镜像
最后简单介绍一下命令行测试光盘镜像的例子
在README-en.txt文件中我们看到了具体参数的使用方法:
以说明文件中自带的例子为例:
qemu.exe -L . -m 128 -boot a -fda floppy.img -hda harddisk.img -cdrom cdimage.iso
参数的定义如下
-L : BIOS位置,上面的“.”表示当前目录
-m : 内存大小 (单位:MB)
-boot : 引导设备 软盘启动为(a), 虚拟硬盘启动为©, 虚拟光盘引导为(d)
-fda : 软盘镜像
-hda : 硬盘镜像
-cdrom : 光盘镜像
现在我们开始测试一个Linux LIVECD:Damn Small Linux,这是个小巧的Linux可引导光盘镜像,我们就拿它做试验。
下载地址为http://gulus.usherbrooke.ca/pub/distro/Dam...t/dsl-0.9.2.iso
将下载得到的dsl-0.9.2.iso镜像文件放到QEMU程序目录,编辑批处理文件如下:
REM Start qemu on windows.
@ECHO OFF
START qemu.exe -L . -m 128 -boot d -hda linux.img -cdrom dsl-0.9.2.iso -enable-audio -localtime
CLS
EXIT
这里设置的是从光盘引导(字母d表示光盘引导,前面已有说明),并且这里所虚拟的是一台磁盘镜像为linux.img,内存容量为128MB大小的虚拟机。
下面存盘退出,运行这个编辑好的批处理文件,如果编辑没错的话,就能看到系统已经正常启动了。
本贴纯属抛砖引玉,在官方还看到更深层次的东西,希望高手研究出来奉献给大家。
四:综述:
在使用QEMU有段时间之后,偶发现QEMU用来安装系统不太可取,因为其过程相当漫长(未使用加速模块,据说加速模块能加快5倍虚拟系统安装速度,无奈需要编译,我一直没有尝试编译它。
注:Aspirant现在已经编译了一个使用kqemu加速的QEMU,qemu-0.8.0_builtin_with_kqemu-0.7.2,大家可以到他的blog下载。