实际在选择虚拟机的时候纠结了要用virualbox还是vmware,初步比较结果:
1.virualbox能够使用vmware的硬盘格式,因此可以自由选择。
2.都能够实现主机和宿主机之间的文件夹共享。
3.virualbox是自由软件,vmware是商业软件。
在功能上二者都能满足条件,但是基于第三点我选择了virualbox。
安装VirtualBox
可自行网上下载,本人使用的是VirtualBox-6.1.22-144080-Win
具体安装过程参考这篇文章(只用看安装的部分):
Windows 10 安装Virtualbox 6.1.22详细教程_virtualbox-6.1.22-144080-win-CSDN博客
注意:上文内说到的扩展包暂不安装,有需要再说。
补充说明:
安装过程中,基本一路向前即可,只不过,安装的位置可以根据自己的情况调整下,我一般不会放在系统盘。
安装后的界面如下所示:
比较简洁。
安装Ubuntu
安装完虚拟机,就要继续安装Linux系统了,是基于Ubuntu版本。
具体安装过程参考这篇文章(只用看安装Ubuntu的部分):
虚拟机||使用VirtualBox安装Ubuntu详细图文教程(安装+调整分辨率+共享文件)_virtualbox安装ubuntu12-CSDN博客
上文内除了安装Ubuntu部分,其他内容都可以不看。
补充说明:
---
内存可以根据自己的情况来设置;
---
磁盘存储空间,一定要在安装的时候就设置好,如果要很大的空间,比如512G,安装时如果给小了,安装完成后再想扩展容量,就很麻烦了;
如果确实安装时的存储空间设置小了,就得删除系统,重新安装。
如何彻底删除?参考这篇文章:
我是想将virtualbox中的Ubuntu系统彻底删除 - CSDN文库
---
存储空间的分配有两种方式,我推荐选择固定大小;
VirtualBox在创建虚拟磁盘时可以选择动态扩展和固定大小两种方式,然后设定磁盘空间大小。
动态扩展类型:
最初只需占用非常小的物理硬盘空间。然后不断增加(最大到当前指定的大小),具体大小根据虚拟电脑的实际需求动态分配。
固定大小类型:一旦建立就需分配指定大小的物理磁盘空间给该虚拟硬盘使用,性能上有一定优势。建立这种类型的虚拟硬盘需花费较多的时间。
创建500G固定大小的硬盘,特别慢。显示需要38分钟。
耐心等待即可。
设置全屏(安装增强功能)
默认安装的ubuntu分辨率较小,没法全屏。
为了能够全屏显示,一个比较好的方法就是安装自带的增强工具。
所以要先安装增强工具,也不是那么好安装的。
先点击设备-安装增强功能
这时候,没有任何反应。。。。。。
往往会卡在这里。
其实,是已经生成了一个安装盘片,需要我们手动安装。
接下来,回到虚拟机界面点击设置。
然后选择存储-点击盘片-选择增强功能的安装文件
不过,这里又有个坑,那就是不一定能看到VBoxGuestAdditions.iso这个文件,如果有直接选择(别错选了其他的iso文件),如果没有,就要点击这里
点击进去选择即可。
选择后确定无误,就可以重启ubuntu了。
此时,在ubuntu里就会多一个盘符。
双击光盘打开盘符
可以看到有个运行文件,在该文件上右键——在终端打开——输入如下命令:
sudo sh VBoxLinuxAdditions.run
输入密码,等待安装完成即可。
至此,增强工具就会安装完成。
重启系统。
这时会发现 ”视图“ 里的“自动调整显示尺寸”变亮了,点击就可以是显示窗口自动填满界面。
另外,在视图菜单的最后一项“虚拟显示屏1”里也可以选择一个固定的分辨率。
主机和虚拟机之间复制粘贴
默认情况下,主机和虚拟机之间是没法相互复制粘贴的。
安装增强工具后,经过简单设置,就能实现这个功能。
参考这篇文章即可:
virtualBox实现windows和Ubuntu之间的复制粘贴_virtual box主机和ubuntu互相粘贴-CSDN博客
更多略。
配置Samba服务
Samba是个啥?
Samba是在Linux系统上实现SMB(Session MessageBlock)协议的一个免费软件,以实现文件共享和打印机服务共享。
在嵌入式系统开发应用平台中,tftp、nfs和samba服务器是最常用的文件传输工具,tftp和nfs是在嵌入式Linux开发环境中经常使用的传输工具,samba则是Linux和Windows之间的文件传输工具。
samba是模仿Windows网上邻居的SMB的通讯协议,将Linux操作系统“假装成”Windows操作系统,通过网上邻居的方式来进行文件传输的。
samba最先在Linux和Windows两个平台之间架起了一座桥梁,正式由于Samba的出现,我们才可以在Linux系统和Windows系统之间互相通信,如复制文件,实现不同操作系统之间的资源共享等,可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印。
也就是说,如果想要实现主机和虚拟机之间的两个系统之间共享目录文件,我们就可以使用samba服务。
那么,如何在Linux下部署samba服务呢?
直接参考这篇文章:
【详细步骤】Ubuntu安装Samba服务及配置共享文件夹_ubuntu samba-CSDN博客
这篇文章提供相关指令参考:
ubuntu下Samba服务器的搭建_ubuntu下搭建samba服务齐全-CSDN博客
修正:sudo /etc/init.d/smbd start
补充说明:
---
不必像上文中说的那样配置静态ip,使用默认的ip设置方式即可,也不必和主机在同一网段。
---
如何查看samba服务是否已经开启?
使用以下语句:
sudo systemctl status smbd.service
配置过后每次开启虚拟机都会开启该服务。
这个命令将显示Samba服务的状态信息,如果服务正在运行,则说明重启成功。如果服务未运行,你可以尝试其他方法来解决问题,比如查看错误日志或重新安装Samba服务。
---
服务开启后,先在主机上ping一下Linux系统;同时在Linux上也ping一下主机;保证二者可以互相访问。
在主机和Linux上都ping下外网(比如www.baidu.com),保证都能访问外网。
---
注意配置虚拟机上网卡的模式,一般都会配置双网卡。
参考:VirtualBox 使用 NAT网络、仅主机(Host-only)网络 实现双网卡上网并与宿主机连接。_virtualbox host only-CSDN博客
这篇文章主要看各种模式之间的区别。
我们实际配置中,两个网卡,一个网卡选择“网络地址转换(NAT)”,用来让虚拟机访问外网;一个选择“仅主机(Host-Only)网络”,用来和主机间互联。
一般只有这样配置之后才能ping通。
---
通过win+R在主机访问时,可以直接输入\\ip,就会跳入共享的目录
注意,通过主机访问,名字都是统一的叫share,不管你在linux里给共享文件夹取的是什么名字,比如,我在linux里取的共享文件夹的名字是myshare
不过在windows下远程访问时,仍然是叫share
不过注意,在该share目录上映射成网络时,需要添加\\ip\share
这里有个问题注意下:
是映射成网络驱动器,而不是在我的电脑那里添加一个网络位置。
windows中添加一个网络位置与映射网络驱动器的区别-CSDN博客
注意,一定要映射成网络驱动器,要不然到时用查看代码工具时访问不到该目录。