虚拟机软件介绍:VMWare & Virtual
PC
Jason Chen
http://www.jason314.com
Apr 2002
什么是虚拟机软件
================
Win2000 + VMWare运行RedHat7.2、Win98 & Solaris 8的截图
(点击看1024x768大图)
虚拟机软件可以在一台电脑上模拟出来若干台PC,每台PC可以运行单独的操作系统而互不干扰,可以实现一台电脑"同时"运行几个操作系统,还可以将这几个操作系统连成一个网络。
比如上图中,是在一台电脑上安装了Win2000
server,再在Win2000 server上安装虚拟机软件VMWare,利用VMWare模拟出来3台PC,在这3台PC上分别运行RedHat7.2、Win98和Solaris
8 for x86操作系统。包括Win2000在内,这4个操作系统同时在一台电脑上运行,互不干扰,并且同在一个局域网内。
目前PC上的虚拟机软件有下述两个:
VMWare http://www.vmware.com/
Virtual PC http://www.connectix.com/
本文主要介绍VMWare。
使用虚拟机的好处
================
1、如果要在一台电脑上装多个操作系统,不用虚拟机的话,有两个办法:一是装多个硬盘,每个硬盘装一个操作系统。这个方法比较昂贵。二是在一个硬盘上装多个操作系统。这个方法不够安全,因为硬盘MBR是操作系统的必争之地,搞不好会几个操作系统同归于尽。而使用虚拟机软件既省钱又安全,对想学linux和unix的朋友来说很方便。
2、虚拟机可以在一台机器上同时运行几个操作系统,是SOHO开发一族的必备工具。有了虚拟机,在家里只需要一台电脑,或出差时只带着一个笔记本,就可以调试C/S、B/S的程序了。
3、利用虚拟机可以进行软件测试。
使用虚拟机的硬件要求
====================
虚拟机毕竟是将两台以上的电脑的任务集中在一台电脑上,所以对硬件的要求比较高,主要是CPU、硬盘和内存。目前的电脑CPU多数是PIII以上,硬盘都是几十G,这样的配置已经完全能满足要求。关键是内存。内存的需求等于多个操作系统需求的总和。现在的内存已经很便宜,也不成为问题了。
虚拟机的运行环境
================
VMWare可运行在Windows(WinNT以上)和Linux操作系统上。
Virtaul PC可运行在Windows(Win98以上)和MacOS上。
运行虚拟机软件的操作系统叫Host OS,在虚拟机里运行的操作系统叫Guest
OS。
VMWare的使用经验
================
1、支持的Guest OS:
VMWare支持如下Guest OS:
MS-DOS、Win3.1、Win9x/Me、WinNT、Win2000、WinXP、Win.Net、Linux、FreeBSD、NetWare6、Solaris
x86。
不支持的Guest OS:
BeOS、IBM OS/2 and OS/2 Warp、Minix、QNX、SCO Unix、UnixWare。
2、VMWare模拟的硬件
VMWare模拟出来的硬件包括:主板、内存、硬盘(IDE和SCSI)、DVD/CD-ROM、软驱、网卡、声卡、串口、并口和USB口。VMWare没有模拟出显卡。VMWare为每一种Guest
OS提供一个叫做vmware-tools的软件包,来增强Guest OS的显示和鼠标功能。
3、VMWare模拟出来的硬件是固定型号的,与Host OS的实际硬件无关。比如,在一台机器里用VMWare安装了linux,可以把整个linux copy到其他有VMWare的机器里运行,不必再安装。
4、VMWare可以使用ISO文件作为光盘。比如从网上下载的linux ISO文件,不需刻盘,可直接安装。
5、VMWare为Guest OS的运行提供三种选项:
(1) persistent
Guest OS运行中所做的任何操作都即时存盘
(2) undoable
Guest OS shutdown时会问是否对所做的操作存盘
(3) nonpersistend
Guest OS运行中所做的任何操作,在shutdown后等于没做过。
如果要进行软件测试或试验,这是非常有用的功能,可以尽情地玩,把
Guest OS搞死无限次都不怕。
6、VMWare的两种网络设置方式:
(1)Bridged方式
用这种方式,Guest OS的IP可设置成与Host OS在同一网段,Guest OS相当于网络内的一台独立的机器,网络内其他机器可访问Guest OS,Guest OS也可访问网络内其他机器,当然与Host OS的双向访问也不成问题。
(2)NAT方式
这种方式也可以实现Host OS与Guest OS的双向访问。但网络内其他机器不能访问Guest OS,Guest OS可通过Host OS用NAT协议访问网络内其他机器。
NAT方式的IP地址配置方法:Guest OS先用DHCP自动获得IP地址,Host OS里的VMWare
services会为Guest OS分配一个IP,之后如果想每次启动都用固定IP的话,在Guest
OS里直接设定这个IP即可。
一般来说,Bridged方式最方便好用。但如果Host OS是win2000而网线没插,网络很可能不可用(大部分用PCI网卡的机器都如此),此时就只能用NAT方式。
7、VMWare用Host OS的文件来模拟Guest OS的硬盘。一个Guest OS的硬盘对应一个或多个Host OS里的文件。如果往Guest OS里写入100M的文件,Host OS里虚拟硬盘文件就增大100M。在Guest OS里删除这100M文件,Host OS里虚拟硬盘文件不会减小。下次往Guest
OS里写文件的时候,这部分空间可继续利用。vmware-tools里还提供shrink功能可以立刻释放不用的空间,减小Host OS里虚拟硬盘文件的容量。
为了减少硬盘空间的浪费,避免经常使用shrink,更好的做法,是在Guest
OS里挂上另外一个硬盘存放不常用的文件,比如安装文件之类,用完之后可以把这块硬盘重新分区格式化。
8、vmware-tools
vmware-tools增强Guest OS的显示和鼠标功能。vmware-tools自带在VMWare里。安装Guest OS的时候,VMWare的状态栏里就有一句话提示vmware-tools没装,鼠标单击这句话即可安装vmware-tools。也可通过菜单安装:settings -> vmware tools install
如果Guest OS是windows,vmware-tools会自动安装,如果是linux,安装后,vmware-tools的安装文件会被mount到光驱中(是虚拟方式,此时光驱并没有光盘),进入光驱的mount point,把文件copy出来安装即可。
对某些Guest OS,比如Solaris x86、NetBSD 1.x、OpenBSD
2.x和Caldera OpenLinux 1.3等,VMWare并没有提供vmware-tools。
9、在VMWare里装linux,不要用图形模式安装,要用文本模式安装。 安装到配置Xserver时,选默认配置就可以,安装出错也不用理会。安装完后,先别起X,先安装好vmware-tools后,再启动X。
10、如果不使用声卡,不要在VMWare里加入声卡,声卡对性能有一点点影响。
11、如果不常使用光驱,可以取消光驱的connect at power on选项,在需要用的时候,光驱可以随时"热插拔"。
VMWare与Virtual PC的主要区别
============================
Virtual PC是与vmware类似的虚拟机软件。两者的主要区别如下:
1、VMWare没有模拟显卡,要通过vmware-tools才能用上高分辨率和真彩色,否则只能用VGA。而Virtual
PC模拟了一个比较通用的显卡:S3 Trio 32/64(4M)。从这一点看,Virtual
PC比VMWare通用,但显示性能不如VMWare。
2、因为Virtual PC模拟了显卡,所以通用性很强。connectix.com网站声称,目前新版的Virtual
PC 5支持所有基于x86的操作系统。
3、Virtual PC的网络共享方式与VMWare不同。VMWare是通过模拟网卡实现网络共享的,而Virtual
PC是通过在现有网卡上绑定Virtual PC emulated switch服务实现网络共享的。对于win2000/xp等操作系统,如果网线没插或没有网卡的时候,要安装Microsoft的loopback软网卡,才能实现网络共享。在Virtual
PC的global setting里,当有网卡并插好网线的时候,将Virtual
switch设成现实的网卡;当没有网卡或网线没插的时候,将Virtual
switch设成ms loopback软网卡,即可实现网络共享。
ms loopback软网卡的安装方法,以win2000为例:
控制面板 -> 添加/删除硬件 -> 添加/排除设备故障
-> 添加新设备 -> 否,从列表选择 -> 网卡 ->
制造商选microsoft -> microsoft loopback adapter。
Win2000 + Virtual PC运行unixware7的截图1
(点击看1024x768大图)
Win2000 + Virtual PC运行unixware7的截图2
(点击看1024x768大图)