虚拟机软件介绍:VMWare & Virtual PC

Jason Chen
http://www.jason314.com

Apr 2002




什么是虚拟机软件
================

Win2000 + VMWare运行RedHat7.2、Win98 & Solaris 8的截图

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大图)