(带来几款虚拟机软件,有收费的 (VMWare) 也有免费开源的,大家可以根据各自的经济实力和喜好来自行挑选。
上星期的博文《如何防止黑客入侵[7]:Web相关的防范 (下)》提到了利用虚拟机来加固系统安全,防范网络入侵。其实捏,操作系统虚拟机除了可以用来防范黑客,还可以干很多其它的事情。只可惜很多人不太了解虚拟机,未能享受到它带来的便利。
考虑到很多网友不是 IT 行业的技术人员,不懂得折腾操作虚拟机。因此,俺着手写一个系列博文,专门介绍这方面的知识和经验。
为了方便阅读,把本系列帖子的目录整理如下(需翻墙):
1. 基本概念和功能简介
2. 各种应用场景
3. VMware的安装和使用
4. (未完待续)
==========
扫盲操作系统虚拟机[1]:基本概念和功能简介
举一个通俗的例子。
想必70后80后的网友都玩过任天堂的红白机(接在电视上的那种)。如今市面上早已没有红白机的踪影。万一你想找一个红白机的游戏怀旧一下,怎么办 捏?这时候红白机的模拟器软件就可以帮上忙啦。它可以在你的电脑上虚拟出一个红白机的运行环境,然后再去找几个经典游戏的 ROM 放进去,就可以玩了。此处提到的红白机模拟器,其实就是一个虚拟机软件。
想对”虚拟机”的概念有更深入的了解,可以看维基百科(洋文在”这里“,中文在”这里“)。
硬件虚拟机有时候也称为”系统虚拟机”(这是本文要讲的重点);
软件虚拟机有时候也称为”进程虚拟机”或者”应用程序虚拟机”(Java程序员每天都接触到的JVM就属于软件虚拟机)。
为了打字省力,本文后续部分提到的”虚拟机”,均指”操作系统虚拟机”。
Host OS(真实系统)
由于虚拟机也是软件,也需要安装在操作系统之上。用来安装虚拟机软件的操作系统,称之为”Host OS”。直译为中文就是”宿主系统”。不过俺更喜欢称之为”真实系统”。
顺便说一下,少数虚拟机软件自带操作系统(也就是自带”Host OS”),可以直接安装在一台裸机上。不过这种虚拟机主要用于企业用户,大伙儿平时用不到。
Guest OS(虚拟系统)
运行在虚拟机软件内部的操作系统,称为”Guest OS”。直译为中文就是”访客系统”。不过俺更喜欢称之为”虚拟系统”。
示意图
为了形象一点,俺从网上剽窃了一张示意图。从下图可以直观地看出”真实系统”与”虚拟系统”的关系。
在没有虚拟机的年代,电脑一次只能运行一个操作系统。有了虚拟机之后,一台电脑可以同时运行 N 个不同的操作系统。N 的大小取决于电脑的CPU 是否足够强劲、物理内存是否够大、硬盘是否够大。
后面俺会提到:同时运行多个操作系统有啥好处。
首先,快照是针对某个虚拟系统而言的。当你为某个虚拟系统创建快照,则虚拟机软件会把这个虚拟系统的所有信息(包括内存状态、硬盘状态、等等)都保存起来。当你需要的时候,可以再切换到这个快照。一旦切换到某个快照,虚拟系统就回到当初创建快照的那个状态。
大多数虚拟机软件都支持树状结构的快照,也就是说,你可以在某个快照之上再创建快照。这就好比大伙儿都熟悉的文件目录结构——可以在某个目录内再创建目录,最终形成一个树形结构。
为了给大伙儿一个直观的印象,放一张截图。
从这张截图可以看出,这是一个装了 Windows 2000 的虚拟系统,图中名为”baseinstall”的快照,是一个干净的Win2000系统。然后基于这个快照,再创建4个快照,分别针对Win2000的SP1、SP2、SP3、SP4。
CPU是硬件系统的心脏。对虚拟机来说,最重要的功能就是虚拟 CPU 了。对 CPU 的虚拟包括两种:
1. 虚拟同种类型的CPU
2. 虚拟异种类型的CPU
第一种是比较常见的——大部分虚拟机软件都只能模拟同种类型的 CPU。举个例子:前面提到的VMware只能安装在 x86 芯片的电脑上,而且只能虚拟出 x86 的运行环境。
第二种类型的虚拟机就比较牛B了。比如有些虚拟软件虽然安装在 x86 的硬件系统上,但居然可以模拟各式各样的其它芯片(比如:ARM、SPARC、MIPS、PowerPC、等等)。后面俺会介绍这类虚拟机在软件开发中的用途。
对用户来说,你只需关心:要分配给虚拟系统多大的内存。具体要分配多大的内存,取决于两个因素:
1. 被虚拟的操作系统是什么类型
2. 这个虚拟系统用来干嘛
举几个例子:
假如要安装一个虚拟的 DOS 来玩一些古老的 DOS 游戏,那只需要为它分配几个 MB 的内存;反之,如果要安装一个虚拟的 Linux 用来跑大型的数据库服务,那可能就需要分配几个 GB 的内存。
当然,所有的 Guest OS 使用的内存总和,不能超过 Host OS 的物理内存大小。
常见的虚拟机软件可以把一个大文件虚拟成一个硬盘,该分区上的所有数据(包括文件、目录、等)、其实都存储在这个大文件内部。
因为文件是很方便COPY的,所以用一个大文件来虚拟一个硬盘会带来如下的很多好处。
1. 备份
可以把安装好的虚拟系统备份起来。万一你的电脑坏了,换了新电脑,直接用备份的虚拟机拷贝回去,省得再重装系统。
2. 共享
比如公司里某个测试人员搭建了一个虚拟系统用来进行某某软件的测试。那么,其他测试人员只需要把这个虚拟系统的硬盘文件COPY过去,不需要再重新搭建一次。
以 VMware 为例,它支持如下三种类型的虚拟网卡:
1. Bridge 模式
在这种模式下,虚拟系统的网卡跟你物理系统的网卡几乎一样。
外部网络对虚拟系统的网卡是可见的;虚拟系统的网卡对外部网络也是可见的。
2. NAT 模式
外部网络对虚拟系统的网卡是可见的;虚拟系统的网卡对外部网络是不可见的。
换句话说,NAT 模式可以起到单向防火墙的效果。这种模式用得最多。
3. Host-Only 模式
外部网络对虚拟系统的网卡是不可见的;虚拟系统的网卡对外部网络也是不可见的。
这种模式相当于双向防火墙的效果。相对而言,这种模式用得较少。当你想搭建一个跟外界隔离的虚拟内部网络,可以使用这种模式。
后面会介绍这几种模式的应用场景。
1. 把虚拟光驱直接映射到你电脑的物理光驱
2. 把虚拟光驱映射到某个光盘镜像(比如 ISO 文件)
第二种模式用得比较多。如果你习惯了这种模式,基本上就不再需要使用传统的光盘了(省去了买盘刻盘的麻烦)。
比方说要在虚拟系统中安装 Office,你只需要把虚拟系统的光驱指向 Office 的光盘镜像文件。然后,你在虚拟系统里面就可以看到这张光盘了。
from http://program-think.blogspot.com/2012/10/system-vm-1.html
---------------------------------------------------------------------------------
今天来介绍一下,操作系统虚拟机可以用于哪些场合。为了打字省力,本文后续部分用”虚拟机”指代”操作系统虚拟机”。
虚拟机最主要的一个功能就是:可以在一台电脑上运行不同的操作系统。不同的操作系统,差异是很大滴。操作系统的差异性导致了很多专有软件——有些软件只有 Windows 才有,有些只有 Mac OS 才有,还有些软件只有 Linux 才有。
举个例子:
很多苹果的粉丝发现苹果系统上翻墙软件奇缺(大部分翻墙软件,比如赛风、自.由.门、无.界,都是 Windows 软件)。
在没有虚拟机的时代,要想在一台电脑上玩不同的系统,只能通过”多引导”。但是”多引导”一次只能用一个系统。有了虚拟机之后,你就可以”同时”玩不同系统下的软件。
比如俺,每次换电脑,都非常省事儿。因为俺所有的电脑操作(包括翻墙上网、公司事务、写程序、写博客、等等)全都是在虚拟机内完成;俺平时用的软件 (除了虚拟机软件本身),都装在虚拟系统内。所以捏,每次升级电脑,俺只需要安装 Host OS(宿主系统)和虚拟机软件。然后再把一大堆虚拟机镜像 copy 过去,就 OK 了。
如今笔记本电脑大行其道,但也带来一个问题:容易弄丢或者容易摔坏。一旦弄丢或摔坏,你免不了又要装系统、装软件。如果你平时就使用虚拟机工作,并且记得把虚拟机镜像备份出来(比如拷贝到另外一个移动硬盘)。一旦失窃或摔坏,恢复起来就很省力。
有了这么牛叉的快照功能,可以帮你从误操作的灾难中恢复出来。
举例说明:
每当装好虚拟系统及常用的几款软件之后,建议你先做一个快照(这个快照对应的是干净的、正常的系统)。以后你在使用的过程中,万一发生了误操作(比如 误删了系统文件),直接回退到这个干净的快照,系统自然就恢复了;如果系统莫名其妙坏了、无法启动了,也只需”回退到干净的快照”,即可。
但是像俺这样,主要工作都在虚拟机内完成的人,就没必要”清理系统垃圾”。俺使用的虚拟机,每隔几天就回退到前一个干净的快照。一旦回退快照,系统垃圾自然就没了。
假如把虚拟机回退到某一个快照(以下称”快照A”),那么从”快照A”之后的所有文件系统的变化(包括新建的文件、修改的文件、删除的文件)都会被复原。
如果你像俺这样,定期回退到前一个干净的快照,有一点务必提醒大家:需要长期保留的文件(尤其是一些个人数据),不要放到虚拟机里。
举个例子:
假如你在虚拟机内用 MSN/Skype 聊天,它会在本地保存聊天记录。一旦你把虚拟机的快照回退,刚刚保存的聊天记录就没了。
解决的办法:
很多虚拟机软件都支持 Host OS 到 Guest OS 的目录映射——把真实系统的某个目录映射到虚拟系统中。也就是说,你在虚拟机中看到的这个目录,其实是存在于外部的真实系统。
通过这个功能,你可以把需要长期保存的文件,存放到这个”映射目录”中。就不会受”快照回退”的影响。俺在后续博文会介绍某几个虚拟机软件的使用教程,到时候会提到如何建立这种目录映射。
咋办捏?
俺通常会留一个干净的虚拟机用来进行”软件试用”。这个虚拟机事先做了一个干净的快照。在这个虚拟机里面,想装啥软件都可以(流氓软件、带毒的软件,都无所谓)。等到把这个软件玩腻了,就回退到事先做好的那个干净的快照。一旦回退快照,再流氓的软件都会从眼前消失。
在安全行业中,有时候会用虚拟机来搭建”蜜罐”。”蜜罐”有很多种用途,有些比较注重安全的企业或机构,可以通过蜜罐进行黑客入侵的早期预警。有些杀毒软件厂商则利用蜜罐用来收集病毒样本。
更多的介绍可以看维基百科(在”这里“)
“比如臭名昭著的 QQ 会偷偷扫描你的硬盘,窥探你的隐私。由于 QQ 的用户群太大了,你不用它还不行(像俺这种从来不用 QQ 的天朝网民,估计不到1%)。
咋办捏?
办法之一是把 QQ 安装到虚拟机系统,然后把你个人的隐私(比如裸照)放到外部的真实系统。这样一来,即使 QQ 偷窥,也看不到你的隐私。
这招不光能用来对付”疼逊”,也可以用来对付其它流氓软件(比如”逊雷”)。
举个例子:
假如你上黄色网站,多半不希望让家人知道。不幸的是,你的家人因为用了你的浏览器,可能无意中会看到你的浏览历史……一旦发生这种不幸,轻则名誉受损;重则引发家庭纠纷。
某些网友会建议说:每次上网后,清理一下浏览器历史记录;还有的同学会建议说:使用浏览器的隐私模式。
但是俺觉得,这些招数都不够彻底。以”隐私模式”为例。虽然”隐私模式”不会在浏览器中留下上网的历史痕迹。但是!如果你下载某个黄色视频或黄色图片在本地观看,那”隐私模式”可就帮不了你喽。由此可见,要想彻底避免隐私外泄,还是得用虚拟机。具体做法如下:
装一个虚拟机专门用来上”限制级的网站”。一旦下载了限制级的内容,也只保存在这个虚拟机内。通常来说,你的家人多半不熟悉 IT 技术,可能连”虚拟机”都没听说。所以,你的浏览历史,以及你保存下来的限制级内容,自然不易被发现 :)
举个例子:
你想通过 QQ 群发一些”不和谐的言论”。但是大伙儿应该都知道,”疼逊”是朝廷的走狗,他会帮朝廷追查”反动言论的始作俑者”。因为 QQ 服务器会记录每一个 QQ 用户的 IP 地址。一旦发现某个用户发送煽动性言论,官府的捕头直接根据 IP 地址就可以定位到你的位置。
那该咋办捏?
某些天真的网友会想,如果为 QQ 设置代理,让 QQ 客户端通过代理联网;那么 QQ 服务器看到的就是代理的 IP 而不是本人的 IP。
但是捏,这种做法不一定保险。即使你给 QQ 客户端设置代理,说不定 QQ 还是会偷偷地、(不经过代理)直接连接 QQ 服务器。如果是这样的话,那你的真实 IP 还是会暴露。
正宗的做法如下:
装2个虚拟机系统(简称 A 系统 和 B 系统)。A 系统装翻墙软件,配置双网卡,分别用 NAT 模式和 Host-Only 模式。B 系统装 QQ,单网卡,配置为 Host-Only 模式。然后配置 QQ 的代理,让 QQ 的代理指向 A 系统的翻墙软件。由于 B 系统的网卡是 Host-Only 模式,QQ 客户端即使想偷偷地直连服务器,也办不到。所以,QQ 只能老老实实地通过 A 系统中转。由于 A 系统的中转是通过翻墙代理,最终 QQ 服务器看到的是翻墙代理的 IP,看不到你本人的真实 IP。
顺便说一下,如果你对安全性的要求比较高,可以在 A 系统中使用多重代理,具体的操作请看俺之前的博文。用了多重代理,朝廷几乎没可能从网络层面追踪你的真实 IP。
光这么说,可能比较抽象,某些网友未必能搞懂。有空的话,俺会在《如何隐藏你的踪迹,避免跨省追捕》系列中,再补上一篇,详细介绍一下这个”双虚拟机”的招数。
咋办捏?
你可以在 Windows 系统中安装一个 Linux 的虚拟机。当写程序或调试程序时,切换到这个虚拟机中,其它时间照常用 Windows。
1. 搭建多样化的测试环境
假如你的工作是测试某个软件的 Web 界面。因为要考虑兼容性,你需要分别用不同版本的 IE 来测试它。但是不同版本的 IE 又不能装在同一个 Windows 系统里。
咋整捏?
解决之道就是:装若干个 Windows 虚拟机。有的虚拟机装 IE6,有的装IE8,有的装IE9……以此类推。这样一来,你就可以在一台电脑上,测试多种版本的 IE 浏览器。
2. 确保测试环境的一致性
在没有虚拟机的时代,测试人员往往是在自己的操作系统中进行测试。由于每个测试人员的操作系统可能会有差异(比如:安装的软件不同、升级的补丁不同、等等),这种环境差异会对测试结果造成干扰。比如同一个 bug 张三测试出来,而李四却无法复现。
有了虚拟机之后,可以让同一个测试组的人员使用同一个虚拟机镜像做测试环境。如此一来,可以绝对保证测试环境的一致性。
3. 确保测试环境的纯洁性
在没有虚拟机的时代,测试人员每次拿到新版本的软件之后,需要先卸载旧版本,然后再安装新版本。但是捏,一旦旧版本没卸载干净(比如在系统目录还遗留了旧的动态库),可能会引发很多诡异的问题。
有了虚拟机之后,测试人员可以先做一个干净的虚拟机快照。测试人员每拿到新版本,先把测试用的虚拟系统回退到这个干净的快照,然后再安装。如此一来,可以保证待测的软件总是安装在一个干净的环境中,避免干扰因素。
本系列的下一篇,介绍一下 VMware 的安装和使用。
回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2012/11/system-vm-2.html
另外,个人认为虚拟机还是要安装HIPS类软件,至少是能防止和控制软件截屏、键盘访问、磁盘底层访问的安全软件, 不然真实主机上的隐私还是有可能被虚拟机里的流氓软件截获 …
用虚拟机隐藏敏感数据是一个办法,不过还是不如加密系统更安全。
虚拟机隐藏IP的部分很有用 .
----------------------------------------
扫盲操作系统虚拟机[3]:虚拟机软件的选择
最近10年来,虚拟化技术发展很快,市面上也冒出了一大堆(至少几十种)的虚拟机软件。所以,在介绍了虚拟机的应用场景之后,俺再来介绍一下”如何选择虚拟机软件”。
如今的虚拟机软件,名气比较大的有如下几款(按字母序排列):
KVM、Parallels、VirtualBox、Virtual PC 系列、VMware 系列、Xen
对操作系统的支持包括两个层面:第一个层面是支持哪些 Host OS,第二个层面是支持哪些 Guest OS。关于 Host OS 和 Guest OS 的概念,本系列第一篇已经介绍过,这里就不再啰嗦了。
当今的桌面操作系统,最流行的分别是 Windows、Mac OS X、Linux。考虑到俺博客的读者群,这三种系统的用户都有。所以,本系列推荐的虚拟机最好能在 Host OS 层面和 Guest OS 层面同时支持这三款操作系统。根据这个标准,就排除掉了 KVM、Xen、Virtual PC——因为 KVM 和 Xen 不支持 Windows 作为 Host OS;而 Virtual PC 不支持 Linux 做 Host OS。
所谓的 VMware 虚拟机软件,其实是一个很大的家族,成员比较复杂。在这个家族中,面向桌面用户的产品有 VMware Workstation、VMware Fusion、VMware Player。
其中的 VMware Workstation 面向 Windows/Linux 用户,VMware Fusion 面向 Mac OS X 用户。至于 VMware Player 要特别说一下:这款软件虽然免费,但功能实在太弱了(连快照都不支持)。不支持”快照”的虚拟机软件,简直形同废物。所以俺就不考虑 VMware Player 了。本文后续部分提到的 VMware,均指 VMware Workstation 和 VMware Fusion。
在这三个候选者中,VirtualBox 是仅有的开源软件(而且免费)。如果用它的话,你既不用花钱,也不用盗版。别看是免费,功能完全不逊色,具体细节后面会介绍。
Parallels 包括两款软件:Parallels Desktop 面向 Mac OS X 用户;Parallels Workstation 面向 Windows/Linux 用户。
这玩意儿的知名度可能不如前两个,但在苹果社区的口碑还是不错滴。据说 Parallels 公司把研发的重点放在 Parallels Desktop,导致 Parallels Desktop在版本更新、功能、稳定性方面,都比 Parallels Workstation 要好。
俺个人觉得,用 Mac OS X 的同学可以考虑试试 Parallels Desktop,至于用 Windows/Linux 的同学,就甭考虑 Parallels Workstation 了。
点评:三者持平
这三款软件同时都支持上述三种方式。提醒一下:VirtualBox 的拖放功能迟至 4.2.0 版本才加入,可能还不太完善。
除了上述三种方式,VMware 还支持把 Guest OS 的硬盘文件映射到 Host OS的某个盘符。通过此功能,即使 Guest OS 没有运行,你也可以方便地访问 Guest OS 里面的文件。
点评:VMware 占优
目前 x86 芯片的 VT 技术主要是 AMD-V 和 Intel-VT,这三款软件都支持。
点评:三者持平
Parallels 除了支持自家的 HDD 格式,还支持 VMware 的 VMDK 格式。
VirtualBox 除了支持自家的 VDI 格式,还支持如下几种:
VMDK(VMware 虚拟机的格式)
VHD, VHDX(VirtualPC 虚拟机的格式)
HDD(Parallels 虚拟机的格式)
QCOW, QED(QEMU 虚拟机的格式)
点评:VirtualBox 占优
备注:因为 VirtualBox 支持的格式多,其它虚拟机软件制作的 VM 要迁移到 VirtualBox 会比较容易。
这三款软件都支持光盘镜像映射。
VMware 支持 ISO 格式
Parallels 支持ISO, DMG, CUE, CCD 格式
VirtualBox 支持 ISO, DMG, CDR 格式
点评:ISO 格式属于光盘镜像的事实标准,其它格式用的少。所以三者持平
这三款软件都支持 USB,差别在于 USB 的协议。VirtualBox 目前的 4.2.x 版本仅支持到 USB 2.0;而 Parallels Desktop 从今年的 8 版本刚刚开始支持 USB 3.0;VMware 也是在今年发布的 9.0 版本刚刚支持 USB 3.0
点评:VirtualBox 落后
点评:VirtualBox 占优,VMware 落后
这三款软件同时都支持上述三种模式。
1. 窗口模式
窗口模式是最基本的显示模式。在这种模式下,整个 Guest OS 桌面显示为 Host OS 桌面上的一个窗口。所有 Guest OS 软件的界面都在这个窗口中。
2. 全屏模式
全屏模式就是让 Guest OS 独占整个显示器。在全屏模式下,你看不到 Host OS 的桌面。
3. 无缝模式
所谓 “无缝模式” 就是:让 Guest OS 里面的软件界面从虚拟机的窗口中”跑”出来,直接融合在 Host OS 的桌面里。这种效果是很酷滴!
这三款软件对 “无缝模式” 的叫法不同——VMware 称之为 “Unity”,Parallels 称之为 “Coherence”,VirtualBox 称之为 “Seamless”。
点评:三者持平
点评:三者持平
VirtualBox 只有”截屏”,没有”录像”;Parallels 貌似也没录像功能。
点评:VMware 占优
VMware 支持基于 VNC 的远程操作;VirtualBox 支持基于 RDP(远程桌面协议)的远程操作;Parallels 貌似不支持远程操作。
点评:考虑到 RDP 比 VNC 普及,所以 VirtualBox 占优
要测性能,必须在同一台电脑里面,使用相同的 Host OS 环境进行测试,才有可比性。所以俺根据三种主流的桌面操作系统,分别介绍。
免责声明:下面列举的性能测评是网上找来的,未必全面,仅供参考。
该测评针对三种虚拟机软件:VMware Workstation 9、VirtualBox 4.2.0、Hyper-V(这里的 Hyper-V 用的是 Windows 2012内置的)
测试结果是:Hyper-V 明显好于 VMware Workstation 9,VMware Workstation 9 好于 VirtualBox 4.2.0
考虑到 Hyper-V 是 Windows Server 2012 内置的,而且测试方法是 Windows 虚拟 Windows,所以 Hyper-V 的结果未必能说明问题。
不过捏,VMware Workstation 9 比 VirtualBox 4.2.0 快,倒是可以说明一定的问题。
从发布时间看(Sep 17 2012)算是比较新鲜的。从测评的综合结果看,Parallels Desktop > VMware Fusion 5 > VirtualBox 4。而且 VirtualBox 4 落后较多。
“这里” 还有一篇半年前(May 01 2012)的测评,对比了4款虚拟机(Hyper-V, ESXi, KVM, VirtualBox),其中的 ESXi 属于 VMware 家族。从这篇测评的结论看,VirtualBox 比 KVM 略好,不如 Hyper-V 和 ESXi。
性能上,VirtualBox 在三种系统都不如 VMware;苹果系统上,Parallels 明显占优。虽然 VirtualBox 性能不够好,但它是开源软件,无需花银子。
俺的建议是:
Windows 的用户,在 VMware Workstation 和 VirtualBox 二选一(Parallels Workstation 用的人太少,明显不给力,不予考虑)。
Mac OS X 的用户,在 Parallels Desktop 和 VirtualBox 二选一(苹果系统的 Parallels Desktop 比 VMware Fusion 好,价格还便宜,于是排除掉 VMware Fusion)。
Linux 的用户,在 VMware Workstation 和 VirtualBox 二选一(如果你是铁杆 Linux 用户,这辈子铁定不用其它 OS 做宿主,或许也可以考虑 KVM 或 Xen)。
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2012/11/system-vm-3.html
==========
扫盲操作系统虚拟机[4]:虚拟系统的安装(多图)
不少网友在博客留言中表达了对虚拟机系列的关注,所以今天再抽空发一篇。
在上一篇帖子,俺已经介绍了”如何适合你的虚拟机软件”。今天来扫盲一下如何在虚拟机软件中安装虚拟操作系统。因为本系列是扫盲,本文尽量写得傻瓜化一些,以迎合不懂技术的网友。
VirtualBox
因为是开源而且免费的,所以 VirtualBox 很容易获取。
用鼠标猛击”这里“,打开 VirtualBox 官网的下载页面。该页面上提供了针对 Windows、Mac OS X、Linux 的安装包,根据你的操作系统择一下载即可。下载完安装包,再顺便把扩展包也下了(扩展包不区分操作系统的)。
顺便表扬一下 VirtualBox 的短小精悍。目前最新的 4.2.4 版本也才90兆。
VMware
VMware 因为是商业软件,下载稍微麻烦点。
用鼠标猛击”这里“,打开 VMware 官网的下载页面。下载的时候,需要你输入一个 VMware 的帐号和口令。所以,你还得用自己的邮箱去注册一个 VMware 的帐号(放心,是免费滴)。注册了帐号之后,你应该就可以顺利下载到安装包了。
拿到安装包还没完——这个安装包只能让你试用若干天。为了能长期用下去,你要么上网 Google 一下注册码,要么花银子买正版。
俺个人建议用光盘镜像文件,比较方便。一来传统的光盘容易坏(比如不小心划伤);二来传统光盘不论是自己刻录还是买盗版盘,都要花银子滴。反之,光盘镜像文件可以直接从网上下载,也可以找朋友 COPY,省钱又省力 :)
经常有人问如何搞到正宗的 Windows 7 光盘镜像。想知道的网友,请看《如何防止黑客入侵[7]:Web相关的防范》一文的留言(第12楼),链接在”这里“。
顺便提醒一下:VMware Workstation 从 6.0 版本开始就变得很臃肿——软件装好之后至少占掉你 1GB 的硬盘空间。
选 “Workspace” 标签页,设置今后你要创建的 Guest OS 的默认存放位置(如下图)。
如果你打算长期使用虚拟机,俺个人的建议是:单独开辟一个大分区,专门用来存放你创建的 Guest OS。
选 “Hot Keys” 标签页,设置热键。
简单说一下热键的用途。
当某个 Guest OS 进入全屏模式,或者某个 Guest OS 捕获了鼠标键盘的输入,你可以通过按这个热键退回到 Host OS
如果你觉得默认的热键用起来还算顺手,就不用再设置了。
选 “Memory” 标签页,设置内存参数。
首先,设置 VMware 预留的内存数量。如果你需要同时运行多个 Guest OS,就需要预留多一些内存。
其次,设置内存使用方式。有三个选项,俺简单解释一下:
选项1:所有的 Guest OS 都加载到物理内存
选项2和选项3:允许 Guest OS 使用 Host OS 的虚拟内存
如果你的物理内存足够大,建议用选项1(这样性能足够好)
在左边选 “常规” 标签页,设置今后你要创建的 Guest OS 的默认存放目录(如下图)
如果你打算长期使用虚拟机,俺个人的建议是:单独开辟一个大分区,专门用来存放你创建的 Guest OS。
在左边选 “热键” 标签页,设置 VirtualBox 的热键。
简单说一下热键的用途。
当某个 Guest OS 进入全屏模式,或者某个 Guest OS 捕获了鼠标键盘的输入,你可以通过按这个热键退回到 Host OS
如果你觉得默认的热键用起来还算顺手,就不用再设置了。
在左边选 “扩展” 标签页,添加扩展包。
要添加的扩展包就是刚才下载安装包的时候,一起下载的那个扩展包。
向导第1步
作为新手/菜鸟,你显然要用默认的 Typical 向导。
向导第2步
选第三个选项,意思就是说:先创建一个空白的 Guest OS,最后再自己装系统。
向导第3步
选操作系统类型和版本
向导第4步
填写 Guest OS 的名称和存储目录
向导第5步
这个向导默认只会帮你加一块虚拟磁盘。这一步是让你配置虚拟磁盘的大小。
如果你需要多块磁盘,待会儿自己到 Guest OS 的设置选项中配置。
这步完成后,向导就结束了,一个空白的 Guest OS 也创建好了。
Guest OS 创建好之后,调出它的设置对话框。
在 “Hardware” 标签页下,选择 “Memory”,调整 Guest OS 的内存大小。如果你需要在这个 Guest OS 里面运行一些重量级的应用软件,就需要多配点内存给它。否则的话,直接用默认值即可。
在 “Hardware” 标签页下,选择 “Processors”,配置 CPU 的数量和每个 CPU 的核心数量。
在 “Hardware” 标签页下,选择 “CD/DVD”,然后在右边选(你要安装系统的那张安装光盘的)镜像文件。
上述步骤都配置完毕,点 “Power On” 按钮,Guest OS 就开机了。然后就是操作系统的安装过程(装系统就不用俺来教了吧?)
向导第1步
选操作系统类型和版本
向导第2步
设置 Guest OS 的内存。
如果你需要在这个 Guest OS 里面运行一些重量级的应用软件,就需要多配点内存给它。否则的话,直接用默认值即可。
向导第3步
创建一块虚拟硬盘给 Guest OS 用
向导第4步
选择虚拟硬盘的类型。
如果你不打算迁移到其它虚拟机软件,直接用 VirtualBox 自家的 VDI 格式。
如果今后有打算把创建出来的 Guest OS 迁移到 VMware,就可以选 VMDK 格式。
向导第5步
选虚拟硬盘的分配方式。
除非你电脑的硬盘空间非常非常充裕,否则的话不要用 “固定大小”。通常建议用 “动态分配” 方式。
向导第6步
这个向导默认只会帮你加一块虚拟磁盘。这一步是让你配置虚拟磁盘的大小。
如果你需要多块磁盘,待会儿自己到 Guest OS 的设置选项中配置。
这步完成后,向导就结束了,一个空白的 Guest OS 也创建好了。
Guest OS 创建好之后,调出它的设置对话框。
在对话框左边 “系统”,配置 CPU 的数量。
VirtualBox 还有一个特色功能,就是设定 Guest OS 使用的 CPU 上限。这个功能可以防止某个 Guest OS 把 CPU 耗尽,导致你的 Host OS 失去响应(假死)。
在对话框左边 “存储”,然后在右边选(你要安装系统的那张安装光盘的)镜像文件。
上述步骤都配置完毕,点工具条上的 “启动” 按钮,Guest OS 就开机了。然后就是操作系统的安装过程(装系统就不用俺来教了吧?)
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2012/12/system-vm-4.html
-------------------------------------------------------------------
今天扫盲一下虚拟系统的配置。跟上一篇类似,本文继续拿 VMware Workstation(后面简称 VMware)和 VirtualBox 来说事儿。
首先确保你已经有一个安装完成的虚拟系统(Guest OS),然后进行如下的准备工作。
先启动虚拟系统并以管理员用户登录到虚拟系统中;然后,在 VMware 软件的主菜单选 "VM" 再选 "Install VMware Tools"。接下来,VMware 就会在虚拟系统中启动 VMware Tools 的安装程序(你会看到一个安装界面自己跳出来)。你只需要一路点 "Next" 就可完成安装。
提醒一下:VMware Tools 是对应到每一个虚拟系统的。假设你有多个虚拟系统,那每一个虚拟系统都需要装一次。如果不安装 "VMware Tools",可能会影响后续介绍的若干功能。
在上一篇帖子已经介绍了 VirtualBox 扩展包的下载和安装,此处不再啰嗦。
提醒一下:确保你已经安装了扩展包。如果不安装扩展包,可能会影响后续介绍的若干功能。
虚拟系统就跟真实的电脑一样,也有几种不同的运行状态。
运行
处于运行状态时,虚拟系统会占用物理系统的内存和CPU。如果去看真实系统的进程列表,会看到该虚拟系统对应的进程在内存中。
关机
虚拟系统处于关机状态时,既不占用内存,也不占用 CPU。
休眠
当虚拟系统休眠时,虚拟系统的内存会被写到硬盘上。处于该状态,虚拟系统完全不占用真实系统的内存和 CPU。
和"关机"状态相比,"休眠"会多出一个内存文件(该内存文件的大小也就是虚拟系统的内存大小)。所以"休眠"状态比"关机"状态会多消耗一点硬盘。
"休眠"的好处在于:启动一个"休眠"的系统比启动一个"关机"的系统更快,而且休眠的系统唤醒之后,你的虚拟系统会恢复到休眠之前的样子,省得你再重新开启一堆软件。
暂停
处于"暂停"状态的虚拟系统,会继续占用物理系统的内存,但是不占用物理系统的 CPU。这时候如果去看物理系统的进程列表,会看到该虚拟系统对应的进程还在内存中,但是该进程的 CPU 占用率为零。
"暂停"的好处在于:当你同时运行好多个虚拟系统(俺就经常这样),如果感觉真实系统的 CPU 吃不消了,可以先把没用到的虚拟系统暂停。
"暂停"操作比"休眠"操作更快,因为暂停操作不需要把虚拟系统的内存写入磁盘。坏处是,被暂停的虚拟系统依然占用你的物理内存。
因为 VMware 采用洋文的界面,先简单列出术语对照表
Power On 从关机状态中启动,变为运行状态
Power Off 把运行状态中的虚拟系统变为关机
Reset 重启动"运行"状态的虚拟机
Suspend 休眠
Resume 从休眠中唤醒
Pause 在"暂停"状态和"运行"状态之间切换
以下是 VMware 的截图
VirtualBox 是中文界面,俺就不用再给术语对照了,直接上图。VirtualBox 的关机功能做得比较细致,赞一个。它的"正常关机"相当于"软关机";它的"关闭电源"相当于"硬关机"。
快照功能是虚拟机最重要的附加功能。在本系列第2篇《介绍各种应用场景》,俺已经介绍了很多快照的用途。
所谓的"快照",就是把虚拟系统在某一个瞬间的各种状态信息保存下来。这里的"状态信息"至少包括:该虚拟系统所有(非独立)磁盘的状态、所有内存的状态、所有其它虚拟硬件的配置、等等(关于"独立磁盘",后面会提到)。
而且虚拟机软件提供的快照功能是支持"树形层次"的,你可以在某个快照的基础上,再建立其它快照。什么是"树形层次",看下面这张图,你应该就明白了。
在 VMware 中,快照称之为 "Snapshot"。选主菜单的 "VM" 再选 "Snapshot" 二级菜单,就可以看到快照相关的功能项。
也可以在选中某个虚拟系统之后,直接用快捷键 "Ctrl + M" 调出该虚拟系统的快照管理界面。刚才那张"树形层次"的截图,就是 VMware 的快照管理界面。
VirtualBox 的中文界面把快照称之 "备份"(这个翻译总觉得不太爽)。在 VirtualBox 管理器界面上,选中某个虚拟系统,然后点工具条右边的"备份"按钮,就可以切换到快照管理界面。
在本系列前面博文已经简单介绍过显示模式。考虑到某些同学比较健忘,再啰嗦一次(下面这三种模式,VMware 和 VirtualBox 都支持)
窗口模式
窗口模式是最基本的显示模式。在这种模式下,整个 Guest OS 桌面显示为 Host OS 桌面上的一个窗口。所有 Guest OS 软件的界面都在这个窗口中。
全屏模式
全屏模式就是让 Guest OS 独占整个显示器。在全屏模式下,你看不到 Host OS 的桌面。
无缝模式
所谓 "无缝模式" 就是:让 Guest OS 里面的软件界面从虚拟机的窗口中"跑"出来,直接融合在 Host OS 的桌面里。这种效果是很酷滴!
在 VMware 的主菜单选 "View" 就可以看到和显示模式相关的功能项。
对于窗口模式,VMware 采用标签页的方式显示,每一个标签页是一个 Guest OS。
VMware 的全屏模式有两种,分别对应上述菜单的 "Full Screen" 和 "Quick Switch"。至于哪一种比较好用,那就见仁见智了。如果想退出全屏模式,可以按"虚拟机热键 + Enter"(虚拟机热键的设置,前一篇博文有介绍),也可以把鼠标移到屏幕顶部,就会自动浮现一个工具条(对于 "Full Screen")或菜单条(对于 "Quick Switch")。
上述菜单的 "Unity" 就是"无缝模式"。该功能需要 VMware Workstation 6.0 或更新版本才能用。如果你的 Guest OS 是用 6.0 之前的版本创建的,可能就用不了 Unity。
最后,建议勾选上述菜单的 "Autofit Guest" 选项。勾选之后,VMware 会自动调整 Guest OS 的桌面分辨率,以适应 Host OS 的显示器分辨率。
VirtualBox 的窗口模式跟 VMware 不太一样。每一个 Guest OS 都有一个单独的窗口。在这个 Guest OS 窗口的主菜单选 "视图",就可以看到跟显示模式相关的功能项。
菜单项右边是快捷键的提示。其中的 "Host" 表示你设置的虚拟机热键(虚拟机热键的设置,前一篇博文有介绍)。最好熟记这几个快捷键。
VirtualBox 的窗口模式有两种:"有自动缩放" 和 "无自动缩放"。所谓的自动缩放,就是当你调整这个 Guest OS 的窗口大小时,Guest OS 的桌面分辨率会自动跟着调整,以适应该窗口的大小尺寸。
如果想退出全屏模式,可以按 "虚拟机热键 + F" 从全屏模式返回窗口模式;也可以把鼠标移到屏幕顶部,就会自动浮现一个工具条。
在介绍虚拟系统的硬盘配置之前,先聊一下控制器。所谓的 "控制器",通俗地说就是用于主板和存储设备之间进行数据传输的玩意儿。常见的硬盘控制器有两种:IDE 和 SCSI。
上次有读者在博客留言,询问这两种的差异,俺今天简单说一下。一个 IDE 控制器最多只能支持4个设备。举个例子:你已经在 Guest OS 上添加了一个 IDE 的硬盘和一个 IDE 的光驱。那么,今后如果要再加 IDE 硬盘,就只能再加2个了。而 SCSI 就没有这个限制,一个 SCSI 控制器可以支持好多好多个设备(反正足够你用的)。
选中某个虚拟系统,在主菜单选 "VM" 再选 "Setting"(也可以直接用快捷键 Ctrl+D),就会弹出虚拟系统的"设置对话框"。然后点"设置对话框"下面的 "Add" 按钮,就会出现一个添加硬件的向导。该向导会帮你一步步地添加一个硬盘。以下是向导的5张截图。
第1步,硬件类型选"Hard Disk"
第2步
第3步,制器类型和磁盘模式
制器类型刚才已经介绍过了。磁盘模式俺稍微说一下。
默认情况下创建的都是"非独立磁盘",也就是说,虚拟机快照会记录磁盘上的所有数据。如果你勾选 "Independent",则创建的是"独立磁盘"。"独立磁盘"的数据不会受快照的影响。
"独立磁盘"又分两类:持久性和非持久性。在"持久性磁盘"上,所以的数据修改都会永久保存,不受快照回退的影响;在"非持久性磁盘"上,所有的数据修改都不会永久保存,每次虚拟机关机之后,磁盘的数据就会恢复原状。
第4步,设置磁盘最大容量
第5步,设置虚拟磁盘在 Host OS 的存储位置
通常 VMware 会给出一个默认文件名,你直接用这个文件名即可。
在 VirtualBox 管理器界面上选中某个虚拟系统,在工具条上点 "设置" (也可以直接用快捷键 Ctrl+S),就会弹出虚拟系统的"设置对话框"。在左边选"存储",右边就会出现磁盘管理的界面。默认安装的 VirtualBox 虚拟系统,已经存在一个 IDE 控制器。
选中这个 IDE 控制器,点下方第一个带加号的按钮,然后选"添加虚拟硬盘"
它会问你是是"创建新的"还是"使用现有的",你选"创建新的"
之后就会弹出创建虚拟硬盘的向导。这个向导在前一篇博文已经介绍过,这里就不再浪费口水了。
万一你需要添加的虚拟磁盘(包括虚拟光驱)超过了4个,那就得改用 SCSI 控制器。还是在刚才这个界面,点下方第三个按钮,弹出一个快捷菜单,选"添加SCSI控制器"。
然后就会多出一个新的 SCSI 控制器。选中该控制器,点下方第一个按钮,就可以创建新的 SCSI 磁盘了。
网卡的配置有点复杂,俺多费点口水。那些等着看"双虚拟机安全方案"的网友,一定要先把这个章节看仔细喽。
虚拟系统的网卡和真实系统有较大差别。虚拟系统的网卡可以设置为不同的模式。不同的网卡模式主要影响网卡可访问的范围(可见性)。常见的网卡模式有如下三种:
Host Only(对外部网络不可见)
顾名思义,该模式的网卡只在 Host OS 的范围内可见。因为该模式只在 Host OS 的范围内可见,所以该模式的网卡是无法访问 Host OS 的外部网络(也就是无法访问其它电脑)。
虽然 Host-Only 网卡不能访问外部网络,但是多个 Host-Only 网卡之间是可以互相访问滴。比如你同时运行多个 Guest OS,把这些 Guest OS 上的网卡都设置为 Host-Only 模式,那么这些 Guest OS 是可以相互访问滴。
NAT(对外部网络单向可见)
NAT全称是"网络地址转换"。考虑到本系列是扫盲性质,俺就不解释 NAT 的原理了。
处于 NAT 模式下的网卡,可以访问 Host OS 的外部网络。比方说你的 Host OS 已经接入互联网,那么 Guest OS 里面的软件可以通过 NAT 模式的网卡上网。但是,Host OS 外部(也就是其它电脑)是看不到这个 NAT 网卡的。
对于普通网友,俺建议把网卡设置为 NAT 模式。因为 NAT 模式可以起到类似防火墙的效果,比较有利于保护你的虚拟系统的安全。
Bridge(对外部网络双向可见)
所谓的双向可见就是——Bridge 模式的网卡可以看到外部的电脑,外部的电脑也可以看到该网卡。
普通网友一般不需要 Bridge 模式,NAT 模式就足够了。
选中某个虚拟系统,在主菜单选 "VM" 再选 "Setting"(也可以直接用快捷键 Ctrl+D),就会弹出虚拟系统的"设置对话框"。对于默认装好的虚拟系统,通常只有一个虚拟网卡。在"设置对话框"左边选"Network Adapter",右边就是这个虚拟网卡的设置选项。
如果你想添加多个网卡,可以点"设置对话框"下面的 "Add" 按钮,会弹出"添加硬件"的向导。然后选"Network Adapter"这个硬件类型。
向导的第2步会让你选网卡模式。
在 VirtualBox 管理器界面上选中某个虚拟系统,在工具条上点"设置"(也可以直接用快捷键 Ctrl+S),就会弹出虚拟系统的"设置对话框"。在左边选"网络",右边就会出现网卡的配置界面。界面上有4个标签页,代表4个网卡。默认只有第一个是启用的。"连接方式"的下拉框会列出 VirtualBox 支持的网卡模式。
VirtualBox 支持的网卡模式比较多,但是其它那几种模式平时难得用到。最常用的还是 NAT 模式。
所谓的"数据交换",就是在 Host OS 和 Guest OS 之间交换数据。
大部分虚拟机软件都支持"文件共享"。所谓文件共享,就是把 Host OS 里面的某个目录映射到 Guest OS 里面。如果你的 Guest OS 是 Windows 2000及之后的版本,可以到 Guest OS 的"网上邻居"里面找到被映射进来的目录。
对于 VMware
照例打开虚拟系统的"设置对话框",切换顶部标签页到 "Options",参照下图设置
对于 VirtualBox
照例打开虚拟系统的"设置对话框",选左边的"共享文件夹",参照下图设置
利用"文件拖放"功能,你可以在 Host OS 和 Guest OS 之间拖拽文件。
所谓"剪贴板共享",顾名思义,就是让 Host OS 和 Guest OS 共用一个剪贴板。你可以在一个 OS 里面拷贝,在另一个 OS 里面粘帖。
对于这两个功能,VMware 只支持双向同步;而 VirtualBox 做得比较细致,支持单向同步。不过 VirtualBox 的文件拖放功能迟至 4.2.0 版本才加入,还不太成熟。
对于 VMware
照例打开虚拟系统的"设置对话框",切换顶部标签页到 "Options",参照下图设置
对于 VirtualBox
照例打开虚拟系统的"设置对话框",选左边的"常规",参照下图设置
此功能目前 VMware 提供,VirtualBox 不提供。该功能可以把某个虚拟磁盘映射到你指定的某个 Host OS 的盘符。这样一来,你无需启动虚拟机就可以访问虚拟磁盘的文件。
VMware 的设置如下:照例打开虚拟系统的"设置对话框",选中要映射虚拟磁盘,参照如下截图设置。
前面介绍的都是比较常见的配置。搞明白上述这些配置,基本上就可以满足虚拟系统的常规使用了。其它一些配置,要么比较简单(比如 声卡、USB口),要么很少用到(比如 串口、并口),所以今天的介绍就到此为止。
大伙儿如果有其它疑问,请翻墙到本文留言。如果觉得还有哪些配置需要补充,也可以留言告知俺。
回到本系列的目录
--------------------------------------------------------------------------
什么是虚拟机
比较通俗的回答(适合没有电脑基础的朋友)
虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚 拟机的设置,而不用担心对自己的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样了,不知道我说的能明白不^_^,简单说就是一句话,虚拟 出来的电脑,你干什么都行。
比较专业的回答(适合有一点电脑基础的朋友)
虚拟机是指运行在Windows或Linux计算机上的一个应用程序,这个应用程序“模拟”了一个基于x86的标准PC的环境。这个环境和普通的计算机一 样,都有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器、SCSI控制器等设备,提供这个应用程序的“窗口”就是 虚拟机的显示器。在一台电脑上将硬盘和内存的一部分拿出来虚拟出若干台机器,每台机器可以运行单独的操作系统而互不干扰,这些“新”机器各自拥有自己独立 的CMOS、硬盘和操作系统,你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网络。在虚拟 系统崩溃之后可直接删除不影响本机系统,同样本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统。同时它也是唯一的能在 Windows和Linux主机平台上运行的虚拟计算机软件。虚拟机软件不需要重开机,就能在同一台电脑使用好几个OS,不但方便,而且安全。虚拟机在学习技术方面能够发挥很大的作用。
为什么使用虚拟机
1. 演示环境,可以安装各种演示环境,便于做各种例子;
2. 保证主机的快速运行,减少不必要的垃圾安装程序, 偶尔使用的程序,或者测试用的程序在虚拟机上运行;
3. 避免每次重新安装,银行等常用工具,不经常使用, 而且要求保密比较好的,单独在一个环境下面运行;
4. 想测试一下不熟悉的应用,在虚拟机中随便安装和彻 底删除;
5. 体验不同版本的操作系统,如Linux、Mac等。
终端虚拟化由于其带来的维护费用的大幅降低而受到追捧——如能降低占用空间,降低购买软硬件设备的成本,节省能源和更低的维护成本。它比实际存在的终端设备更加具备性价比优势。但这些并非是教育行业和厂商对虚拟化技术情有独钟的惟一原因。另一方面,我们一般较少提及,那就是:虚拟化技术能大幅提升系统的安全性。
现在流行虚拟机
VMware 可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare 采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的 平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟 机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。
Oracle VM VirtualBox 是由Sun Microsystems公司出品的软件(sun 于 2010年被Oracle收购),原由德国innotek公司开发。2008年2月12日,Sun Microsystems宣布将以购买股票的方式收购德国Innotek软件公司,新版不再叫做Innotek VirtualBox,而改叫Sun xVM VirtualBox。2010年1月21日,欧盟终于同意Oracle收购Sun,VirtualBox再次该名变成Oracle VM VirtualBox。VirtualBox是开源软件。目前VirtualBox 3.2.0支持的操作系统包括:Debian, Fedora,Linux, Mac OS X(Intel), Mandriva, OpenSolaris, PCLiunxOS, Red Hat, SUSE Linux,Solaris 10, Ubuntu, Windows, Xandros, openSUSE等。OracleVM VirtualBox 支持的客户端操作系统包括:从 3.1到Vista的所有版本的Windows、Linux2.2、2.4和 2.6内核、Solaris x86、OS/2、、OpenBSD、 Netware 、FreeBSD 和 DOS。在 2007 年 1 月,InnoTek 以 GNU General Public License (GPL) 释出 VirtualBox,并提供二进位版本及开放源码版本的代码。
Virtual PC 在使用PowerPC处理器的MacOS X版本上,其模拟机“使用”Intel Pentium 4处理器及440BX 系列的主板;而在Windows版本上,会使用电脑本身的处理器。模拟电脑上使用一块标准的SVGA VESA图卡,并与S3 Trio 64 PCI 8 MByte VideoRAM版本的兼容。主板使用American Megatrends (AMI)的BIOS。并有“内置”的 Creative Labs Sound Blaster 16PnP声卡 (Vista上或运行模拟Vista环境时,则使用Vista本身的音效系统,因为Vista并不支援Creative Labs Sound Blaster)及DEC 21041 或 DEC 21140的Ethernet网卡。
Windows XP Mode
使用适用于 Windows 7 的 Windows XP Mode,可以在 Windows 7 上轻松运行多个在 Windows XP 上运行的生产应用程序。它使用虚拟化技术(如 Windows Virtual PC)为 Windows 7 提供虚拟 Windows XP 环境。 Windows XP Mode 可以提供 32 位的虚拟化 Windows XP Professional ServicePack 3 (SP3) 环境。此下载包包含一个预安装了 Windows XP SP3 的虚拟硬盘 (.vhd file)。必须具备客户端虚拟化软件(如 Windows Virtual PC)才能使用
支持的操作系统: Windows 7(Windows 7 专业版、Windows 7 旗舰版或 Windows 7 企业版)
注意:不支持从 Windows XP Mode Beta/ReleaseCandidate 的升级。
硬盘要求:2GB,用于安装 Windows XP Mode。建议为虚拟 Windows 环境准备额外 15GB 的硬盘空间。
注意:可以在计算机上使用 Windows Virtual PC 运行 Windows XP Mode。
2010年3月19日,微软发布更新,Windows XP Mode不再要求硬件虚拟化技术。只要是正版用户都可以从微软官网上免费下载。
什么虚拟机适合你
VMware Workstation的功能是最强大的,它的强大是不容置疑的,所以也是最多人使用的。但是需要注册并且是英文,过于庞大,很多功能我们是用 不到,而且还会开机加载程序(这个很多人不喜欢的)。所以出现了精简版,汉化版,破解版,但是往往出问题就是因为这些改版(不是说某些版本不好,但这个是 事实,使用这些版本会出现莫名其妙的问题,而且很难解决,同时希望能支持正版)
Oracle xVM VirtualBox是开源,免费,相比下,VirtualBoxj比较轻巧,也能实现很多功能。最重要的是有中文,上手比较容易,而已它的 快照功能也靠近VM了,应该说竞争力更强了。
Virtual PC,感觉就是没有什么希望,给微软收购了后只支持 自家的系统(不是其他系统不能用它虚拟,只是需要很强的动手能力)XP mode虽然不错,但是限制也是很多的。
只需要简单的功能的,virtualbox和VPC可以满足你了,如果需要虚拟Linux这类的系统就用 Vritualbox。如果需要强大功能的虚拟机,VMware Workstation就是你的选择了。
PS: 1.VMware Workstation 虽然强大,但是还是要注册的,网上有key,自己搜就行了,还是那句话:中国人用软件不花钱的。
2.想用XP mode的同学,可以试试VMlite
3.什么是硬件虚拟化技术(Intel VT和AMD-V技术)
其实他们都是同一类技术,就是提供特殊的CPU指令,使虚拟化时效率提高。如果想在32位系统虚拟64位系统,拥有 CPU虚拟化技术是必须的,就算是64位系统虚拟64位系统也需要这种技术的。
(如果想了解更专业的含义,请自行搜索)
-------------------------------------------------
示意图如下
示意图如下
但是不要高兴得太早,仅仅依靠普通的代理,是远远不够滴!请看下面的例子。
举个例子:
比如你想在某个国内的网盘上传政治敏感文件。因为这个网盘是国产的,你担心网盘服务器会记录你的公网 IP。所以捏,你设置了浏览器的 HTTP 代理,通过翻墙代理来访问这个网盘的页面。
如今的很多网盘是利用 Flash 插件进行文件上传的。而且 Flash 插件在上传文件的时候,往往是不经过浏览器的 HTTP 代理,直接连接网盘服务器。如此一来,你的公网 IP 还是暴露了 :(。
示意图如下
上述这些网络软件虽然都提供了代理的功能。但是,即使你设置了代理,这些软件依然有可能在后台,悄悄地访问自己公司的服务器,传输某些不可告人的信息。而且这些软件访问自家的服务器,往往是绕过代理设置,直接连接——这就会导致你的公网IP暴露。
示意图如下
咱们可以把那些有危险的软件安装在虚拟系统(虚拟机A)内,然后把该虚拟唯一的虚拟网卡设置为 Host-Only 模式(关于网卡模式的设置,请看”这里“)。由于唯一的虚拟网卡是 Host-Only 模式,所以 虚拟机(Guest OS)内的任何软件都不可能直接访问外部网络。
那么,如何让这些危险的软件联网呢?你可以在 Host OS 里面安装一个代理软件。虽然这个 Guest OS 无法访问外网,但还是可以访问 Host OS 的,所以也就可以连接到 Host OS 里面的代理软件。然后你设置这些危险软件的 HTTP 代理或 SOCKS 代理,让它们通过代理连接到互联网。
示意图如下
对很多网友而言,单虚拟机已经足够了。那么为啥俺还要介绍双虚拟机捏?主要有如下几方面考虑
1、某些翻墙代理软件不是开源的,有些网友对这类软件不放心
2、某些网友的 Host OS 不是 Windows,但是很多翻墙代理是 Windows 软件
所以,咱们可以在”单虚拟机”的基础上再扩展一下,把代理软件也放到虚拟机中(下图的虚拟机B)。虚拟机B 的网卡很有讲究滴——必须是双网卡。一个网卡设置为 Host-Only 模式,以便跟虚拟机 A对接;另一个网卡设置为 NAT 模式,以便访问外网。
示意图如下
打个比方,假设你用 “TOR+世界通” 来构造多重代理。对于单虚拟机的方案,你把 TOR 和世界通都安装到 Host OS 即可;对于双虚拟机的方案,你把 TOR 和世界通都安装到 虚拟机B 即可。
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2013/01/howto-cover-your-tracks-6.html
---------------------------------------------------------------
用虚拟机隐匿公网IP(2)
其次,再把本系列的前一篇博文(链接在”这里“)认真看完。那篇博文是介绍”虚拟机隐匿公网IP”的原理,配有精美示意图 :)
本文主要拿 VMware Workstation(以下简称 VMware)和 VirtualBox 来介绍。
由于本教程是拿虚拟机跟代理软件进行组合搭配,所以你还得懂得使用代理软件。这点应该不难——只要你有翻墙的经历,你就已经在同”代理软件”打交道 了。如果你从来没玩过翻墙,请先学习俺博客上的诸多翻墙教程(包括:TOR、I2P、赛风、世界通、自由门、无界、等等)。
关于代理的类型,俺强烈建议用多重代理(教程在”这里“,需翻墙)。为啥捏?如果你对隐匿性的要求不高,根本都不需要看本教程。你来看本教程,就说明你对隐匿性有较高的要求。既然如此,当然要用多重代理啦——这可以大大增加逆向追踪的难度。
注意事项:要确保你用的代理软件,是监听在 0.0.0.0 地址,而不是监听在 127.0.0.1 地址。 如果代理软件只监听在 127.0.0.1 地址,那么其它虚拟机的网络软件是无法连接到这个监听端口的。如何看代理软件监听在哪个地址上捏?可以在 Windows 的命令行窗口(就是那黑窗口)中执行如下命令,就可以看到当前系统中开启的所有监听端口以及该监听绑定的地址。
netstat -an | find “LISTEN”
考虑到目前 Windows 系统的用户占绝大多数,本教程拿 Windows 系统来说事儿。希望 Linux 系统和 Mac OS X 系统的用户别怨俺偏心。
注意事项:要特别小心真实系统和虚拟系统的防火墙设置。很多人是因为防火墙没设好,导致代理无法连通。
另外,今天这个教程,跟你用的上网方式也没有关系。不论你是在公司上网还是在家用宽带,本教程都适用。
一旦你安装完虚拟机软件,那么你的操作系统中就会多出新的虚拟网卡和虚拟子网。下面俺根据 VMware 和 VirtualBox 分别说明。
首先到 Windows 控制面板的网络连接看一下,如果看到下图,就这说明 VMware 已经帮你加入了2个虚拟网卡,这俩网卡分别位于 NAT 虚拟子网和 Host-Only 虚拟子网。
然后,你到 VMware 主菜单上点 “Edit” 菜单,然后再点 “Virtual Network Editor” 菜单,会出现虚拟子网的对话框,通过该对话框可以看到 VMware 创建的所有虚拟子网。你会看到好多个虚拟子网,咱只要关心其中两个——分别 Type 为 Host-Only 和 Type 为 NAT 的。然后,把这两个子网的 “Subnet Address” 分别记下来(千万别把这俩记混了),待会儿要用到。截图如下
(请注意,上述截图中列出的都是虚拟子网的网络地址,表示的是整个子网,所以最后一位是 0 )
对于 NAT 模式,默认的虚拟子网总是 10.0.2.0;对于 Host-Only 模式,默认的虚拟子网总是 192.168.56.0(请注意,这两个是虚拟子网的网络地址,表示的是整个子网,所以最后一位是 0 )
牢记这俩子网的网络地址(千万别把这俩记混了),待会儿要用到。
首先,你要在虚拟机软件中设置该 “虚拟系统A” 的网卡模式,要设置为 Host-Only。
其次,要进入 “虚拟系统A”,到”控制面板”的”网络连接”里,找到那块网卡,右键菜单点”属性”,再点”TCP/IP”的属性,会出现如下截图
IP 地址
(这步一定要小心,别填错了)
IP 地址一共四段,头三段分别填写 Host-Only 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡)。
IP 地址的第四段,你可以填 2到254 之间的任何一个数。
子网掩码
填写 255.255.255.0
默认网关
不用填
DNS
不用填
这块 Host-Only 网卡配好之后,为了验证你是否配置成功,可以执行如下步骤验证:
进入 “虚拟系统”,用 ping 命令 ping 一下真实系统的那块 Host-Only 网卡的 IP 地址。如果能 ping 得到就说明你配对了。
为网络软件配置代理的时候,通常要填写代理的 IP 地址和端口号。端口号通常不会搞错。因为每一款代理软件开启的端口号是固定的。但是 IP 地址常常会填错。很多人就是栽在这一步。
填写代理的 IP 地址,千万不能填 127.0.0.1,因为这个地址表示本机,也就是 Guest OS 自己。
正确的写法是:填写真实系统的那个 Host-Only 网卡的 IP。
这个 IP 地址一共四段,头三段分别填写 Host-Only 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡);第四段填 1
俺以IE浏览器为例,截图如下
要使用双虚拟机方案,你需要装两套虚拟系统。
其次,要进入 “虚拟系统A”,到”控制面板”的”网络连接”里,找到那块网卡,点属性,会出现如下截图
IP 地址
(这步一定要小心,别填错了)
IP 地址一共四段,头三段分别填写 Host-Only 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡)。
IP 地址的第四段,你可以填 2到254 之间的任何一个数。
子网掩码
填写 255.255.255.0
默认网关
不用填
DNS
不用填
这块 Host-Only 网卡配好之后,为了验证你是否配置成功,可以执行如下步骤验证:
进入 “虚拟系统A”,用 ping 命令 ping 一下真实系统的那块 Host-Only 网卡的 IP 地址。如果能 ping 得到就说明你配对了。
第1步
刚装好的 “虚拟系统B”,默认已经有一块网卡了。你先把这块网卡的网卡模式,设置为 NAT。
第2步
进入 “虚拟系统B”,到”控制面板”的”网络连接”里,找到那块网卡,右键菜单点”属性”,再点”TCP/IP”的属性,会出现如下截图
IP 地址
(这步一定要小心,别填错了)
IP 地址一共四段,头三段分别填写 NAT 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡)。
IP 地址的第四段,你可以填 3到254 之间的任何一个数。
默认网关
(这步也要小心,别填错了)
默认网关的地址也是4段,头三段就照抄刚才 IP 地址的头3个数字。第4个数字填写 2(不论是 VMware 还是 VirtualBox 都填 2)
DNS
此处填写你常用的 DNS 服务器,俺个人建议填 Google 的那俩(8.8.8.8 和 8.8.4.4)
子网掩码
填写 255.255.255.0
这块 NAT 网卡配好之后,为了验证你是否配置成功。可以在 “虚拟系统B” 里面开一个浏览器(不设代理),访问一下互联网。如果能访问,说明这块 NAT 网卡 OK 了。
第3步
打开虚拟系统的设置对话框,再添加一块网卡了。(如何加第二块网卡,请看《扫盲操作系统虚拟机》教程)然后把这块网卡的网卡模式,设置为 Host-Only。
第4步
进入 “虚拟系统B”,到”控制面板”的”网络连接”里,找到新添加的第二块网卡,右键菜单点”属性”,再点”TCP/IP”的属性,会出现如下截图
IP 地址
(这步一定要小心,别填错了)
IP 地址一共四段,头三段分别填写 Host-Only 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡)。
IP 地址的第四段,你可以填 2到254 之间的任何一个数。
再提醒一下:虚拟系统A和虚拟系统B各自有一块 Host-Only 网卡,这两块网卡的 IP 地址头三位是一样的,第四位不能相同——否则 IP 地址会冲突。
子网掩码
填写 255.255.255.0
默认网关
不用填
DNS
不用填
下面详细说说上网软件的代理配置。
为网络软件配置代理的时候,通常要填写代理的 IP 地址和端口号。端口号通常不会搞错。因为每一款代理软件开启的端口号是固定的。但是 IP 地址常常会填错。所以请大伙儿把下面看仔细喽!
填写代理的 IP 地址,千万不能填 127.0.0.1,因为这个地址表示本机,也就是 “虚拟系统A” 自己。
正确的写法是:填写另一个虚拟系统(虚拟系统B)的那个 Host-Only 网卡的 IP。
因为 “虚拟系统B” 有两块网卡,很多人填错了,栽倒在这一步。俺以IE浏览器为例,截图如下
回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2013/01/howto-cover-your-tracks-7.html
- VMWare Workstation VMWare Workstation是一款商业收费闭源的虚拟机软件,由同名公司VMWare进行开发和销售。该工作站软件包含一个用于英特尔x86相容电脑的虚拟机 套装,其允许用户同时创建和运行多个x86虚拟机。每个虚拟机实例可以运行其自己的客户机操作系统,如(但不限于)Windows、Linux、BSD变 生版本。用简单术语来描述就是,VMware工作站允许一台真实的电脑在一个作业系统中同时开启并运行数个操作系统。其它VMware产品帮助在多个宿主 电脑之间管理或移植VMware虚拟机。对于开发人员来说,尤其对于需要开发跨平台软件的人员来说,VMWare Workstation是一个非常好的选择,因为其允许用户在不重新启动电脑的情况下运行多个系统,从而达到测试软件在不同平台的可用性,以及针对不同情 况来进行修复bug、调试等操作。
- VirtualBox VirtualBox最早是德国一家软件公司InnoTek所开发的虚拟系统软件,后来被Sun收购,改名为Sun VirtualBox,性能有很大的提高.因为他是开源的,不同于VM,而且功能强大,可以在 Linux/Mac 和 Windows 主机中运行,并 支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统。无论是虚拟机菜鸟还是骇客级人物,都可以熟练使用VirtualBox。
- Virtual PC Virtual PC是一款免费软件,其由微软开发。它能够让你在一台 PC 上同时运行多个Windows操作系统,使用Virtual PC不需要重启电脑,只要点击鼠标便可以打开新的操作系统或是在操作系统之间进行自由切换。安装该软件后不用对硬盘进行重新分区或是识别,就能够非常顺利 地运行你已经安装的多个操作系统,而且还能够使用拖放功能在几个虚拟 PC 之间共享文件和应用程序。
VMWare官网:点此进入
下面列几条VirtualBox相比VMWare的区别:
(1)VirtualBox是免费开源的,而VMware不是。
(2)VirtualBox体积小,安装完成后,也只有60M左右,而VMWare5、6安装后很庞大。
(3)VirtualBox支持Vista,而VWare5不支持。
(4)VirtualBox将虚拟机中的安装的操作系统以硬盘的方式进行保留,在不同计算机之间转移系统时,需要新建虚拟机,其后为其指定原来操作系统所 在的硬盘,这样就不会产生网络连接问题;而VMware将虚拟机中的操作系统直接按虚拟机文件进行保存,一但需要在不同计算机之间转移系统,会造成原虚拟 机中的操作系统MAC地址错误,不能在新的计算机中进行网络连接。
VirtualBox官网:点此进入
Virtual PC官网:点此进入)
上星期的博文《如何防止黑客入侵[7]:Web相关的防范 (下)》提到了利用虚拟机来加固系统安全,防范网络入侵。其实捏,操作系统虚拟机除了可以用来防范黑客,还可以干很多其它的事情。只可惜很多人不太了解虚拟机,未能享受到它带来的便利。
考虑到很多网友不是 IT 行业的技术人员,不懂得折腾操作虚拟机。因此,俺着手写一个系列博文,专门介绍这方面的知识和经验。
为了方便阅读,把本系列帖子的目录整理如下(需翻墙):
1. 基本概念和功能简介
2. 各种应用场景
3. VMware的安装和使用
4. (未完待续)
==========
扫盲操作系统虚拟机[1]:基本概念和功能简介
★扫盲一下基本概念
先扫盲几个基本概念。如果你对虚拟机相关的概念已经很清楚,可以跳过本节。◇什么是虚拟机?
简单滴说:虚拟机本身是一个软件,可以模拟出一个跟真实环境一模一样的虚拟环境,然后在这个虚拟环境中运行其它软件。举一个通俗的例子。
想必70后80后的网友都玩过任天堂的红白机(接在电视上的那种)。如今市面上早已没有红白机的踪影。万一你想找一个红白机的游戏怀旧一下,怎么办 捏?这时候红白机的模拟器软件就可以帮上忙啦。它可以在你的电脑上虚拟出一个红白机的运行环境,然后再去找几个经典游戏的 ROM 放进去,就可以玩了。此处提到的红白机模拟器,其实就是一个虚拟机软件。
想对”虚拟机”的概念有更深入的了解,可以看维基百科(洋文在”这里“,中文在”这里“)。
◇什么是操作系统虚拟机?
总的来说,虚拟机分为两大类:硬件虚拟机和软件虚拟机。顾名思义,”硬件虚拟机”用来模拟硬件环境,而”软件虚拟机”用来模拟软件环境。硬件虚拟机有时候也称为”系统虚拟机”(这是本文要讲的重点);
软件虚拟机有时候也称为”进程虚拟机”或者”应用程序虚拟机”(Java程序员每天都接触到的JVM就属于软件虚拟机)。
为了打字省力,本文后续部分提到的”虚拟机”,均指”操作系统虚拟机”。
◇什么是”宿主”(Host)?什么是”访客”(Guest)?
要熟悉”虚拟机”的使用,首先要搞清楚两个概念:Host OS 和 Guest OSHost OS(真实系统)
由于虚拟机也是软件,也需要安装在操作系统之上。用来安装虚拟机软件的操作系统,称之为”Host OS”。直译为中文就是”宿主系统”。不过俺更喜欢称之为”真实系统”。
顺便说一下,少数虚拟机软件自带操作系统(也就是自带”Host OS”),可以直接安装在一台裸机上。不过这种虚拟机主要用于企业用户,大伙儿平时用不到。
Guest OS(虚拟系统)
运行在虚拟机软件内部的操作系统,称为”Guest OS”。直译为中文就是”访客系统”。不过俺更喜欢称之为”虚拟系统”。
示意图
为了形象一点,俺从网上剽窃了一张示意图。从下图可以直观地看出”真实系统”与”虚拟系统”的关系。
★虚拟机软件有些啥功能?
考虑到本博客的用户群,本文重点介绍”面向桌面用户”的虚拟机软件。这类软件有不少,用的最多、名气最大的是 VMware Workstation(以下简称 VMware)。下面的介绍,会拿 VMware 来举例。◇同时运行多个操作系统
这是最重要的一个特性。在没有虚拟机的年代,电脑一次只能运行一个操作系统。有了虚拟机之后,一台电脑可以同时运行 N 个不同的操作系统。N 的大小取决于电脑的CPU 是否足够强劲、物理内存是否够大、硬盘是否够大。
后面俺会提到:同时运行多个操作系统有啥好处。
◇快照功能
很多虚拟机软件具有快照(Snapshot)的功能。这个功能比较重要,俺说详细点。首先,快照是针对某个虚拟系统而言的。当你为某个虚拟系统创建快照,则虚拟机软件会把这个虚拟系统的所有信息(包括内存状态、硬盘状态、等等)都保存起来。当你需要的时候,可以再切换到这个快照。一旦切换到某个快照,虚拟系统就回到当初创建快照的那个状态。
大多数虚拟机软件都支持树状结构的快照,也就是说,你可以在某个快照之上再创建快照。这就好比大伙儿都熟悉的文件目录结构——可以在某个目录内再创建目录,最终形成一个树形结构。
为了给大伙儿一个直观的印象,放一张截图。
从这张截图可以看出,这是一个装了 Windows 2000 的虚拟系统,图中名为”baseinstall”的快照,是一个干净的Win2000系统。然后基于这个快照,再创建4个快照,分别针对Win2000的SP1、SP2、SP3、SP4。
◇对CPU的虚拟
通常而言,只有IT技术人员(尤其是程序猿)会关心虚拟机对 CPU 的虚拟。如果你不是 IT 技术人员,请跳过本小节,看下一个小节——”对内存的虚拟”。CPU是硬件系统的心脏。对虚拟机来说,最重要的功能就是虚拟 CPU 了。对 CPU 的虚拟包括两种:
1. 虚拟同种类型的CPU
2. 虚拟异种类型的CPU
第一种是比较常见的——大部分虚拟机软件都只能模拟同种类型的 CPU。举个例子:前面提到的VMware只能安装在 x86 芯片的电脑上,而且只能虚拟出 x86 的运行环境。
第二种类型的虚拟机就比较牛B了。比如有些虚拟软件虽然安装在 x86 的硬件系统上,但居然可以模拟各式各样的其它芯片(比如:ARM、SPARC、MIPS、PowerPC、等等)。后面俺会介绍这类虚拟机在软件开发中的用途。
◇对内存的虚拟
对内存的虚拟也属于常见功能,每个虚拟机软件都具备此功能。对用户来说,你只需关心:要分配给虚拟系统多大的内存。具体要分配多大的内存,取决于两个因素:
1. 被虚拟的操作系统是什么类型
2. 这个虚拟系统用来干嘛
举几个例子:
假如要安装一个虚拟的 DOS 来玩一些古老的 DOS 游戏,那只需要为它分配几个 MB 的内存;反之,如果要安装一个虚拟的 Linux 用来跑大型的数据库服务,那可能就需要分配几个 GB 的内存。
当然,所有的 Guest OS 使用的内存总和,不能超过 Host OS 的物理内存大小。
◇对硬盘的虚拟
说完 CPU 和内存,再来说说硬盘。常见的虚拟机软件可以把一个大文件虚拟成一个硬盘,该分区上的所有数据(包括文件、目录、等)、其实都存储在这个大文件内部。
因为文件是很方便COPY的,所以用一个大文件来虚拟一个硬盘会带来如下的很多好处。
1. 备份
可以把安装好的虚拟系统备份起来。万一你的电脑坏了,换了新电脑,直接用备份的虚拟机拷贝回去,省得再重装系统。
2. 共享
比如公司里某个测试人员搭建了一个虚拟系统用来进行某某软件的测试。那么,其他测试人员只需要把这个虚拟系统的硬盘文件COPY过去,不需要再重新搭建一次。
◇对网卡的虚拟
对网卡的虚拟跟本文后续的内容比较相关,俺多说几句。以 VMware 为例,它支持如下三种类型的虚拟网卡:
1. Bridge 模式
在这种模式下,虚拟系统的网卡跟你物理系统的网卡几乎一样。
外部网络对虚拟系统的网卡是可见的;虚拟系统的网卡对外部网络也是可见的。
2. NAT 模式
外部网络对虚拟系统的网卡是可见的;虚拟系统的网卡对外部网络是不可见的。
换句话说,NAT 模式可以起到单向防火墙的效果。这种模式用得最多。
3. Host-Only 模式
外部网络对虚拟系统的网卡是不可见的;虚拟系统的网卡对外部网络也是不可见的。
这种模式相当于双向防火墙的效果。相对而言,这种模式用得较少。当你想搭建一个跟外界隔离的虚拟内部网络,可以使用这种模式。
后面会介绍这几种模式的应用场景。
◇对光驱的虚拟
虚拟机软件通常可以用两种方式来虚拟光驱:1. 把虚拟光驱直接映射到你电脑的物理光驱
2. 把虚拟光驱映射到某个光盘镜像(比如 ISO 文件)
第二种模式用得比较多。如果你习惯了这种模式,基本上就不再需要使用传统的光盘了(省去了买盘刻盘的麻烦)。
比方说要在虚拟系统中安装 Office,你只需要把虚拟系统的光驱指向 Office 的光盘镜像文件。然后,你在虚拟系统里面就可以看到这张光盘了。
◇其它硬件的虚拟
除了上述这些,虚拟机软件还可以用来虚拟:USB口、声卡、甚至软驱。不过这些用得不多,限于篇幅,俺就不展开了。from http://program-think.blogspot.com/2012/10/system-vm-1.html
---------------------------------------------------------------------------------
今天来介绍一下,操作系统虚拟机可以用于哪些场合。为了打字省力,本文后续部分用”虚拟机”指代”操作系统虚拟机”。
★运行各种系统的软件
虚拟机最主要的一个功能就是:可以在一台电脑上运行不同的操作系统。不同的操作系统,差异是很大滴。操作系统的差异性导致了很多专有软件——有些软件只有 Windows 才有,有些只有 Mac OS 才有,还有些软件只有 Linux 才有。
举个例子:
很多苹果的粉丝发现苹果系统上翻墙软件奇缺(大部分翻墙软件,比如赛风、自.由.门、无.界,都是 Windows 软件)。
在没有虚拟机的时代,要想在一台电脑上玩不同的系统,只能通过”多引导”。但是”多引导”一次只能用一个系统。有了虚拟机之后,你就可以”同时”玩不同系统下的软件。
★简化系统管理
◇便于硬件迁移
如今硬件升级换代很快,某些网友时不时就会换新电脑。换了新电脑,可能要重装系统;就算新电脑随机带了操作系统,你也免不了要装一大堆自己用的软件。干这种事情,往往繁琐且费时费力。而虚拟机可以帮你免去这类烦恼。比如俺,每次换电脑,都非常省事儿。因为俺所有的电脑操作(包括翻墙上网、公司事务、写程序、写博客、等等)全都是在虚拟机内完成;俺平时用的软件 (除了虚拟机软件本身),都装在虚拟系统内。所以捏,每次升级电脑,俺只需要安装 Host OS(宿主系统)和虚拟机软件。然后再把一大堆虚拟机镜像 copy 过去,就 OK 了。
◇便于系统备份
既然虚拟机有利于”硬件迁移”,自然也就有利于”系统备份”。如今笔记本电脑大行其道,但也带来一个问题:容易弄丢或者容易摔坏。一旦弄丢或摔坏,你免不了又要装系统、装软件。如果你平时就使用虚拟机工作,并且记得把虚拟机镜像备份出来(比如拷贝到另外一个移动硬盘)。一旦失窃或摔坏,恢复起来就很省力。
◇便于灾难恢复
前一篇帖子提到虚拟机的快照功能。这个功能有点类似于 Windows 的”系统还原”,但是比”系统还原”更安全,也更好用。因为”系统还原”功能只能帮你还原部分文件(主要是系统文件),而虚拟机快照可以帮你复原虚拟操作系统中的所有文件(包括内存状态)。有了这么牛叉的快照功能,可以帮你从误操作的灾难中恢复出来。
举例说明:
每当装好虚拟系统及常用的几款软件之后,建议你先做一个快照(这个快照对应的是干净的、正常的系统)。以后你在使用的过程中,万一发生了误操作(比如 误删了系统文件),直接回退到这个干净的快照,系统自然就恢复了;如果系统莫名其妙坏了、无法启动了,也只需”回退到干净的快照”,即可。
◇无需清理系统垃圾
貌似很多网友都会在自己的 Windows 系统上安装一些系统优化的软件。这些软件的一个主要功能是”清理系统垃圾”。但是像俺这样,主要工作都在虚拟机内完成的人,就没必要”清理系统垃圾”。俺使用的虚拟机,每隔几天就回退到前一个干净的快照。一旦回退快照,系统垃圾自然就没了。
◇使用快照的注意事项
刚才连续举了两种使用快照的场景。顺便说一下”注意事项”。假如把虚拟机回退到某一个快照(以下称”快照A”),那么从”快照A”之后的所有文件系统的变化(包括新建的文件、修改的文件、删除的文件)都会被复原。
如果你像俺这样,定期回退到前一个干净的快照,有一点务必提醒大家:需要长期保留的文件(尤其是一些个人数据),不要放到虚拟机里。
举个例子:
假如你在虚拟机内用 MSN/Skype 聊天,它会在本地保存聊天记录。一旦你把虚拟机的快照回退,刚刚保存的聊天记录就没了。
解决的办法:
很多虚拟机软件都支持 Host OS 到 Guest OS 的目录映射——把真实系统的某个目录映射到虚拟系统中。也就是说,你在虚拟机中看到的这个目录,其实是存在于外部的真实系统。
通过这个功能,你可以把需要长期保存的文件,存放到这个”映射目录”中。就不会受”快照回退”的影响。俺在后续博文会介绍某几个虚拟机软件的使用教程,到时候会提到如何建立这种目录映射。
★用于信息安全领域
◇防范黑客入侵
关于这招,请看《如何防止黑客入侵[7]:Web相关的防范 (下)》一文的”多虚拟机方案”。这里就不再浪费口水了。◇试用危险的软件
有时候你在网上看到某个软件(比如某个小游戏)很不错,很想安装了体验一下。但是这个软件可能来路不明,你不晓得这个软件本身是否安全可靠。咋办捏?
俺通常会留一个干净的虚拟机用来进行”软件试用”。这个虚拟机事先做了一个干净的快照。在这个虚拟机里面,想装啥软件都可以(流氓软件、带毒的软件,都无所谓)。等到把这个软件玩腻了,就回退到事先做好的那个干净的快照。一旦回退快照,再流氓的软件都会从眼前消失。
◇搭建蜜罐
所谓的”蜜罐”(洋文叫”honeypot”),是故意用来吸引攻击者的一个系统。在安全行业中,有时候会用虚拟机来搭建”蜜罐”。”蜜罐”有很多种用途,有些比较注重安全的企业或机构,可以通过蜜罐进行黑客入侵的早期预警。有些杀毒软件厂商则利用蜜罐用来收集病毒样本。
更多的介绍可以看维基百科(在”这里“)
★用于隐私保护
严格来说,”隐私问题”也属于”信息安全”的范畴。不过捏,因为这几年”隐私问题”比较突出,俺单独列一个章节来介绍。◇防范流氓软件偷窥
除了刚才提到的”防范黑客”,虚拟机还可以用来保护隐私。“比如臭名昭著的 QQ 会偷偷扫描你的硬盘,窥探你的隐私。由于 QQ 的用户群太大了,你不用它还不行(像俺这种从来不用 QQ 的天朝网民,估计不到1%)。
咋办捏?
办法之一是把 QQ 安装到虚拟机系统,然后把你个人的隐私(比如裸照)放到外部的真实系统。这样一来,即使 QQ 偷窥,也看不到你的隐私。
这招不光能用来对付”疼逊”,也可以用来对付其它流氓软件(比如”逊雷”)。
◇用于多人共用的电脑
有些网友的电脑会被家人共用——你的MM或老婆可能会拿你的电脑上网;如果你有个已经上学的小孩,他/她可能也会拿你的电脑上网。当多人共用你的电脑,隐私问题就浮现出来了。举个例子:
假如你上黄色网站,多半不希望让家人知道。不幸的是,你的家人因为用了你的浏览器,可能无意中会看到你的浏览历史……一旦发生这种不幸,轻则名誉受损;重则引发家庭纠纷。
某些网友会建议说:每次上网后,清理一下浏览器历史记录;还有的同学会建议说:使用浏览器的隐私模式。
但是俺觉得,这些招数都不够彻底。以”隐私模式”为例。虽然”隐私模式”不会在浏览器中留下上网的历史痕迹。但是!如果你下载某个黄色视频或黄色图片在本地观看,那”隐私模式”可就帮不了你喽。由此可见,要想彻底避免隐私外泄,还是得用虚拟机。具体做法如下:
装一个虚拟机专门用来上”限制级的网站”。一旦下载了限制级的内容,也只保存在这个虚拟机内。通常来说,你的家人多半不熟悉 IT 技术,可能连”虚拟机”都没听说。所以,你的浏览历史,以及你保存下来的限制级内容,自然不易被发现 :)
◇用于隐匿自己的IP
这种场景比较少见。一般来说,只有像俺这种”反党人士”,才有这种需求。举个例子:
你想通过 QQ 群发一些”不和谐的言论”。但是大伙儿应该都知道,”疼逊”是朝廷的走狗,他会帮朝廷追查”反动言论的始作俑者”。因为 QQ 服务器会记录每一个 QQ 用户的 IP 地址。一旦发现某个用户发送煽动性言论,官府的捕头直接根据 IP 地址就可以定位到你的位置。
那该咋办捏?
某些天真的网友会想,如果为 QQ 设置代理,让 QQ 客户端通过代理联网;那么 QQ 服务器看到的就是代理的 IP 而不是本人的 IP。
但是捏,这种做法不一定保险。即使你给 QQ 客户端设置代理,说不定 QQ 还是会偷偷地、(不经过代理)直接连接 QQ 服务器。如果是这样的话,那你的真实 IP 还是会暴露。
正宗的做法如下:
装2个虚拟机系统(简称 A 系统 和 B 系统)。A 系统装翻墙软件,配置双网卡,分别用 NAT 模式和 Host-Only 模式。B 系统装 QQ,单网卡,配置为 Host-Only 模式。然后配置 QQ 的代理,让 QQ 的代理指向 A 系统的翻墙软件。由于 B 系统的网卡是 Host-Only 模式,QQ 客户端即使想偷偷地直连服务器,也办不到。所以,QQ 只能老老实实地通过 A 系统中转。由于 A 系统的中转是通过翻墙代理,最终 QQ 服务器看到的是翻墙代理的 IP,看不到你本人的真实 IP。
顺便说一下,如果你对安全性的要求比较高,可以在 A 系统中使用多重代理,具体的操作请看俺之前的博文。用了多重代理,朝廷几乎没可能从网络层面追踪你的真实 IP。
光这么说,可能比较抽象,某些网友未必能搞懂。有空的话,俺会在《如何隐藏你的踪迹,避免跨省追捕》系列中,再补上一篇,详细介绍一下这个”双虚拟机”的招数。
★用于软件开发和测试
考虑到俺博客的读者中,还是有不少软件从业人员。最后再介绍一下虚拟机在软件开发和测试中的应用。◇搭建开发环境
比方说你的工作是编写 Linux 平台的程序,但是你平时又不习惯用 Linux 而喜欢用 Windows。咋办捏?
你可以在 Windows 系统中安装一个 Linux 的虚拟机。当写程序或调试程序时,切换到这个虚拟机中,其它时间照常用 Windows。
◇搭建测试环境
类似于开发人员,测试人员也可以通过虚拟机来搭建测试环境。根据俺的经验,虚拟机对测试人员的帮助要大于对开发人员的帮助。虚拟机能给测试带来如下好处:1. 搭建多样化的测试环境
假如你的工作是测试某个软件的 Web 界面。因为要考虑兼容性,你需要分别用不同版本的 IE 来测试它。但是不同版本的 IE 又不能装在同一个 Windows 系统里。
咋整捏?
解决之道就是:装若干个 Windows 虚拟机。有的虚拟机装 IE6,有的装IE8,有的装IE9……以此类推。这样一来,你就可以在一台电脑上,测试多种版本的 IE 浏览器。
2. 确保测试环境的一致性
在没有虚拟机的时代,测试人员往往是在自己的操作系统中进行测试。由于每个测试人员的操作系统可能会有差异(比如:安装的软件不同、升级的补丁不同、等等),这种环境差异会对测试结果造成干扰。比如同一个 bug 张三测试出来,而李四却无法复现。
有了虚拟机之后,可以让同一个测试组的人员使用同一个虚拟机镜像做测试环境。如此一来,可以绝对保证测试环境的一致性。
3. 确保测试环境的纯洁性
在没有虚拟机的时代,测试人员每次拿到新版本的软件之后,需要先卸载旧版本,然后再安装新版本。但是捏,一旦旧版本没卸载干净(比如在系统目录还遗留了旧的动态库),可能会引发很多诡异的问题。
有了虚拟机之后,测试人员可以先做一个干净的虚拟机快照。测试人员每拿到新版本,先把测试用的虚拟系统回退到这个干净的快照,然后再安装。如此一来,可以保证待测的软件总是安装在一个干净的环境中,避免干扰因素。
★结尾
对于虚拟机,上面这些招数算是比较常用的。还有一些应用场景,因为比较冷门,俺就不在这里介绍了。本系列的下一篇,介绍一下 VMware 的安装和使用。
回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2012/11/system-vm-2.html
另外,个人认为虚拟机还是要安装HIPS类软件,至少是能防止和控制软件截屏、键盘访问、磁盘底层访问的安全软件, 不然真实主机上的隐私还是有可能被虚拟机里的流氓软件截获 …
用虚拟机隐藏敏感数据是一个办法,不过还是不如加密系统更安全。
虚拟机隐藏IP的部分很有用 .
----------------------------------------
扫盲操作系统虚拟机[3]:虚拟机软件的选择
最近10年来,虚拟化技术发展很快,市面上也冒出了一大堆(至少几十种)的虚拟机软件。所以,在介绍了虚拟机的应用场景之后,俺再来介绍一下”如何选择虚拟机软件”。
★根据知名度筛选
为啥把知名度作为第一筛选标准捏?因为知名度高的软件,用的人通常也比较多。当你使用该软件碰到问题/困难时,也就更容易从网上找到相关的资料。如果是商业软件的话,用的人越多,也就越容易找到破解或者注册码 :-)如今的虚拟机软件,名气比较大的有如下几款(按字母序排列):
KVM、Parallels、VirtualBox、Virtual PC 系列、VMware 系列、Xen
★根据支持的OS来选择
接下来再看虚拟机软件支持哪些操作系统。对操作系统的支持包括两个层面:第一个层面是支持哪些 Host OS,第二个层面是支持哪些 Guest OS。关于 Host OS 和 Guest OS 的概念,本系列第一篇已经介绍过,这里就不再啰嗦了。
当今的桌面操作系统,最流行的分别是 Windows、Mac OS X、Linux。考虑到俺博客的读者群,这三种系统的用户都有。所以,本系列推荐的虚拟机最好能在 Host OS 层面和 Guest OS 层面同时支持这三款操作系统。根据这个标准,就排除掉了 KVM、Xen、Virtual PC——因为 KVM 和 Xen 不支持 Windows 作为 Host OS;而 Virtual PC 不支持 Linux 做 Host OS。
★三个候选者
两轮淘汰下来,剩下三个候选软件:VMware、VirtualBox、Parallels。下面简单介绍一下这三个候选者。◇VMware
VMware 的官网链接在”这里”所谓的 VMware 虚拟机软件,其实是一个很大的家族,成员比较复杂。在这个家族中,面向桌面用户的产品有 VMware Workstation、VMware Fusion、VMware Player。
其中的 VMware Workstation 面向 Windows/Linux 用户,VMware Fusion 面向 Mac OS X 用户。至于 VMware Player 要特别说一下:这款软件虽然免费,但功能实在太弱了(连快照都不支持)。不支持”快照”的虚拟机软件,简直形同废物。所以俺就不考虑 VMware Player 了。本文后续部分提到的 VMware,均指 VMware Workstation 和 VMware Fusion。
◇VirtualBox
VirtualBox 的官网在”这里”在这三个候选者中,VirtualBox 是仅有的开源软件(而且免费)。如果用它的话,你既不用花钱,也不用盗版。别看是免费,功能完全不逊色,具体细节后面会介绍。
◇Parallels
Parallels 的官网在”这里”Parallels 包括两款软件:Parallels Desktop 面向 Mac OS X 用户;Parallels Workstation 面向 Windows/Linux 用户。
这玩意儿的知名度可能不如前两个,但在苹果社区的口碑还是不错滴。据说 Parallels 公司把研发的重点放在 Parallels Desktop,导致 Parallels Desktop在版本更新、功能、稳定性方面,都比 Parallels Workstation 要好。
俺个人觉得,用 Mac OS X 的同学可以考虑试试 Parallels Desktop,至于用 Windows/Linux 的同学,就甭考虑 Parallels Workstation 了。
★功能对比
◇快照
快照是基本功能,这三款软件自然都支持。而且都支持多层次的树形快照。点评:三者持平
◇数据交换
这是指在 Host OS 和 Guest OS 之间交换数据。常见的方式有三种:共享目录、共享剪贴板、鼠标拖放。这三款软件同时都支持上述三种方式。提醒一下:VirtualBox 的拖放功能迟至 4.2.0 版本才加入,可能还不太完善。
除了上述三种方式,VMware 还支持把 Guest OS 的硬盘文件映射到 Host OS的某个盘符。通过此功能,即使 Guest OS 没有运行,你也可以方便地访问 Guest OS 里面的文件。
点评:VMware 占优
◇CPU VT
所谓 “CPU VT” 就是在 CPU 硬件层面提供虚拟化相关的指令。利用这些指令,虚拟机软件可以更好、更快地实现虚拟化的功能。更多介绍请看维基百科”这里“。目前 x86 芯片的 VT 技术主要是 AMD-V 和 Intel-VT,这三款软件都支持。
点评:三者持平
◇磁盘文件格式
VMware 只支持自家的 VMDK 格式。Parallels 除了支持自家的 HDD 格式,还支持 VMware 的 VMDK 格式。
VirtualBox 除了支持自家的 VDI 格式,还支持如下几种:
VMDK(VMware 虚拟机的格式)
VHD, VHDX(VirtualPC 虚拟机的格式)
HDD(Parallels 虚拟机的格式)
QCOW, QED(QEMU 虚拟机的格式)
点评:VirtualBox 占优
备注:因为 VirtualBox 支持的格式多,其它虚拟机软件制作的 VM 要迁移到 VirtualBox 会比较容易。
◇光盘镜像映射
这个功能就是把 Host OS 上的光盘镜像文件映射到 Guest OS 的光驱,让 Guest OS 以为这是一张真实的光盘。这三款软件都支持光盘镜像映射。
VMware 支持 ISO 格式
Parallels 支持ISO, DMG, CUE, CCD 格式
VirtualBox 支持 ISO, DMG, CDR 格式
点评:ISO 格式属于光盘镜像的事实标准,其它格式用的少。所以三者持平
◇USB 支持
“USB 支持” 是指虚拟机软件把 Host OS 上的 USB 设备映射到 Guest OS 中。这三款软件都支持 USB,差别在于 USB 的协议。VirtualBox 目前的 4.2.x 版本仅支持到 USB 2.0;而 Parallels Desktop 从今年的 8 版本刚刚开始支持 USB 3.0;VMware 也是在今年发布的 9.0 版本刚刚支持 USB 3.0
点评:VirtualBox 落后
◇界面中文化
VMware 貌似没有官方的中文版,要靠汉化补丁。Parallels 有中文版,VirtualBox 的界面内置多种语言,可以动态切换。点评:VirtualBox 占优,VMware 落后
◇显示模式
虚拟机软件常用的显示模式有三种:窗口模式、全屏模式、无缝模式。这三款软件同时都支持上述三种模式。
1. 窗口模式
窗口模式是最基本的显示模式。在这种模式下,整个 Guest OS 桌面显示为 Host OS 桌面上的一个窗口。所有 Guest OS 软件的界面都在这个窗口中。
2. 全屏模式
全屏模式就是让 Guest OS 独占整个显示器。在全屏模式下,你看不到 Host OS 的桌面。
3. 无缝模式
所谓 “无缝模式” 就是:让 Guest OS 里面的软件界面从虚拟机的窗口中”跑”出来,直接融合在 Host OS 的桌面里。这种效果是很酷滴!
这三款软件对 “无缝模式” 的叫法不同——VMware 称之为 “Unity”,Parallels 称之为 “Coherence”,VirtualBox 称之为 “Seamless”。
点评:三者持平
◇3D 加速
这三款软件都有 3D 加速,它们都支持了 OpenGL 2.0(或更高)和 DirectX 9(或更高)。点评:三者持平
◇截屏/录像
VMware Workstation 几年前就具有”截屏”和”录像”功能;VirtualBox 只有”截屏”,没有”录像”;Parallels 貌似也没录像功能。
点评:VMware 占优
◇远程操作
所谓远程管理就是:虚拟机软件提供某种方式,让用户可以通过网络远程操作 Guest OS。提醒一下:这种远程操作能力是由虚拟机软件提供的,跟 Guest OS 没有关系。举个例子:你甚至可以远程操作一个 DOS 的虚拟系统。VMware 支持基于 VNC 的远程操作;VirtualBox 支持基于 RDP(远程桌面协议)的远程操作;Parallels 貌似不支持远程操作。
点评:考虑到 RDP 比 VNC 普及,所以 VirtualBox 占优
★性能对比
从刚才的”功能对比”,大伙儿应该可以看出,这三个候选者的功能,有些小差异,但没有实质性的差异。所以俺再来比较一下性能方面的高低。要测性能,必须在同一台电脑里面,使用相同的 Host OS 环境进行测试,才有可比性。所以俺根据三种主流的桌面操作系统,分别介绍。
免责声明:下面列举的性能测评是网上找来的,未必全面,仅供参考。
◇Windows
“这里“有一篇台湾同胞做的测评。Host OS 用 Windows Server 2012,Guest OS 用 Windows Server 2008 R2。该测评针对三种虚拟机软件:VMware Workstation 9、VirtualBox 4.2.0、Hyper-V(这里的 Hyper-V 用的是 Windows 2012内置的)
测试结果是:Hyper-V 明显好于 VMware Workstation 9,VMware Workstation 9 好于 VirtualBox 4.2.0
考虑到 Hyper-V 是 Windows Server 2012 内置的,而且测试方法是 Windows 虚拟 Windows,所以 Hyper-V 的结果未必能说明问题。
不过捏,VMware Workstation 9 比 VirtualBox 4.2.0 快,倒是可以说明一定的问题。
◇Mac OS X
“这里” 有一篇很全面的测评,使用 Parallels Desktop 8, VMware Fusion 5, VirtualBox 4 这三款虚拟机软件,在苹果系统中虚拟 Windows。为了提供参照,还特意测试了 Windows 系统直接运行在 Mac 硬件上的性能指标,作为虚拟机性能的对比。从发布时间看(Sep 17 2012)算是比较新鲜的。从测评的综合结果看,Parallels Desktop > VMware Fusion 5 > VirtualBox 4。而且 VirtualBox 4 落后较多。
◇Linux
“这里“有一篇去年(Sep 09 2011)的测评,基于 Linux Mint,测试了 VirtualBox 和 VMware。该测试中,至少有6项指标,VMware 明显好于 VirtualBox;只有一项指标是 VirtualBox 明显好于 VMware。“这里” 还有一篇半年前(May 01 2012)的测评,对比了4款虚拟机(Hyper-V, ESXi, KVM, VirtualBox),其中的 ESXi 属于 VMware 家族。从这篇测评的结论看,VirtualBox 比 KVM 略好,不如 Hyper-V 和 ESXi。
★总结
功能上,三个候选者各有胜负,但差别不大。性能上,VirtualBox 在三种系统都不如 VMware;苹果系统上,Parallels 明显占优。虽然 VirtualBox 性能不够好,但它是开源软件,无需花银子。
俺的建议是:
Windows 的用户,在 VMware Workstation 和 VirtualBox 二选一(Parallels Workstation 用的人太少,明显不给力,不予考虑)。
Mac OS X 的用户,在 Parallels Desktop 和 VirtualBox 二选一(苹果系统的 Parallels Desktop 比 VMware Fusion 好,价格还便宜,于是排除掉 VMware Fusion)。
Linux 的用户,在 VMware Workstation 和 VirtualBox 二选一(如果你是铁杆 Linux 用户,这辈子铁定不用其它 OS 做宿主,或许也可以考虑 KVM 或 Xen)。
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2012/11/system-vm-3.html
==========
扫盲操作系统虚拟机[4]:虚拟系统的安装(多图)
不少网友在博客留言中表达了对虚拟机系列的关注,所以今天再抽空发一篇。
在上一篇帖子,俺已经介绍了”如何适合你的虚拟机软件”。今天来扫盲一下如何在虚拟机软件中安装虚拟操作系统。因为本系列是扫盲,本文尽量写得傻瓜化一些,以迎合不懂技术的网友。
★准备工作
◇下载虚拟机软件
由于篇幅有限,本文只介绍 VMware Workstation(后面简称 VMware) 和 VirtualBox 这两款虚拟机软件。VirtualBox
因为是开源而且免费的,所以 VirtualBox 很容易获取。
用鼠标猛击”这里“,打开 VirtualBox 官网的下载页面。该页面上提供了针对 Windows、Mac OS X、Linux 的安装包,根据你的操作系统择一下载即可。下载完安装包,再顺便把扩展包也下了(扩展包不区分操作系统的)。
顺便表扬一下 VirtualBox 的短小精悍。目前最新的 4.2.4 版本也才90兆。
VMware
VMware 因为是商业软件,下载稍微麻烦点。
用鼠标猛击”这里“,打开 VMware 官网的下载页面。下载的时候,需要你输入一个 VMware 的帐号和口令。所以,你还得用自己的邮箱去注册一个 VMware 的帐号(放心,是免费滴)。注册了帐号之后,你应该就可以顺利下载到安装包了。
拿到安装包还没完——这个安装包只能让你试用若干天。为了能长期用下去,你要么上网 Google 一下注册码,要么花银子买正版。
◇准备一张安装盘
拿到虚拟机软件之后,再准备一张你要安装的操作系统的安装盘,可以是传统的光盘,也可以是 ISO 格式的光盘镜像文件。俺个人建议用光盘镜像文件,比较方便。一来传统的光盘容易坏(比如不小心划伤);二来传统光盘不论是自己刻录还是买盗版盘,都要花银子滴。反之,光盘镜像文件可以直接从网上下载,也可以找朋友 COPY,省钱又省力 :)
经常有人问如何搞到正宗的 Windows 7 光盘镜像。想知道的网友,请看《如何防止黑客入侵[7]:Web相关的防范》一文的留言(第12楼),链接在”这里“。
★安装虚拟机软件
不论是 VMware 还是 VirtualBox,安装过程都比较简单。如果你是菜鸟级用户,只需一路按 Next 即可。所以,这部分俺就不浪费口水了。顺便提醒一下:VMware Workstation 从 6.0 版本开始就变得很臃肿——软件装好之后至少占掉你 1GB 的硬盘空间。
★虚拟机软件的配置
虚拟机软件装好之后,需要简单设置一下。下面分别介绍 VMware 和 VirtualBox 的全局设置。◇VMware Workstation
运行 VMware,在主菜单上点 “Edit” 再点 “Preferences”,弹出 VMware 全局设置的对话框。选 “Workspace” 标签页,设置今后你要创建的 Guest OS 的默认存放位置(如下图)。
如果你打算长期使用虚拟机,俺个人的建议是:单独开辟一个大分区,专门用来存放你创建的 Guest OS。
选 “Hot Keys” 标签页,设置热键。
简单说一下热键的用途。
当某个 Guest OS 进入全屏模式,或者某个 Guest OS 捕获了鼠标键盘的输入,你可以通过按这个热键退回到 Host OS
如果你觉得默认的热键用起来还算顺手,就不用再设置了。
选 “Memory” 标签页,设置内存参数。
首先,设置 VMware 预留的内存数量。如果你需要同时运行多个 Guest OS,就需要预留多一些内存。
其次,设置内存使用方式。有三个选项,俺简单解释一下:
选项1:所有的 Guest OS 都加载到物理内存
选项2和选项3:允许 Guest OS 使用 Host OS 的虚拟内存
如果你的物理内存足够大,建议用选项1(这样性能足够好)
◇VirtualBox
运行 VirtualBox,在主菜单上点 “管理” 再点 “全局设定”,弹出 VirtualBox 全局设置的对话框。在左边选 “常规” 标签页,设置今后你要创建的 Guest OS 的默认存放目录(如下图)
如果你打算长期使用虚拟机,俺个人的建议是:单独开辟一个大分区,专门用来存放你创建的 Guest OS。
在左边选 “热键” 标签页,设置 VirtualBox 的热键。
简单说一下热键的用途。
当某个 Guest OS 进入全屏模式,或者某个 Guest OS 捕获了鼠标键盘的输入,你可以通过按这个热键退回到 Host OS
如果你觉得默认的热键用起来还算顺手,就不用再设置了。
在左边选 “扩展” 标签页,添加扩展包。
要添加的扩展包就是刚才下载安装包的时候,一起下载的那个扩展包。
★安装 Guest OS
下面分别介绍 VMware 和 VirtualBox 如何安装 Guest OS。◇VMware Workstation
运行 VMware,在主菜单上点 “File” 再点 “New” 再点 “Virtual Machine”,弹出创建 Guest OS 的向导。向导第1步
作为新手/菜鸟,你显然要用默认的 Typical 向导。
向导第2步
选第三个选项,意思就是说:先创建一个空白的 Guest OS,最后再自己装系统。
向导第3步
选操作系统类型和版本
向导第4步
填写 Guest OS 的名称和存储目录
向导第5步
这个向导默认只会帮你加一块虚拟磁盘。这一步是让你配置虚拟磁盘的大小。
如果你需要多块磁盘,待会儿自己到 Guest OS 的设置选项中配置。
这步完成后,向导就结束了,一个空白的 Guest OS 也创建好了。
Guest OS 创建好之后,调出它的设置对话框。
在 “Hardware” 标签页下,选择 “Memory”,调整 Guest OS 的内存大小。如果你需要在这个 Guest OS 里面运行一些重量级的应用软件,就需要多配点内存给它。否则的话,直接用默认值即可。
在 “Hardware” 标签页下,选择 “Processors”,配置 CPU 的数量和每个 CPU 的核心数量。
在 “Hardware” 标签页下,选择 “CD/DVD”,然后在右边选(你要安装系统的那张安装光盘的)镜像文件。
上述步骤都配置完毕,点 “Power On” 按钮,Guest OS 就开机了。然后就是操作系统的安装过程(装系统就不用俺来教了吧?)
◇VirtualBox
运行 VirtualBox,在工具栏上点 “新建”,弹出创建 Guest OS 的向导。向导第1步
选操作系统类型和版本
向导第2步
设置 Guest OS 的内存。
如果你需要在这个 Guest OS 里面运行一些重量级的应用软件,就需要多配点内存给它。否则的话,直接用默认值即可。
向导第3步
创建一块虚拟硬盘给 Guest OS 用
向导第4步
选择虚拟硬盘的类型。
如果你不打算迁移到其它虚拟机软件,直接用 VirtualBox 自家的 VDI 格式。
如果今后有打算把创建出来的 Guest OS 迁移到 VMware,就可以选 VMDK 格式。
向导第5步
选虚拟硬盘的分配方式。
除非你电脑的硬盘空间非常非常充裕,否则的话不要用 “固定大小”。通常建议用 “动态分配” 方式。
向导第6步
这个向导默认只会帮你加一块虚拟磁盘。这一步是让你配置虚拟磁盘的大小。
如果你需要多块磁盘,待会儿自己到 Guest OS 的设置选项中配置。
这步完成后,向导就结束了,一个空白的 Guest OS 也创建好了。
Guest OS 创建好之后,调出它的设置对话框。
在对话框左边 “系统”,配置 CPU 的数量。
VirtualBox 还有一个特色功能,就是设定 Guest OS 使用的 CPU 上限。这个功能可以防止某个 Guest OS 把 CPU 耗尽,导致你的 Host OS 失去响应(假死)。
在对话框左边 “存储”,然后在右边选(你要安装系统的那张安装光盘的)镜像文件。
上述步骤都配置完毕,点工具条上的 “启动” 按钮,Guest OS 就开机了。然后就是操作系统的安装过程(装系统就不用俺来教了吧?)
★结尾
以上就是两款常见的虚拟机软件安装 Guest OS 的过程。列位看官如果有啥疑问,请到本文留言。版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2012/12/system-vm-4.html
-------------------------------------------------------------------
今天扫盲一下虚拟系统的配置。跟上一篇类似,本文继续拿 VMware Workstation(后面简称 VMware)和 VirtualBox 来说事儿。
★准备工作
首先确保你已经有一个安装完成的虚拟系统(Guest OS),然后进行如下的准备工作。
◇VMware
先启动虚拟系统并以管理员用户登录到虚拟系统中;然后,在 VMware 软件的主菜单选 "VM" 再选 "Install VMware Tools"。接下来,VMware 就会在虚拟系统中启动 VMware Tools 的安装程序(你会看到一个安装界面自己跳出来)。你只需要一路点 "Next" 就可完成安装。
提醒一下:VMware Tools 是对应到每一个虚拟系统的。假设你有多个虚拟系统,那每一个虚拟系统都需要装一次。如果不安装 "VMware Tools",可能会影响后续介绍的若干功能。
◇VirtualBox
在上一篇帖子已经介绍了 VirtualBox 扩展包的下载和安装,此处不再啰嗦。
提醒一下:确保你已经安装了扩展包。如果不安装扩展包,可能会影响后续介绍的若干功能。
★运行状态
虚拟系统就跟真实的电脑一样,也有几种不同的运行状态。
◇名词解释
运行
处于运行状态时,虚拟系统会占用物理系统的内存和CPU。如果去看真实系统的进程列表,会看到该虚拟系统对应的进程在内存中。
关机
虚拟系统处于关机状态时,既不占用内存,也不占用 CPU。
休眠
当虚拟系统休眠时,虚拟系统的内存会被写到硬盘上。处于该状态,虚拟系统完全不占用真实系统的内存和 CPU。
和"关机"状态相比,"休眠"会多出一个内存文件(该内存文件的大小也就是虚拟系统的内存大小)。所以"休眠"状态比"关机"状态会多消耗一点硬盘。
"休眠"的好处在于:启动一个"休眠"的系统比启动一个"关机"的系统更快,而且休眠的系统唤醒之后,你的虚拟系统会恢复到休眠之前的样子,省得你再重新开启一堆软件。
暂停
处于"暂停"状态的虚拟系统,会继续占用物理系统的内存,但是不占用物理系统的 CPU。这时候如果去看物理系统的进程列表,会看到该虚拟系统对应的进程还在内存中,但是该进程的 CPU 占用率为零。
"暂停"的好处在于:当你同时运行好多个虚拟系统(俺就经常这样),如果感觉真实系统的 CPU 吃不消了,可以先把没用到的虚拟系统暂停。
"暂停"操作比"休眠"操作更快,因为暂停操作不需要把虚拟系统的内存写入磁盘。坏处是,被暂停的虚拟系统依然占用你的物理内存。
◇VMware
因为 VMware 采用洋文的界面,先简单列出术语对照表
Power On 从关机状态中启动,变为运行状态
Power Off 把运行状态中的虚拟系统变为关机
Reset 重启动"运行"状态的虚拟机
Suspend 休眠
Resume 从休眠中唤醒
Pause 在"暂停"状态和"运行"状态之间切换
以下是 VMware 的截图
◇VirtualBox
VirtualBox 是中文界面,俺就不用再给术语对照了,直接上图。VirtualBox 的关机功能做得比较细致,赞一个。它的"正常关机"相当于"软关机";它的"关闭电源"相当于"硬关机"。
★快照
快照功能是虚拟机最重要的附加功能。在本系列第2篇《介绍各种应用场景》,俺已经介绍了很多快照的用途。
◇概念解释
所谓的"快照",就是把虚拟系统在某一个瞬间的各种状态信息保存下来。这里的"状态信息"至少包括:该虚拟系统所有(非独立)磁盘的状态、所有内存的状态、所有其它虚拟硬件的配置、等等(关于"独立磁盘",后面会提到)。
而且虚拟机软件提供的快照功能是支持"树形层次"的,你可以在某个快照的基础上,再建立其它快照。什么是"树形层次",看下面这张图,你应该就明白了。
◇VMware
在 VMware 中,快照称之为 "Snapshot"。选主菜单的 "VM" 再选 "Snapshot" 二级菜单,就可以看到快照相关的功能项。
也可以在选中某个虚拟系统之后,直接用快捷键 "Ctrl + M" 调出该虚拟系统的快照管理界面。刚才那张"树形层次"的截图,就是 VMware 的快照管理界面。
◇VirtualBox
VirtualBox 的中文界面把快照称之 "备份"(这个翻译总觉得不太爽)。在 VirtualBox 管理器界面上,选中某个虚拟系统,然后点工具条右边的"备份"按钮,就可以切换到快照管理界面。
★显示器
◇显示模式
在本系列前面博文已经简单介绍过显示模式。考虑到某些同学比较健忘,再啰嗦一次(下面这三种模式,VMware 和 VirtualBox 都支持)
窗口模式
窗口模式是最基本的显示模式。在这种模式下,整个 Guest OS 桌面显示为 Host OS 桌面上的一个窗口。所有 Guest OS 软件的界面都在这个窗口中。
全屏模式
全屏模式就是让 Guest OS 独占整个显示器。在全屏模式下,你看不到 Host OS 的桌面。
无缝模式
所谓 "无缝模式" 就是:让 Guest OS 里面的软件界面从虚拟机的窗口中"跑"出来,直接融合在 Host OS 的桌面里。这种效果是很酷滴!
◇VMware
在 VMware 的主菜单选 "View" 就可以看到和显示模式相关的功能项。
对于窗口模式,VMware 采用标签页的方式显示,每一个标签页是一个 Guest OS。
VMware 的全屏模式有两种,分别对应上述菜单的 "Full Screen" 和 "Quick Switch"。至于哪一种比较好用,那就见仁见智了。如果想退出全屏模式,可以按"虚拟机热键 + Enter"(虚拟机热键的设置,前一篇博文有介绍),也可以把鼠标移到屏幕顶部,就会自动浮现一个工具条(对于 "Full Screen")或菜单条(对于 "Quick Switch")。
上述菜单的 "Unity" 就是"无缝模式"。该功能需要 VMware Workstation 6.0 或更新版本才能用。如果你的 Guest OS 是用 6.0 之前的版本创建的,可能就用不了 Unity。
最后,建议勾选上述菜单的 "Autofit Guest" 选项。勾选之后,VMware 会自动调整 Guest OS 的桌面分辨率,以适应 Host OS 的显示器分辨率。
◇VirtualBox
VirtualBox 的窗口模式跟 VMware 不太一样。每一个 Guest OS 都有一个单独的窗口。在这个 Guest OS 窗口的主菜单选 "视图",就可以看到跟显示模式相关的功能项。
菜单项右边是快捷键的提示。其中的 "Host" 表示你设置的虚拟机热键(虚拟机热键的设置,前一篇博文有介绍)。最好熟记这几个快捷键。
VirtualBox 的窗口模式有两种:"有自动缩放" 和 "无自动缩放"。所谓的自动缩放,就是当你调整这个 Guest OS 的窗口大小时,Guest OS 的桌面分辨率会自动跟着调整,以适应该窗口的大小尺寸。
如果想退出全屏模式,可以按 "虚拟机热键 + F" 从全屏模式返回窗口模式;也可以把鼠标移到屏幕顶部,就会自动浮现一个工具条。
★磁盘
◇控制器
在介绍虚拟系统的硬盘配置之前,先聊一下控制器。所谓的 "控制器",通俗地说就是用于主板和存储设备之间进行数据传输的玩意儿。常见的硬盘控制器有两种:IDE 和 SCSI。
上次有读者在博客留言,询问这两种的差异,俺今天简单说一下。一个 IDE 控制器最多只能支持4个设备。举个例子:你已经在 Guest OS 上添加了一个 IDE 的硬盘和一个 IDE 的光驱。那么,今后如果要再加 IDE 硬盘,就只能再加2个了。而 SCSI 就没有这个限制,一个 SCSI 控制器可以支持好多好多个设备(反正足够你用的)。
◇VMware 添加硬盘
选中某个虚拟系统,在主菜单选 "VM" 再选 "Setting"(也可以直接用快捷键 Ctrl+D),就会弹出虚拟系统的"设置对话框"。然后点"设置对话框"下面的 "Add" 按钮,就会出现一个添加硬件的向导。该向导会帮你一步步地添加一个硬盘。以下是向导的5张截图。
第1步,硬件类型选"Hard Disk"
第2步
第3步,制器类型和磁盘模式
制器类型刚才已经介绍过了。磁盘模式俺稍微说一下。
默认情况下创建的都是"非独立磁盘",也就是说,虚拟机快照会记录磁盘上的所有数据。如果你勾选 "Independent",则创建的是"独立磁盘"。"独立磁盘"的数据不会受快照的影响。
"独立磁盘"又分两类:持久性和非持久性。在"持久性磁盘"上,所以的数据修改都会永久保存,不受快照回退的影响;在"非持久性磁盘"上,所有的数据修改都不会永久保存,每次虚拟机关机之后,磁盘的数据就会恢复原状。
第4步,设置磁盘最大容量
第5步,设置虚拟磁盘在 Host OS 的存储位置
通常 VMware 会给出一个默认文件名,你直接用这个文件名即可。
◇VirtualBox 添加硬盘
在 VirtualBox 管理器界面上选中某个虚拟系统,在工具条上点 "设置" (也可以直接用快捷键 Ctrl+S),就会弹出虚拟系统的"设置对话框"。在左边选"存储",右边就会出现磁盘管理的界面。默认安装的 VirtualBox 虚拟系统,已经存在一个 IDE 控制器。
选中这个 IDE 控制器,点下方第一个带加号的按钮,然后选"添加虚拟硬盘"
它会问你是是"创建新的"还是"使用现有的",你选"创建新的"
之后就会弹出创建虚拟硬盘的向导。这个向导在前一篇博文已经介绍过,这里就不再浪费口水了。
万一你需要添加的虚拟磁盘(包括虚拟光驱)超过了4个,那就得改用 SCSI 控制器。还是在刚才这个界面,点下方第三个按钮,弹出一个快捷菜单,选"添加SCSI控制器"。
然后就会多出一个新的 SCSI 控制器。选中该控制器,点下方第一个按钮,就可以创建新的 SCSI 磁盘了。
★网卡
网卡的配置有点复杂,俺多费点口水。那些等着看"双虚拟机安全方案"的网友,一定要先把这个章节看仔细喽。
◇网卡模式
虚拟系统的网卡和真实系统有较大差别。虚拟系统的网卡可以设置为不同的模式。不同的网卡模式主要影响网卡可访问的范围(可见性)。常见的网卡模式有如下三种:
Host Only(对外部网络不可见)
顾名思义,该模式的网卡只在 Host OS 的范围内可见。因为该模式只在 Host OS 的范围内可见,所以该模式的网卡是无法访问 Host OS 的外部网络(也就是无法访问其它电脑)。
虽然 Host-Only 网卡不能访问外部网络,但是多个 Host-Only 网卡之间是可以互相访问滴。比如你同时运行多个 Guest OS,把这些 Guest OS 上的网卡都设置为 Host-Only 模式,那么这些 Guest OS 是可以相互访问滴。
NAT(对外部网络单向可见)
NAT全称是"网络地址转换"。考虑到本系列是扫盲性质,俺就不解释 NAT 的原理了。
处于 NAT 模式下的网卡,可以访问 Host OS 的外部网络。比方说你的 Host OS 已经接入互联网,那么 Guest OS 里面的软件可以通过 NAT 模式的网卡上网。但是,Host OS 外部(也就是其它电脑)是看不到这个 NAT 网卡的。
对于普通网友,俺建议把网卡设置为 NAT 模式。因为 NAT 模式可以起到类似防火墙的效果,比较有利于保护你的虚拟系统的安全。
Bridge(对外部网络双向可见)
所谓的双向可见就是——Bridge 模式的网卡可以看到外部的电脑,外部的电脑也可以看到该网卡。
普通网友一般不需要 Bridge 模式,NAT 模式就足够了。
◇VMware 配置网卡
选中某个虚拟系统,在主菜单选 "VM" 再选 "Setting"(也可以直接用快捷键 Ctrl+D),就会弹出虚拟系统的"设置对话框"。对于默认装好的虚拟系统,通常只有一个虚拟网卡。在"设置对话框"左边选"Network Adapter",右边就是这个虚拟网卡的设置选项。
如果你想添加多个网卡,可以点"设置对话框"下面的 "Add" 按钮,会弹出"添加硬件"的向导。然后选"Network Adapter"这个硬件类型。
向导的第2步会让你选网卡模式。
◇VirtualBox 配置网卡
在 VirtualBox 管理器界面上选中某个虚拟系统,在工具条上点"设置"(也可以直接用快捷键 Ctrl+S),就会弹出虚拟系统的"设置对话框"。在左边选"网络",右边就会出现网卡的配置界面。界面上有4个标签页,代表4个网卡。默认只有第一个是启用的。"连接方式"的下拉框会列出 VirtualBox 支持的网卡模式。
VirtualBox 支持的网卡模式比较多,但是其它那几种模式平时难得用到。最常用的还是 NAT 模式。
★数据交换
所谓的"数据交换",就是在 Host OS 和 Guest OS 之间交换数据。
◇文件共享
大部分虚拟机软件都支持"文件共享"。所谓文件共享,就是把 Host OS 里面的某个目录映射到 Guest OS 里面。如果你的 Guest OS 是 Windows 2000及之后的版本,可以到 Guest OS 的"网上邻居"里面找到被映射进来的目录。
对于 VMware
照例打开虚拟系统的"设置对话框",切换顶部标签页到 "Options",参照下图设置
对于 VirtualBox
照例打开虚拟系统的"设置对话框",选左边的"共享文件夹",参照下图设置
◇文件拖放 / 剪贴板共享
利用"文件拖放"功能,你可以在 Host OS 和 Guest OS 之间拖拽文件。
所谓"剪贴板共享",顾名思义,就是让 Host OS 和 Guest OS 共用一个剪贴板。你可以在一个 OS 里面拷贝,在另一个 OS 里面粘帖。
对于这两个功能,VMware 只支持双向同步;而 VirtualBox 做得比较细致,支持单向同步。不过 VirtualBox 的文件拖放功能迟至 4.2.0 版本才加入,还不太成熟。
对于 VMware
照例打开虚拟系统的"设置对话框",切换顶部标签页到 "Options",参照下图设置
对于 VirtualBox
照例打开虚拟系统的"设置对话框",选左边的"常规",参照下图设置
◇映射虚拟磁盘
此功能目前 VMware 提供,VirtualBox 不提供。该功能可以把某个虚拟磁盘映射到你指定的某个 Host OS 的盘符。这样一来,你无需启动虚拟机就可以访问虚拟磁盘的文件。
VMware 的设置如下:照例打开虚拟系统的"设置对话框",选中要映射虚拟磁盘,参照如下截图设置。
★其它配置
前面介绍的都是比较常见的配置。搞明白上述这些配置,基本上就可以满足虚拟系统的常规使用了。其它一些配置,要么比较简单(比如 声卡、USB口),要么很少用到(比如 串口、并口),所以今天的介绍就到此为止。
大伙儿如果有其它疑问,请翻墙到本文留言。如果觉得还有哪些配置需要补充,也可以留言告知俺。
回到本系列的目录
--------------------------------------------------------------------------
什么是虚拟机
比较通俗的回答(适合没有电脑基础的朋友)
虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚 拟机的设置,而不用担心对自己的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样了,不知道我说的能明白不^_^,简单说就是一句话,虚拟 出来的电脑,你干什么都行。
比较专业的回答(适合有一点电脑基础的朋友)
虚拟机是指运行在Windows或Linux计算机上的一个应用程序,这个应用程序“模拟”了一个基于x86的标准PC的环境。这个环境和普通的计算机一 样,都有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器、SCSI控制器等设备,提供这个应用程序的“窗口”就是 虚拟机的显示器。在一台电脑上将硬盘和内存的一部分拿出来虚拟出若干台机器,每台机器可以运行单独的操作系统而互不干扰,这些“新”机器各自拥有自己独立 的CMOS、硬盘和操作系统,你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网络。在虚拟 系统崩溃之后可直接删除不影响本机系统,同样本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统。同时它也是唯一的能在 Windows和Linux主机平台上运行的虚拟计算机软件。虚拟机软件不需要重开机,就能在同一台电脑使用好几个OS,不但方便,而且安全。虚拟机在学习技术方面能够发挥很大的作用。
为什么使用虚拟机
1. 演示环境,可以安装各种演示环境,便于做各种例子;
2. 保证主机的快速运行,减少不必要的垃圾安装程序, 偶尔使用的程序,或者测试用的程序在虚拟机上运行;
3. 避免每次重新安装,银行等常用工具,不经常使用, 而且要求保密比较好的,单独在一个环境下面运行;
4. 想测试一下不熟悉的应用,在虚拟机中随便安装和彻 底删除;
5. 体验不同版本的操作系统,如Linux、Mac等。
终端虚拟化由于其带来的维护费用的大幅降低而受到追捧——如能降低占用空间,降低购买软硬件设备的成本,节省能源和更低的维护成本。它比实际存在的终端设备更加具备性价比优势。但这些并非是教育行业和厂商对虚拟化技术情有独钟的惟一原因。另一方面,我们一般较少提及,那就是:虚拟化技术能大幅提升系统的安全性。
现在流行虚拟机
VMware 可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare 采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的 平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟 机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。
Oracle VM VirtualBox 是由Sun Microsystems公司出品的软件(sun 于 2010年被Oracle收购),原由德国innotek公司开发。2008年2月12日,Sun Microsystems宣布将以购买股票的方式收购德国Innotek软件公司,新版不再叫做Innotek VirtualBox,而改叫Sun xVM VirtualBox。2010年1月21日,欧盟终于同意Oracle收购Sun,VirtualBox再次该名变成Oracle VM VirtualBox。VirtualBox是开源软件。目前VirtualBox 3.2.0支持的操作系统包括:Debian, Fedora,Linux, Mac OS X(Intel), Mandriva, OpenSolaris, PCLiunxOS, Red Hat, SUSE Linux,Solaris 10, Ubuntu, Windows, Xandros, openSUSE等。OracleVM VirtualBox 支持的客户端操作系统包括:从 3.1到Vista的所有版本的Windows、Linux2.2、2.4和 2.6内核、Solaris x86、OS/2、、OpenBSD、 Netware 、FreeBSD 和 DOS。在 2007 年 1 月,InnoTek 以 GNU General Public License (GPL) 释出 VirtualBox,并提供二进位版本及开放源码版本的代码。
Virtual PC 在使用PowerPC处理器的MacOS X版本上,其模拟机“使用”Intel Pentium 4处理器及440BX 系列的主板;而在Windows版本上,会使用电脑本身的处理器。模拟电脑上使用一块标准的SVGA VESA图卡,并与S3 Trio 64 PCI 8 MByte VideoRAM版本的兼容。主板使用American Megatrends (AMI)的BIOS。并有“内置”的 Creative Labs Sound Blaster 16PnP声卡 (Vista上或运行模拟Vista环境时,则使用Vista本身的音效系统,因为Vista并不支援Creative Labs Sound Blaster)及DEC 21041 或 DEC 21140的Ethernet网卡。
Windows XP Mode
使用适用于 Windows 7 的 Windows XP Mode,可以在 Windows 7 上轻松运行多个在 Windows XP 上运行的生产应用程序。它使用虚拟化技术(如 Windows Virtual PC)为 Windows 7 提供虚拟 Windows XP 环境。 Windows XP Mode 可以提供 32 位的虚拟化 Windows XP Professional ServicePack 3 (SP3) 环境。此下载包包含一个预安装了 Windows XP SP3 的虚拟硬盘 (.vhd file)。必须具备客户端虚拟化软件(如 Windows Virtual PC)才能使用
支持的操作系统: Windows 7(Windows 7 专业版、Windows 7 旗舰版或 Windows 7 企业版)
注意:不支持从 Windows XP Mode Beta/ReleaseCandidate 的升级。
硬盘要求:2GB,用于安装 Windows XP Mode。建议为虚拟 Windows 环境准备额外 15GB 的硬盘空间。
注意:可以在计算机上使用 Windows Virtual PC 运行 Windows XP Mode。
2010年3月19日,微软发布更新,Windows XP Mode不再要求硬件虚拟化技术。只要是正版用户都可以从微软官网上免费下载。
什么虚拟机适合你
VMware Workstation的功能是最强大的,它的强大是不容置疑的,所以也是最多人使用的。但是需要注册并且是英文,过于庞大,很多功能我们是用 不到,而且还会开机加载程序(这个很多人不喜欢的)。所以出现了精简版,汉化版,破解版,但是往往出问题就是因为这些改版(不是说某些版本不好,但这个是 事实,使用这些版本会出现莫名其妙的问题,而且很难解决,同时希望能支持正版)
Oracle xVM VirtualBox是开源,免费,相比下,VirtualBoxj比较轻巧,也能实现很多功能。最重要的是有中文,上手比较容易,而已它的 快照功能也靠近VM了,应该说竞争力更强了。
Virtual PC,感觉就是没有什么希望,给微软收购了后只支持 自家的系统(不是其他系统不能用它虚拟,只是需要很强的动手能力)XP mode虽然不错,但是限制也是很多的。
只需要简单的功能的,virtualbox和VPC可以满足你了,如果需要虚拟Linux这类的系统就用 Vritualbox。如果需要强大功能的虚拟机,VMware Workstation就是你的选择了。
PS: 1.VMware Workstation 虽然强大,但是还是要注册的,网上有key,自己搜就行了,还是那句话:中国人用软件不花钱的。
2.想用XP mode的同学,可以试试VMlite
3.什么是硬件虚拟化技术(Intel VT和AMD-V技术)
其实他们都是同一类技术,就是提供特殊的CPU指令,使虚拟化时效率提高。如果想在32位系统虚拟64位系统,拥有 CPU虚拟化技术是必须的,就算是64位系统虚拟64位系统也需要这种技术的。
(如果想了解更专业的含义,请自行搜索)
-------------------------------------------------
用虚拟机隐匿你的公网IP
无代理的情形
如果你上网不使用代理,那么你访问的网站就会看到你的公网 IP。示意图如下
★普通代理的情形
此处说的代理是广义的,包括VPN、多重代理、等。如果用了代理,你访问的网站看到的公网 IP 实际上是代理服务器的 IP。示意图如下
但是不要高兴得太早,仅仅依靠普通的代理,是远远不够滴!请看下面的例子。
★Flash如何暴露你的公网IP?
比如你在浏览器中设置了代理,那么浏览器确实会通过代理来加载网站的页面。但是,浏览器如果安装了某些插件(最典型的是 Flash),这些插件是可以做到绕过代理,直接去访问目标网站的。举个例子:
比如你想在某个国内的网盘上传政治敏感文件。因为这个网盘是国产的,你担心网盘服务器会记录你的公网 IP。所以捏,你设置了浏览器的 HTTP 代理,通过翻墙代理来访问这个网盘的页面。
如今的很多网盘是利用 Flash 插件进行文件上传的。而且 Flash 插件在上传文件的时候,往往是不经过浏览器的 HTTP 代理,直接连接网盘服务器。如此一来,你的公网 IP 还是暴露了 :(。
示意图如下
★某些国产软件如何暴露你的公网IP?
除了浏览器插件(以Flash为主)会暴露你的公网 IP,还有其它很多国产的网络软件也会暴露你的公网 IP。比较典型的有 QQ、腾讯浏览器、360浏览器、迅雷、等等。上述这些网络软件虽然都提供了代理的功能。但是,即使你设置了代理,这些软件依然有可能在后台,悄悄地访问自己公司的服务器,传输某些不可告人的信息。而且这些软件访问自家的服务器,往往是绕过代理设置,直接连接——这就会导致你的公网IP暴露。
示意图如下
★单虚拟机的方案
那么,如何避免上述这几种危险的情况捏?首先来看一下”单虚拟机”的方案。咱们可以把那些有危险的软件安装在虚拟系统(虚拟机A)内,然后把该虚拟唯一的虚拟网卡设置为 Host-Only 模式(关于网卡模式的设置,请看”这里“)。由于唯一的虚拟网卡是 Host-Only 模式,所以 虚拟机(Guest OS)内的任何软件都不可能直接访问外部网络。
那么,如何让这些危险的软件联网呢?你可以在 Host OS 里面安装一个代理软件。虽然这个 Guest OS 无法访问外网,但还是可以访问 Host OS 的,所以也就可以连接到 Host OS 里面的代理软件。然后你设置这些危险软件的 HTTP 代理或 SOCKS 代理,让它们通过代理连接到互联网。
示意图如下
★双虚拟机的方案
说完”单虚拟机方案”,再来说说”双虚拟机方案”。对很多网友而言,单虚拟机已经足够了。那么为啥俺还要介绍双虚拟机捏?主要有如下几方面考虑
1、某些翻墙代理软件不是开源的,有些网友对这类软件不放心
2、某些网友的 Host OS 不是 Windows,但是很多翻墙代理是 Windows 软件
所以,咱们可以在”单虚拟机”的基础上再扩展一下,把代理软件也放到虚拟机中(下图的虚拟机B)。虚拟机B 的网卡很有讲究滴——必须是双网卡。一个网卡设置为 Host-Only 模式,以便跟虚拟机 A对接;另一个网卡设置为 NAT 模式,以便访问外网。
示意图如下
★结合多重代理
在本系列的前一篇,俺介绍了”用多重代理保持匿名“。今天介绍的这2个招数都可以跟多重代理搭配打个比方,假设你用 “TOR+世界通” 来构造多重代理。对于单虚拟机的方案,你把 TOR 和世界通都安装到 Host OS 即可;对于双虚拟机的方案,你把 TOR 和世界通都安装到 虚拟机B 即可。
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2013/01/howto-cover-your-tracks-6.html
---------------------------------------------------------------
用虚拟机隐匿公网IP(2)
◇思想上的准备
首先,如果你对虚拟机软件不太熟悉,一定要先看完俺之前写的《扫盲操作系统虚拟机》。其次,再把本系列的前一篇博文(链接在”这里“)认真看完。那篇博文是介绍”虚拟机隐匿公网IP”的原理,配有精美示意图 :)
◇虚拟机软件的准备
既然要用虚拟机隐匿公网IP,当然要先把虚拟机软件准备好。假如你不晓得该选哪种虚拟机软件,请看俺之前的一篇博文(请翻墙看”这里“),专门介绍虚拟机软件的选择。本文主要拿 VMware Workstation(以下简称 VMware)和 VirtualBox 来介绍。
◇代理软件的准备
先声明一下,本文提到的”代理”一词是广义的,包括普通代理、VPN、多重代理、等。由于本教程是拿虚拟机跟代理软件进行组合搭配,所以你还得懂得使用代理软件。这点应该不难——只要你有翻墙的经历,你就已经在同”代理软件”打交道 了。如果你从来没玩过翻墙,请先学习俺博客上的诸多翻墙教程(包括:TOR、I2P、赛风、世界通、自由门、无界、等等)。
关于代理的类型,俺强烈建议用多重代理(教程在”这里“,需翻墙)。为啥捏?如果你对隐匿性的要求不高,根本都不需要看本教程。你来看本教程,就说明你对隐匿性有较高的要求。既然如此,当然要用多重代理啦——这可以大大增加逆向追踪的难度。
注意事项:要确保你用的代理软件,是监听在 0.0.0.0 地址,而不是监听在 127.0.0.1 地址。 如果代理软件只监听在 127.0.0.1 地址,那么其它虚拟机的网络软件是无法连接到这个监听端口的。如何看代理软件监听在哪个地址上捏?可以在 Windows 的命令行窗口(就是那黑窗口)中执行如下命令,就可以看到当前系统中开启的所有监听端口以及该监听绑定的地址。
netstat -an | find “LISTEN”
◇关于操作系统的说明
本教程适用于目前的各种主流操作系统,包括但不限于 Windows、Linux、Mac OS X ……考虑到目前 Windows 系统的用户占绝大多数,本教程拿 Windows 系统来说事儿。希望 Linux 系统和 Mac OS X 系统的用户别怨俺偏心。
注意事项:要特别小心真实系统和虚拟系统的防火墙设置。很多人是因为防火墙没设好,导致代理无法连通。
★真实系统(Host OS)的物理网卡
先跟大伙儿说一下:今天这个教程跟物理网卡没有半毛钱关系。跟你电脑上装了多少块物理网卡,也没有半毛钱关系。在本文后续的介绍中,不会再涉及到物理网卡。待会儿在配置代理的时候,也不会再涉及物理网卡上的 IP 地址。切记!另外,今天这个教程,跟你用的上网方式也没有关系。不论你是在公司上网还是在家用宽带,本教程都适用。
★真实系统(Host OS)的虚拟网卡
(这部分是重点,注意看喽!)一旦你安装完虚拟机软件,那么你的操作系统中就会多出新的虚拟网卡和虚拟子网。下面俺根据 VMware 和 VirtualBox 分别说明。
◇VMware
每次安装 VMware,新增加的虚拟子网,网络地址都可能会不同,所以俺多费点口水。首先到 Windows 控制面板的网络连接看一下,如果看到下图,就这说明 VMware 已经帮你加入了2个虚拟网卡,这俩网卡分别位于 NAT 虚拟子网和 Host-Only 虚拟子网。
然后,你到 VMware 主菜单上点 “Edit” 菜单,然后再点 “Virtual Network Editor” 菜单,会出现虚拟子网的对话框,通过该对话框可以看到 VMware 创建的所有虚拟子网。你会看到好多个虚拟子网,咱只要关心其中两个——分别 Type 为 Host-Only 和 Type 为 NAT 的。然后,把这两个子网的 “Subnet Address” 分别记下来(千万别把这俩记混了),待会儿要用到。截图如下
(请注意,上述截图中列出的都是虚拟子网的网络地址,表示的是整个子网,所以最后一位是 0 )
◇VirtualBox
每次安装 VirtualBox 的时候,它创建的虚拟子网,网络地址总是一样的,所以 VirtualBox 的操作比较简单。对于 NAT 模式,默认的虚拟子网总是 10.0.2.0;对于 Host-Only 模式,默认的虚拟子网总是 192.168.56.0(请注意,这两个是虚拟子网的网络地址,表示的是整个子网,所以最后一位是 0 )
牢记这俩子网的网络地址(千万别把这俩记混了),待会儿要用到。
★单虚拟机方案
◇安装虚拟系统(Guest OS)
如何在虚拟机软件中安装 Guest OS,《扫盲操作系统虚拟机》系列教程已经有详细的操作图解,此处不再啰嗦。◇虚拟系统的网卡配置
(这部分是重点,看仔细喽!)首先,你要在虚拟机软件中设置该 “虚拟系统A” 的网卡模式,要设置为 Host-Only。
其次,要进入 “虚拟系统A”,到”控制面板”的”网络连接”里,找到那块网卡,右键菜单点”属性”,再点”TCP/IP”的属性,会出现如下截图
IP 地址
(这步一定要小心,别填错了)
IP 地址一共四段,头三段分别填写 Host-Only 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡)。
IP 地址的第四段,你可以填 2到254 之间的任何一个数。
子网掩码
填写 255.255.255.0
默认网关
不用填
DNS
不用填
这块 Host-Only 网卡配好之后,为了验证你是否配置成功,可以执行如下步骤验证:
进入 “虚拟系统”,用 ping 命令 ping 一下真实系统的那块 Host-Only 网卡的 IP 地址。如果能 ping 得到就说明你配对了。
◇代理软件的安装
在单虚拟机方案中,代理直接安装在 Host OS 里面。关于代理软件的安装,就不用再啰嗦了吧?◇上网软件的配置
(这部分也是重点,看仔细喽!)为网络软件配置代理的时候,通常要填写代理的 IP 地址和端口号。端口号通常不会搞错。因为每一款代理软件开启的端口号是固定的。但是 IP 地址常常会填错。很多人就是栽在这一步。
填写代理的 IP 地址,千万不能填 127.0.0.1,因为这个地址表示本机,也就是 Guest OS 自己。
正确的写法是:填写真实系统的那个 Host-Only 网卡的 IP。
这个 IP 地址一共四段,头三段分别填写 Host-Only 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡);第四段填 1
俺以IE浏览器为例,截图如下
★双虚拟机方案
◇安装两个虚拟系统(Guest OS)
如何在虚拟机软件中安装 Guest OS,《扫盲操作系统虚拟机》系列教程已经有详细的操作图解,此处不再啰嗦。要使用双虚拟机方案,你需要装两套虚拟系统。
◇虚拟系统A 的网卡配置
首先,你要在虚拟机软件中设置该 “虚拟系统A” 的网卡模式,要设置为 Host-Only。其次,要进入 “虚拟系统A”,到”控制面板”的”网络连接”里,找到那块网卡,点属性,会出现如下截图
IP 地址
(这步一定要小心,别填错了)
IP 地址一共四段,头三段分别填写 Host-Only 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡)。
IP 地址的第四段,你可以填 2到254 之间的任何一个数。
子网掩码
填写 255.255.255.0
默认网关
不用填
DNS
不用填
这块 Host-Only 网卡配好之后,为了验证你是否配置成功,可以执行如下步骤验证:
进入 “虚拟系统A”,用 ping 命令 ping 一下真实系统的那块 Host-Only 网卡的 IP 地址。如果能 ping 得到就说明你配对了。
◇虚拟系统B 的网卡配置
“虚拟系统B”要配置两块网卡,这部分非常非常容易搞错,一定要看仔细喽!第1步
刚装好的 “虚拟系统B”,默认已经有一块网卡了。你先把这块网卡的网卡模式,设置为 NAT。
第2步
进入 “虚拟系统B”,到”控制面板”的”网络连接”里,找到那块网卡,右键菜单点”属性”,再点”TCP/IP”的属性,会出现如下截图
IP 地址
(这步一定要小心,别填错了)
IP 地址一共四段,头三段分别填写 NAT 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡)。
IP 地址的第四段,你可以填 3到254 之间的任何一个数。
默认网关
(这步也要小心,别填错了)
默认网关的地址也是4段,头三段就照抄刚才 IP 地址的头3个数字。第4个数字填写 2(不论是 VMware 还是 VirtualBox 都填 2)
DNS
此处填写你常用的 DNS 服务器,俺个人建议填 Google 的那俩(8.8.8.8 和 8.8.4.4)
子网掩码
填写 255.255.255.0
这块 NAT 网卡配好之后,为了验证你是否配置成功。可以在 “虚拟系统B” 里面开一个浏览器(不设代理),访问一下互联网。如果能访问,说明这块 NAT 网卡 OK 了。
第3步
打开虚拟系统的设置对话框,再添加一块网卡了。(如何加第二块网卡,请看《扫盲操作系统虚拟机》教程)然后把这块网卡的网卡模式,设置为 Host-Only。
第4步
进入 “虚拟系统B”,到”控制面板”的”网络连接”里,找到新添加的第二块网卡,右键菜单点”属性”,再点”TCP/IP”的属性,会出现如下截图
IP 地址
(这步一定要小心,别填错了)
IP 地址一共四段,头三段分别填写 Host-Only 子网的网络地址的头三个数字(请回顾刚才的章节——★真实系统的虚拟网卡)。
IP 地址的第四段,你可以填 2到254 之间的任何一个数。
再提醒一下:虚拟系统A和虚拟系统B各自有一块 Host-Only 网卡,这两块网卡的 IP 地址头三位是一样的,第四位不能相同——否则 IP 地址会冲突。
子网掩码
填写 255.255.255.0
默认网关
不用填
DNS
不用填
◇代理软件的安装
在双虚拟机方案中,代理是安装在 “虚拟系统B” 里面的,别搞混喽!关于代理软件的安装,就不用再啰嗦了吧?◇上网软件的配置(以浏览器为例)
在双虚拟机方案中,那些有危险的上网软件是安装在 “虚拟系统A” 里面的,别搞错喽!下面详细说说上网软件的代理配置。
为网络软件配置代理的时候,通常要填写代理的 IP 地址和端口号。端口号通常不会搞错。因为每一款代理软件开启的端口号是固定的。但是 IP 地址常常会填错。所以请大伙儿把下面看仔细喽!
填写代理的 IP 地址,千万不能填 127.0.0.1,因为这个地址表示本机,也就是 “虚拟系统A” 自己。
正确的写法是:填写另一个虚拟系统(虚拟系统B)的那个 Host-Only 网卡的 IP。
因为 “虚拟系统B” 有两块网卡,很多人填错了,栽倒在这一步。俺以IE浏览器为例,截图如下
★结尾
由于涉及两套方案,而且涉及两种虚拟机软件,本文有点长,步骤有点多。如果你根据本教程配置完毕,还是不行,请到本文留言,俺会尽量解答。回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
http://program-think.blogspot.com/2013/01/howto-cover-your-tracks-7.html