Oracle VirtualBox创建共享文件夹
如何在Linux操作系统上使用Oracle VirtualBox创建共享文件夹?
我可以在Oracle Virtual Box内从Windows主机共享文件夹到Linux OS吗?
如何从Linux内的Oracle VBox以普通用户(非root用户)访问共享文件夹?
如何在Oracle VirtualBox和Windows Host之间传输文件?
如何使用Oracle VBox将网络驱动器从Windows映射到Linux VM?
在本教程中,我将逐步分享从Oracle VirtualBox配置共享文件夹功能的说明。
通常,我使用samba服务器来配置Linux和Windows之间的共享,但是最近我从VirtualBox上了解了此功能,并想尝试一下。
配置很容易,因此即使非技术人员也可以轻松设置共享文件夹,我相信很多人选择此选项而不是samba共享。
我们可以使用此选项在Windows和Linux之间传输文件,反之亦然
实验室环境
我正在使用Windows 10主机上安装的Oracle VirtualBox 6.1. 随着版本的不同,VirtualBox将来的步骤可能会有所不同。
我将使用RHEL/CentOS 8作为我的Linux操作系统,以普通用户和root用户访问共享文件夹。
1.安装VBoxGuestAddition
如果要使用VirtualBox配置共享文件夹,这是强制性的准备工作。
好消息是,我们无需下载任何其他软件即可设置VBoxGuestAddition
。
1.1加载来宾添加ISO镜像
只需打开虚拟机电源,然后在控制台上从顶部菜单中查找"设备"。
在下拉菜单中,单击"插入来宾添加CD镜像.."。
将Guest Additions CD镜像插入VM
要验证是否成功安装了镜像,请从顶部菜单中单击"计算机",然后从下拉菜单中单击"设置"。
这将打开一个新窗口,从左侧菜单中选择"存储",并检查VBoxAdditions.iso是否已挂载
验证客户端附件是否添加
1.2在服务器上挂载Guest Additions镜像
接下来,将此ISO挂载在某个挂载点上。
目前,我的服务器有两个已挂载的ISO
[root@server ~]# lsscsi [0:0:0:0] cd/dvd VBOX CD-ROM 1.0 /dev/sr0 [1:0:0:0] cd/dvd VBOX CD-ROM 1.0 /dev/sr1 [2:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sda [3:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sdb
我知道sr1
包含虚拟盒子添加图像,所以我将其安装在/mnt
上
[root@server ~]# mount /dev/sr1 /mnt mount: /mnt: WARNING: device write-protected, mounted read-only.
1.3验证图像的内容
检查ISO的内容。
列出VirtualBox Guest Additions ISO的内容
1.4安装必备的rpm
在我们安装Guest Addition软件之前,必须满足某些准备工作,否则安装将因诸如VirtualBox Guest Additions之类的错误而失败:未为目标内核找到内核头
[root@server ~]# yum -y install gcc make perl bzip2 kernel-headers-$(uname -r) kernel-devel-$(uname -r) elfutils-libelf-devel xorg-x11-drivers xorg-x11-util
这将安装安装Virtual Box添加软件所需的编译器和模块的列表。
1.5安装VBox来宾添加
由于我们在Linux平台上,因此我们将使用VBoxLinuxAdditions.run
安装VirtualBox Guest Addition模块。
如果我们在Windows平台上,则可以使用VBoxWindowsAdditions.exe
。
如我们所见,脚本已经具有可执行权限,因此只需以root用户身份执行脚本即可。
执行可能需要一些时间,具体取决于VM资源
[root@server ~]# /mnt/VBoxLinuxAdditions.run Verifying archive integrity... All good. Uncompressing VirtualBox 6.1.12 Guest Additions for Linux........ VirtualBox Guest Additions installer Copying additional installer modules ... Installing additional modules ... VirtualBox Guest Additions: Starting. VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules. This Jan take a while. VirtualBox Guest Additions: To build modules for other installed kernels, run VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup VirtualBox Guest Additions: or VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all VirtualBox Guest Additions: Building the modules for kernel 4.18.0-193.14.2.el8_2.x86_64. VirtualBox Guest Additions: Running kernel modules will not be replaced until the system is restarted
接下来,重新启动服务器以激活更改
[root@server ~]# reboot
2.配置Virtual Box创建共享文件夹
我们都在Linux客户端上进行了设置,因此接下来我们要做的就是在Windows主机和Oracle Virtual Box上设置共享文件夹。
打开虚拟机的"控制台",在页脚菜单中查找"文件夹"图标,如屏幕截图所示。
Oracle VirtualBox共享文件夹设置
右键单击此图标,然后单击"共享文件夹设置"。
接下来点击添加
图标
创建新的共享文件夹
在下一个窗口中,浏览要在Linux客户端的Windows主机上共享的目录。
选择"自动挂载"以在每次重新启动后自动挂载目录。
添加共享文件夹
点击"确定"保存配置
3.访问共享文件夹(以root和非root用户身份)
默认情况下,仅允许以root用户身份挂载共享文件夹。
因此,要访问Linux客户端上的共享文件夹,请使用以下语法执行命令:
# mount.vboxsf <folder_name> <path/on/linux/client>
例如挂载我们的共享文件夹
# mount shared /share
这里的shared是我在Windows主机上的文件夹名称,而/share是Linux客户端上的挂载点。
现在检查共享是否成功安装。
# df -h /share/ Filesystem Size Used Avail Use% Mounted on shared 235G 117G 118G 50% /share
由于我们使用了"自动挂载",因此该共享将在重启后自动挂载,因此不需要在/etc/fstab中进行任何配置。
检查此/share
的许可
# ls -ld /share/ drwxrwx--- 1 root vboxsf 4096 Aug 30 09:52 /share/
许可权为750,用户所有者为root,组所有者为vboxsf。
因此,只有root用户和vboxsf
部分的所有用户都可以访问此共享文件夹。
默认情况下,不允许任何其他用户访问此文件夹。
要允许普通用户在此共享文件夹中执行读/写操作,必须使他/她成为vboxsf组的一部分。
# usermod -aG vboxsf admin # id admin uid=1004(admin) gid=1004(admin) groups=1004(admin),982(vboxsf)
其中我已将用户admin添加到vboxsf
组,因此现在他也可以在不使用sudo特权的情况下访问该文件夹。
现在,我们可以继续并开始使用Windows Host中的共享文件夹。