欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

看图学习VMWare以及常见问题答疑(FAQ)

来源:不详 作者:不详 时间:2005-06-22 TAG: 我要投稿
1 VMWare是什么
2 VMWare能干什么
3 VMWare的一些基本概念
4 VMWare的配置
5 VMWare——正式开机
6 VMWare常见问题 (FAQ)



(一) VMWare是什么

VMWare是一个虚拟机软件。它使你可以在一台机器上同时运行二个或更多WIN2000 / WINNT / WIN9X / DOS / LINUX系统。

多启动系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正同时运行,多个操作系统在主系统的平台上,就象Word / Excel那种标准Windows应用程序那样切换。

要想了解VMWare如何工作,最直观的办法,就是看图。下面有几幅VMWareWIN2000下的运行画面,也许看过之后你能有所了解。

(为了缩小图片大小,这些图片都被缩减了颜色深度,所以看到的颜色可能和真实有些出入。但实际上运行时是和真正的系统完全相同的)

左图说明:在WIN2000中同时运行WIN98

左图说明:在WIN2000中同时运行WIN98以及REDHAT

左图说明:在WIN2000中同时运行WIN98LINUXX-WINDOW/KDE

左图说明:上图为虚拟机开机时的自检画面,是不是除了能源之星被换成VMWare以外,其它都和我们的机器一样?

下图为按F2进入的BIOS设置页面。用过PHOENIX BIOS的朋友应该很面熟。可以用BIOS来设置虚拟机是从软盘 / 硬盘 / 光驱启动。

相信看这了些图,一定能对VMWare有个直观的了解。

需要强调的是,你看到的那些在窗口中运行的子系统,那是货真价实的,不是通过花样手段做做样子骗人的。当你新生成一台虚拟机时,和你买一台新机器是完全一样的,你需要用你喜欢的软件来分区,格式化,并运行系统的安装程序。虚拟机甚至有自己的BIOS(如第四幅图)。

(二)VMWare能干什么

这样做法有什么意义?那要看各人的需要了。

VMWare自己的网站介绍,这种多个系统同时运行的方式在以下场合会有作用:

  • 客户支持。作为一个软件或网络服务商,你的客户可能使用各种各样的操作系统。使用VMWare有助于真实再现用户的工作环境,而只须在一台机器上就可完成。

  • 软件开发。测试你的软件在各种平台上的运行情况

  • 开发WEB应用程序。这可能是最实用的一种情况。现在LINUX下的WEB以及数据库开发很火,但是完全在LINUX下进行开发并不方便,首先是很多用户习惯于使用UltraEdit一类的Windows编辑软件,其次,在LINUX环境中一般使用NETSCAPE等浏览器,无法真实反映大部分用户使用IE的情况。因此,使用VMWare可以让一台机器变成一个局域网,在LINUX上运行后台的HTTPD服务器以及数据库,在WINDOWS上进行源程序编辑以及用户端测试,二者通过标准的TCP/IP协议通信。

另外,根据笔者自己的经验,VMWare还有以下作用:

  • 炫耀。根据笔者多年行走江湖(行骗?)的经验,当大家的电脑水平差不多,难分高下的时候,谁的东西新鲜、变态,谁就是老大。VMWare绝对符合这个条件(容后详述)。再高的高手,只要他以前没见过这种东西,第一次看到WIN98居然在LINUXWIN2000的窗口中运行时,一定会头昏脑涨,心乱如麻。这时你就可以抓住机会打击他的浅薄”“无知等等。

  • 虚拟一台机器出来给初学者练习分区,格式化,等等。只要设为全屏幕模式,一般分辨不出来。

  • 抓图。虽然是大材小用,但毕竟也算个作用。以前有朋友讨论象WINDOWS安装程序的前一部分(在DOS下进行那部分)该如何抓图?各种答案都出现了,包括使用专门的视频输出设备。其实,VMWare提供了一种纯软件的解决方法。看下面这两幅WIN98安装画面,就是这样抓出来的。

(颜色经过缩减,可能不准确)

其它玩法,各人自己开发。

(三) VMWare的一些基本概念

VMWare需要一个操作系统来作最基本的平台,其它系统在它上面运行。作平台的这个操作系统HOST OS,为了叙述方便,我们称为主系统;在主系统上运行的其它系统都叫GUEST OS子系统客户系统。由于HOST OS必须要稳定,并有独立应用程序内存空间的功能,所以目前只支持WinNT/2000/Linux作主系统,WIN9X没有当HOST OS的资格。

前面提到VMWare“变态,很大程度上是指它对系统的要求高。除了要给主系统相当充裕的内存/硬盘空间外,你还需要为每个子系统准备它们正常运行需要的内存数目。举个例子,WIN2000本身要想比较爽的运行,128M是少不了的。同时,如果你还想运行一个虚拟WIN98,至少要给他提供个64M左右吧。这样,内存需求就达到192M。实际上,加上VMWare本身的开销,在256M以下的机器上运行VMWare有时显得很紧张。如果VMWare对你真正有用的话,你会理解到无论如何加内存比再买台机器联网要便宜得多。当然,我的估计不一定正确,跟各人的具体情况有关系。

下面来讲讲硬件模拟的问题。

既然VM模拟了一台真实的机器出来,我们就必然会问,这台机器用的硬件和我真正的电脑硬件是什么关系?让我们用声卡网卡为例,来看一下这个图:

  • 不管你真正的硬件是什么牌子,什么型号,在虚拟机中一律被模拟成一种兼容性最好的大路货。以声卡为例,我的声卡是ESS SOLO-1,但在虚拟机中一律模拟为Creative Sound Blaster/AWE-32,因为这种卡兼容性好,几乎所有操作系统都能自行识别并驱动。至于虚拟机中的声音指令如何通过真实的声卡和音箱来发声,这一系列转换就由VMWare来完成。

  • 网卡:原理同声卡。区别是虚拟网卡还可以用来在GUEST OSHOST OS之间通讯,建立标准的TCP/IPNETBEUI桥梁。在虚拟机中网卡都是一种叫AMD PCNet AM79C970APCI 10/100网卡。这个卡很大众化,WIN9X/NT/2000/Linux都可以自己识别并驱动。如果你需要在虚拟机中运行DOSWIN31,由于这两个系统无法识别此网卡,你可以从AMD的网站下载此型号网卡的驱动程序来驱动。

  • 显卡:刚装好的虚拟WIN98LINUX/X-WINDOW,只能以标准VGA/16色方式运行。实际上,VMWare把显卡模拟成了一种叫“VMWARE SVGA (FIFO)”的型号,并自带了这种显卡的驱动程序,只要你装上它,就能让虚拟系统的分辨率和颜色数增加。具体安装方法后述。

  • 驱动器:软驱和光驱的虚拟比较简单,基本上就是和主系统共用,一张盘放进去,大家都能读。硬盘问题稍微复杂一些。虚拟机和我们标准的IDE支持一样,提供了四个IDE设备的接口,分别用IDE0-0IDE0-1IDE1-0IDE1-1表示。第一个数字表示PRIMARYSECONDARY IDE通道,第二个数字表示主/从设备。你可以在设置中为每个设备选择来源。

  • 对硬盘,IDE设备有VIRTUAL DISKEXISTING PARTITION两种方式。当使用第一种方式时,实际上是在真正的硬盘上建立一个大文件,用来作为虚拟机的整个硬盘。你在虚拟机中的任何操作(包括FDISKFORMATPMAGIC等)实际上都在这个大文件中进行,不会影响真正系统的数据。这种方法的好处是安全,完全和主系统隔离开,不用担心数据问题。坏处是虚拟机刚建好时就完全是台新机器,需要花时间分区,格式化,激活,装系统(还要找光盘或软盘来启动)。如果采用第二种方式(EXISTING PARTITION),那就是把真实的分区开放给虚拟机使用。好处是已有的系统可以直接运行,坏处是如果不小心可能会影响硬盘上的有用数据,另外一个问题就是已有的WIN98在虚拟机中运行和常规方式运行时,有不同的硬件集(常规方式运行时,用的是你真正的硬件,在VMWare中运行时,相当于用的全套VM牌硬件),会在启动的时候花很长的时间来找到新硬件。至于有朋友希望能两种方式混用,比如IDE0-0是隔离的虚拟盘,IDE0-1是真实硬盘的部分分区,这种情况我没试过,大家自己小心测试。

  • 串口和并口的模拟:这个不太顺手,感觉是空的串口就可以模拟给VM用,连了东西(UPSMODEM等)就会在虚拟机启动时告诉你COM口不可用。我没太注意这个问题,因为我虽然无法将COM1以及其上的MODEM模拟出来,但不要忘记GUEST OSHOST OS是可以连成一个标准TCP/IP网络的,所以可以用WIN2000连接共享解决上网问题。至于并口,我没有打印机,没试。不过,就算不能模拟给VM用,也可以通过网络打印的方式解决。

  • (四)VMWare的配置

    了解了以上这些VMWare的运行方式,再动手来配置VMWare虚拟机就很容易了。

    每新建一个虚拟机,就会要求你建立一个配置文件。这个配置文件,实际上就相当于新电脑的硬件配置,你可以在配置文件中决定虚拟机的硬盘是如何配置,内存多大,是否有并口串口,是否有网络,等。

    VMWare开始运行时会弹出一个窗口,只需选最上面的“Configuration Wizard”就可以一步一步按提示来决定你的虚拟机是什么样子的,准备运行哪种操作系统。以后可以通过Settings / Configuration Editor来修改。以下解释大家主要用到的项目:


     

    1IDE Drivers设置:

    可以看到,笔者的机器是为这台LINUX虚拟机专门开辟了一个2G的空间来作为它的整个硬盘。这个文件在VMWare的安装目录的VMS目录下,大小将随着实际数据的增加而增加,最大限制是我设定的2G

    IDE1-0是光驱。IDE0-1IDE1-1都没接设备,那么,如果以后觉得2G的空间不够用了,可以再建一个VIRTUAL DISK(注意下面的CREATE按纽)连在IDE0-1上,对虚拟机来说,就好象给一台电脑加了一块硬盘,并连在主IDE的从设备位置。

    如果对IDE设备选择Existing Disk Partition,也就是把真实硬盘数据开放给虚拟机,还可以按右下角的Partition(这幅图没有)按纽来决定哪个分区对虚拟机不可见,哪个只读,哪个完全访问。

    至于Plain Disk,是用来产生大虚拟盘的。用VIRTUAL DISK方式只能产生最大2G的硬盘。用PLAIN DISK,然后用BROWSE选一个文件名(这个文件现在可以不存在),然后用CREATE,输入大小就可以生成。和VIRTUAL DISK的区别是,VIRTUAL DISK随用随长,如果文件不装满,占不了预定那么多空间。而PLAIN DISK先就把映象生成好,把空间占完。


  • 2Floppy设置:

    这个相对简单,一般都和图上差不多,把真正的软驱提供给虚拟机使用。另一种FLOPPY方式是IMAGE,也就是用做好的一个映象文件(概念上有点象用WINIMAGEHDCOPY做的那种映象)来作为A盘内容,给虚拟机使用。在虚拟中安装VMWARE SVGA显卡就采用了这种方式(不过不用改此页的设置)。后面详述。


     

    3Ethernet Adapters网卡设置:(这一部分非常重要,如果HOSTGUEST不能通讯的话,VMWare的作用大大降低)

    我们这步设置的目的,除了让HOST OS可与GUEST OS通讯以外,还要使GUEST OS能够共享HOST OSINTERNET连接来上网。

    虚拟网卡常用有两种工作方式,一是Bridged,一是Host-only。两者的区别:Bridge方式可以让虚拟机和主机以及主机所在网络的其它机器通信,而Host-only只与主机通讯。我们分别介绍:

    1) Bridged方式

    这种方式的配置相当简单,前提是你要有一个真实网卡。在Configuration Editor中将Ethernet设为Bridged即可。安装好GUEST OS后,在GUEST OS内部将IP设成和你所在网络同一子网的IP。举个例子,HOST OS的真实网卡IP192.168.0.1,那么可以把GUEST OS设为同一子网的任何未用的IP,如192.168.0.200, 192.168.0.201等。如此,所有局域网同一子网的机器都可以直接和它们通信,GUEST OS之间(甚至两台物理主机上的GUEST OS之间)都可以通信,总之就跟真的机器一模一样。

    这里有一个可能出现的问题,就是当你的HUB没通电,或是机器后面的网线没插上的情况下,对某些PCI网卡WIN2000 (HOST OS)会自动在任务栏上显示一个网线断开的图标,并且将该网卡的所有协议层退出,这时你PING网卡的IP将无回应。这种情况是很常见的,比如家庭网络某个时刻只有一台机器打开了,不需要开HUB。这时如果启动虚拟机就无法和主机通信(Bridged的意思,就是在GUEST OSAMD PCI网卡和主机的真实网卡之前搭一座桥)。这个功能叫做网卡的媒介探测(Media Sense)”,我们需要关掉它:(请确认,仅在你断开网线后无法在HOST OSPING通真实网卡的IP才这样做)

    • 在注册表中前往此处:

    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
      新建一个DWORD值,名字叫DisableDHCPMediaSense,值为1

    • 最后,重新启动机器。

    这样,即使网线断开,WIN2000仍然会显示一个断开的图标,但网卡的协议仍然处于绑定状态,也就是说PING网卡的IP仍然能通。

    至此,Bridged方式就配置完了。

    2) Host-only方式

    Host-only网络配置比较麻烦的原因,是因为我们需要在HOST OS,也就是我们的WIN2000上,再做点手脚。打开主系统WIN2000的控制面板/添加硬件向导,选择增加硬件”“从列表中选择,并在类别中选网络设备Networking Adapters”,然后在设备清单左边找到VMWare Inc,这时出现如下的图:

    既然我们用Host-only,就选第一个。然后一路确定下去。最后在WIN2000的设备管理中应该看到多出来一个网卡,这就是专门与虚拟机通讯的网卡:

    然后再到HOST OS的网络设置中,进入这个虚拟网卡对应的连接(在WIN2000中可能叫Local Area Connection 2)的TCP/IP设置,将IP地址固定为192.168.0.1(这是因为WIN2000INTERNET共享必须主机是这个地址)即可。

    以后,在客户系统(或称虚拟机系统)中,将IP地址设成同一子网的地址,比如把虚拟WIN98设成192.168.0.200,并将网关和DNS设成192.168.0.1,以后,只要WIN2000的拨号连接打开了共享(要注意,如果你还有一个真实网卡的话,在设置连接共享的对话框中,下面将多出一个选项,指明要对哪个网卡所对应的连接进行共享。要选成VM对应的那个连接),子系统全部可以直接上网。

    实际上,在有真实网卡的机器上,Host-only方式不实用。用Bridged方式要方便灵活得多。


     

    4Memory设置:

    内存设置,就是说你从真正的内存中,分配给这台虚拟机器多少内存。这个比较简单,选个数字即可。


     

    5、其它设置:

    Display设置:设置虚拟机在HOST OS上运行时,视频方式是DIRECT DRAW还是GDI。一般来说,DIRECT DRAW性能好,但有可能在某些机器上出问题。如果不行再换成GDI

    GUEST OS设置:这是让你选择你的虚拟机运行何种系统。我想这个设置主要是为了等一会儿VM向你提供正确的显卡驱动和工具软件版本。

    至于Priority, Automation, Misc等,一般不用改默认设置。


     

    设置完成后,按SAVE按纽或从FILE中SAVE。

  • (五) VMWare——正式开机

    辛苦这么久,终于可以开机了……

    按下工具栏上的POWER ON,或从POWER菜单中选择。这时,就象你按下了一台电脑的开关,它开始进行自检,并提示可用F2进入BIOS设置(见(一)节的图四)。

    如果你的硬盘采用的是EXISTING DISK PARTITION,那么现在应该就能直接启动了。

    如果你采用的是VIRTUAL DISK,那么,这时你相当于在启动一台硬盘还没分区格式化的机器。当提示找不到系统后,按工具栏上的RESET,要么插入一张可启动软盘,象做一台新机器那样一切从头来;要么,在自检画面时按F2进入BIOS设置,设为光驱启动,比如,直接用光盘安装REDHAT LINUX 6.2:

    当你成功的安装好WIN98或LINUX时,相当于在标准VGA上运行,如果想让WIN98或X-WINDOW上更高的分辨率,还要安装VMWARE专门提供的显卡驱动。


     

    1、在WIN98中

    选择VMWARE菜单SETTING中的VMWare Tools Install,然后进入虚拟98的我的电脑,再进入A盘,就能看到里面有东西:

    运行根目录下的那个VMWARETOOLS安装程序,或是用WIN98下改显卡的方法指出WIN9X目录下的INF文件,安装VMWARE SVGA显卡。可以看出这张盘里面还有WINNT/2000子系统的驱动。安装完成后,应该在虚拟98中看到如下的显示属性:

    这张工具盘还将同时安装一个小工具,提供一些和VMWARE交互的功能,比如,鼠标移到屏幕边缘就自动回到主系统,不用按CTRL+ALT+ESC。


     

    2、在LINUX中

    用同样的办法使A盘有内容,然后用MOUNT命令装配A盘,并用其中的./install.pl安装XFREE86驱动程序,提高X-WIN分辨率和色彩数。另外可以把目录下的vmtoolbox程序COPY到LINUX分区中,并在X-WIN开始时自动运行。作用和上面一样。


     

    装完驱动程序后,用SETTINGS菜单的CANCEL VMWARE INSTALL来恢复A盘正常功能。

  • (六) VMWare常见问题 (FAQ)

    1、安装VMWare虚拟显卡驱动

    如果你在安装VMWARE虚拟显卡驱动的时候遇到问题,请参考万千OPEN GL网友的安装经验:

    “……

    说说我的安装经验:

    1. 在Guest OS上成功安装Windows 98后,重新启动后,你应该看到的是640*480*16色。

    2. 不要对系统作任何改动。开始安装VMware Tools.

    3. 安装完毕,他会自动为你打开显示属性窗口,你需要点那个“设置”选项卡的“高级”按钮,如果打开的窗口中有那个“监视器”选项卡,(可能是无法识别的显示器)没关系,不要理他,这跟是否能显示16位色关系好像不大(呵呵。只要你的显示器支持就行,跟你电脑上实际显卡的没关系)。

    4. 选择“显示适配器”选项卡。点“更改”按钮。接着点“下一步”。

    5. 在这个窗口里有两种选择,选择下面的那个“显示指定……”然后点下一步。

    6. 然后选择从软盘安装。指定A:\win9x。

    7. 重新启动,再看看。呵呵!一切就OK了。

    注意:第二步很重要,千万不要有任何改动,否则,好像改起来很麻烦的。

    ……”


     

    2、键盘鼠标在主/子系统之间切换

    默认情况下,当以下操作发生时,输入自动进入子系统,这时主系统中看不到鼠标:

    • 在子系统窗口中点鼠标

    • 当焦点在子系统窗口上时,按键盘上的任何键

    • 按工具栏的GRAB INPUT或相应热键CTRL+G

    这时,你的所有鼠标键盘操作都只对子系统起作用。CTRL+ALT+DEL有点特别,它将被主/子系统同时捕获。如果只想对子系统按热启动组合键,请把DEL换成INS,即CTRL+ALT+INS。

    如果要把输入回到主系统:

    • CTRL+ALT+ESC

    • 当在WINDOWS中或LINUX的X-WINDOW中安装运行了随显卡驱动盘带的工具程序,可设置为鼠标移到GUEST OS屏幕边缘的时候,自动回到HOST OS


     

    3、Bridged网卡方式不能工作

    1) 有可能在虚拟机开机时出现“VMNET0不能工作”的错误。这时,请你在HOST OS的我的电脑上点右键,选Manage,然后转到Services,查找一个叫VMNet Bridge (for VMnet0)的服务,并确认它已经启动。

    2) Bridged方式和Host-only只能选一种。如果用Bridged方式,就不能安装VMnet1虚拟网卡。否则VMnet Bridge服务无法启动。对无网卡的机器,只能装Host-only,对有网卡的机器,建议装Bridged。

    3) 另一个可能的情况是某些真实网卡有Media Sense功能(多数是PCI网卡),而这时刚好HOST OS是孤立的,没有接网线或是HUB没通电,WIN2000就会自动退出网卡的协议层。解决方法:关掉Media Sense:

    • 在注册表中前往此处:

    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
      新建一个DWORD值,名字叫DisableDHCPMediaSense,值为1。

    • 最后,重新启动机器。


     

    4、速度

    安装时速度很慢,不管是WIN98还是LINUX。在我的PIII-550E/512M上,虚拟机装98花了70分钟,装LINUX花了90分钟。不过装好后,运行速度还比较令人满意,只是有很轻微迟滞。感觉差不多是PENTIUM 166/200的水平。不过不要指望在上面玩那些需要高性能的游戏。如果用来开发,在GUEST OS的LINUX上运行数据库和HTTPD等服务,然后从HOST上访问,感觉非常流畅。


     

    5、电源管理

    VMWare可以从虚拟机的系统级来对任何虚拟系统进行“冬眠”,包括NT和LINUX。这个功能很方便。而且恢复的时候,不象WIN2000要恢复完才能动,而是一边恢复一边就能用了。具体操作:按工具栏上的SUSPEND。恢复用RESUME。


     

    6、其它问题

    如果你遇到其它问题,比如,虚拟机启动时提示“找不到操作系统”一类,请你有这样一个思路:这是一台真正的机器。刚买来的新机器有什么问题,它就可能有什么问题。

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载