我发现有些朋友花力气安装虚拟机以后用不了多久就会遇到虚拟机崩溃的情况,我准备用两篇文章介绍一下虚拟机的使用,主要还是围绕VMware来的。
第一篇包含这些内容:
- 虚拟机
- 常用虚拟机
- 虚拟机与主机共享文件
- 虚拟机状态
- 虚拟机分享
“虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。”
这是百度百科对虚拟机的解释。
虚拟机能够在你的虚拟机服务器软件基础上模拟一个或多个计算机,这些计算机的使用与实际的计算机使用基本无差异。
我列举几个应用场景帮你理解:
- 不同种类的系统需求,比如你有一台安装Windows10的个人电脑,但是你现在从事的学术研究获得一个专有软件,他只支持在Linux电脑上运行,你怎么解决?你可以安装双系统,就是在你的个人电脑上不同的磁盘中安装另一个Linux系统,但是相信我那个很容易让你原本的Windows都无法使用,而且初学者操作也比较麻烦。这种情况下,我可以利用虚拟机软件,在Windows的环境中模拟一个Linux系统,这样我在使用Windows同时就同时可以使用Linux安装前面的软件使用,非常方便。
- 多系统架构,这种情况可以用来模拟多机环境和对硬件资源合理分配,比如我有一台个人电脑,但是我的软件调试环境需要我不得不使用2台电脑进行联合调试,而我没有多余的电脑可以使用,我可以购买一台电脑满足需要,但是如果下次需要4台呢?这种情况我可以使用虚拟机,在一台物理电脑的基础上模拟多台电脑满足需要。
- 隔离风险,比如我需要验证一款软件它一旦运行会对计算机系统造成无法修复的伤害,如果在主机运行,每次验证问题都要重新安装一次系统,太麻烦了。我可以用虚拟机软件模拟验证,及时出现问题我也可以快速处理损坏的虚拟机。
列举近几年作为软件从业人员可能会接触的虚拟机:
- VMware
这个算是Windows下使用体验比较好的虚拟机软件,同时他的产品覆盖范围也非常广,不仅是我们常用的本地电脑虚拟机创建的模式,还提供服务器、业务等虚拟化服务,这是一款收费软件,但是国内的激活密钥目前非常好找。
- VirtualBox
这是一款开源免费的虚拟机软件,体验也不错,做过Android开发的可能指导一款Android虚拟机软件叫genymoton,它就是通过VirtualBox搭建的虚拟机。但是它的功能和产品系没有VMware完善和庞大。
如果你本身或者工作场景对版权要求比较严格,可以尝试使用这一款软件。
- WSL
这是微软从Windows后期版本开始推行的Linux子系统,但是目前听说马上又要推出Android子系统了,Windows这是准备使用虚拟机把Linux和Android通*的。
但是截止目前WSL2(WSL第二个版本)我觉得并没有VMware用的省心。
- Docker
这个与前面提的几个虚拟机软件其实有一些不同,Docker是一个开源的应用容器引擎,但是它本身也是通过虚拟化实现,但是他比较面向于业务场景而非计算机系统。但是这个技术目前在开发领域使用非常广,在代码管理、软件编译、软件发布、日志服务等业务方向都能够见到,建议了解一下即可。
虚拟机共享文件现在回到我们前面在VMware上安装的Ubuntu20.04虚拟机,虚拟机上面的文件和Windows主机上的文件怎么能够实现共享,我在Ubuntu系统中怎么访问Windows系统中的文件,这是一个非常关键的操作,因为正常情况下你的有用资源都放在主机上面。
我在这里介绍3种办法:
- 共享剪切板
以前老的Ubuntu在安装完vm-tools以后就已经支持这个功能了,现在的Ubuntu20.04版本还需要做一个操作:
关闭虚拟机,选择“编辑虚拟机设置”,然后添加“软盘驱动器”支持。
如果已经有一个软盘驱动器了就先移除再添加一次。
软盘
在重新打开虚拟机应该就可以与主机共享复制粘贴了,在Windows复制一个文件,直接在Ubuntu中粘贴就可以了。
- 共享目录
另外一个办法是用VMware虚拟机软件的共享文件夹功能,我推荐的方法,简单好用,适用于初学者。
这个操作是为Ubuntu虚拟机设置Windows主机的共享文件夹,比如我在Windows桌面创建一个文件夹“Ubuntu工作目录”
测试目录
打开“虚拟机设置”,然后按照下面的步骤设置共享文件夹
设置共享目录