我发现有些朋友花力气安装虚拟机以后用不了多久就会遇到虚拟机崩溃的情况,我准备用两篇文章介绍一下虚拟机的使用,主要还是围绕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工作目录”
测试目录
打开“虚拟机设置”,然后按照下面的步骤设置共享文件夹
设置共享目录
设置共享目录
设置共享目录
设置共享目录
之所以推荐这种方式是因为这种方式可以让你在虚拟机和主机指向同一个文件使用,修改内容双向同步,非常好用。
设置完成以后在虚拟机的
/mnt/hgfs/
目录下面就能看到共享的目录了,在虚拟机里面修改文件和在Windows主机一样。共享目录
Samba和ftp服务要实现文件共享还有两个服务器软件可以实现,一个是Samba,另一个是ftp(文件传输协议)服务器。
这两个服务不仅仅适用于虚拟机环境,更适用于局域网环境,但是配置也相对麻烦,这个我们后面将服务器的时候再说怎么用
虚拟机状态虚拟机是主机模拟的一台电脑,那么这一台电脑也会有自己的运行状态。
虚拟机状态
实际使用中虚拟机有下面这几种状态:
关机类似于物理电脑电脑断电或者关机。
通过虚拟机的“关闭虚拟机”或者虚拟机系统的“关机”都可以实现。
开机类似于物理机电脑的上电或者开机。
通过虚拟机“开启虚拟机”实现。
值得注意的是在开机状态下,虚拟机和物理机一样有休眠和息屏的操作,这个根据虚拟机系统自行设置就可以,前面的桌面体验文章就讲过Ubuntu20.04 的息屏设置。
挂起这是一种主机保存的状态,在虚拟机运行过程中,直接点击“挂起虚拟机”实现。
挂起将会把此刻虚拟机的运行状态完整保存下来,下次继续打开虚拟机就会完全恢复当前的运行状态,比如你当前正在拷贝文件,挂起后停止拷贝,下次开启虚拟机将继续之前没有完成的拷贝。
可以多使用这个状态,避免每次输入开机密码,大大减小开启虚拟机正常工作状态的时间。
虚拟机分享你创建的虚拟机是可以分享拷贝给别人使用的,就想拷贝一部电影的MP4文件一样。
将之前创建虚拟机的目录完整拷贝给别人或者其他的电脑上。
然后再VMware软件中选择打开虚拟机,选择你拷贝的虚拟机目录下的vmx文件,点击“打开”即可。
需要注意的是:
首次打开从别人或其他机器拷贝的虚拟机需要手动选择“我已经完整复制虚拟机”你运行的VMware软件版本应该至少等于分享给你虚拟机的VMware版本