vitualbox中的centos7与主机共享文件

2023-11-10

我在vitualbox中安装了一个centos7,最小安装。主机是win10操作系统。那么如何在虚拟机和主机之间进行文件共享呢,下面是本人实现过程,以及过程中遇到的一些问题。

1、在主机中选择一个文件夹作为共享文件夹

我选择的是D:\centos7_share_folder
这个文件夹,这个文件夹中已经放入了一个文件CentOS7-Base-163.repo。
如图所示
这里写图片描述

2、vitualbox设置共享文件夹

先上图
这里写图片描述

选择centos7,(我的虚拟机),点击”设置”,选择”共享文件夹”,选择”固定分配”,点击右边的+图标。在共享文件夹路径选择前面的D:\centos7_share_folder文件夹,共享文件夹名称可以自己设定,后面会用到,我设置的是centos7_share。选择“自动挂载”、“固定分配”。点击ok确认。

设置完是这样的
这里写图片描述
设置完共享文件夹之后,需要安装vitualbox的增强功能。

3、安装vitualbox的增强功能

启动虚拟机之后,点击“设备”,“安装增强功能”。
这里写图片描述

但我在安装增强功能时,无法安装。出现如下错误
这里写图片描述

vitualbox的增强功能在VBoxGuestAdditions.iso映像文件中。这个文件一般在vitualbox的安装目录中就有,找到这个文件。然后点击“设备”,“分配光驱”,“选择虚拟盘”,找到的那个
VBoxGuestAdditions.iso文件。之后会出现下图,要求ViBoxGuestAdditions.iso前面的对勾勾上。如果出现需要“强制卸载”的提示,直接选确定过去就好。
这里写图片描述

  • 挂载光盘设备

在linux的/dev文件夹中列出了当前的设备,包括刚才分配的光驱,但是还不能直接读取光驱中的内容(不像windows插上就能直接访问),需要挂载。所谓挂载,就是讲某个设备与某个目录关联起来,进入这个文件夹就可以访问这个设备中的内容。所以我们需要把刚才的光驱挂载到某个目录下。我准备挂载到/mnt/cdrom 目录下。先创建这个目录,进入/mnt目录下,执行:

# mkdir cdrom

执行挂载操作,用root用户执行命令:

mnt /dev/cdrom /mnt/cdrom

/dev/cdrom就是默认的光驱设备文档,(linux中所有的设备都对应一个文档,linux的文档系统非常重要)执行该命令可能会出现“/dev/sr0 写保护,将以只读方式挂载”提示,不用理会。
挂载好之后,进入/mnt/cdrom目录,就可以看到光驱中的具体内容了。
这里写图片描述
这时候可以按照增强设备了吗,还不能。我们还需要安装一些依赖包。

  • 安装相关依赖包。

执行命令:

# yum install -y gcc gcc-devel gcc-c++ gcc-c++-devel make kernel kernel-devel

完成后重启:

# shutdown -h now

重启之后,进入/mnt/cdrom目录,执行./VBoxLinuxAdditions.run命令

# cd /mnt/cdrom
# ./VBoxLinuxAdditions.run

如果一切顺利,那么直接跳到第4步。不过可能因为初次安装的原因,过程中出现了几次问题。记录如下:

1. 缺少bzip2包,无法解压文件
安装bzip2

# yum install bzip2

安装好之后,重新运行# ./VBoxLinuxAdditions.run,第二次出现问题
2. Could not find the X.org or XFree86 Window System,skipping

这里写图片描述

安装xorg,执行

# yum -y install xorg-x11-server-Xorg

安装好之后,重新运行# ./VBoxLinuxAdditions.run。这次没有出现问题,安装结束出现下图,
这里写图片描述

重启。

# shutdown -r now

4、挂载共享文件夹

重启之后。
在主机上设置的共享文件夹为:D:\centos7_share_folder,那么在linux中也有一个对应的目录,在linux中进入这个目录,就可以访问到主机的共享文件夹了。linux中我设置的目录为:
/home/liushijun/shared。创建该文件夹:
进入/home/liushijun目录,执行

$ cd /home/liushijun
$ mkdir shared

root用户执行

# mount -t vboxsf centos7_share /home/liushijun/shared

语法为:mount -t vboxsf 共享文件夹名 挂载点
这里的centos7_share为第2步里设置的共享文件夹

这里写图片描述

设置之后,进入/home/liushijun/shared就相当于进入主机的D:\centos7_share_folder了,

cd /home/liushiijun/shared
ls

这里写图片描述
安装成功!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vitualbox中的centos7与主机共享文件 的相关文章

  • Linux Shellcode“你好,世界!”

    我有以下可用的 NASM 代码 global start section text start mov eax 0x4 mov ebx 0x1 mov ecx message mov edx 0xF int 0x80 mov eax 0x1
  • _dl_runtime_resolve -- 共享对象何时加载到内存中?

    我们有一个对性能要求很高的消息处理系统 最近我们注意到第一条消息比后续消息花费的时间要长很多倍 当它通过我们的系统时 会发生大量转换和消息增强 其中大部分是通过外部库完成的 我刚刚描述了这个问题 使用 callgrind 将仅一条消息的 运
  • 为什么 RHEL 上的 bash 中 `read -t` 没有超时?

    Why read t在 RHEL5 或 RHEL6 上从管道读取时不会超时 这是我的示例 在从管道读取数据时 我的 RHEL 盒子不会超时 tail f logfile log grep something read t 3 variabl
  • OS X 对 /usr/local/lib 的权限被拒绝

    我正在寻找有关权限问题的任何建议 直觉 线索 答案 自从我切换到新的 Macbook Pro 以来 这个问题一直困扰着我 这就是困境 某些程序在安装期间复制 usr local lib 下的库 并且在运行这些程序时出现崩溃 我认为这与此文件
  • 如何更改 Kubernetes 中的文件系统观察程序限制 (fs.inotify.max_user_watches)

    我在用着pm2 https github com Unitech pm2查看保存我的应用程序服务器的 NodeJS 程序源代码的目录 该程序在 Kubernetes 集群中运行 但是 我收到此错误 ENOSPC System limit f
  • 选择多个模式的 awk 代码

    这是我的输入文件 比如modified txt r4544 n479826 2012 08 28 07 12 33 0400 Tue 28 Aug 2012 1 line Changed paths M branches 8 6 0 con
  • Linux shell 标题大小写

    我正在编写一个 shell 脚本并有一个如下所示的变量 something that is hyphenated 我需要在脚本中的各个点使用它 如下所示 something that is hyphenated somethingthati
  • CMake:使用其他平台的生成器。如何?

    如何使用 CMake 在 Linux 上生成 Visual Studio 项目文件 你不能 您必须在 Windows 上运行 CMake 才能为 Visual Studio 生成
  • 检查 Linux 中给定进程的打开 FD 限制

    我最近有一个 Linux 进程 泄露 了文件描述符 它打开了文件描述符 但没有正确关闭其中一些文件描述符 如果我对此进行监控 我就可以提前得知该过程已达到其极限 有没有一种很好的 Bash 或 Python 方法来检查 Ubuntu Lin
  • 我如何知道 std::map 插入成功还是失败?

    我在多线程应用程序中有一个映射 将名为 uuid 的类映射到指针 我想知道插入操作是否成功或失败 e g mymap insert hint MyMap value type entry uuid itemptr 如果失败的话会抛出异常或者
  • 并发 I/O - 缓冲区损坏、块设备驱动程序

    我开发块分层设备驱动程序 所以 我拦截WRITE请求并加密数据 并解密数据end bio 例行程序 在处理和READ要求 所以在单流中一切正常 但是 如果尝试同时从两个或更多进程执行 I O 我会遇到缓冲区内容损坏的情况 我没有任何本地存储
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • Mongo:无法连接到服务器 127.0.0.1:27017 位于 src/mongo/shell/mongo.js:145

    当我尝试在 ubuntu 中的 shell 中运行 mongo 或打开 rockmongo 时 我看到以下错误 couldn t connect to server 127 0 0 1 27017 at src mongo shell mo
  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 检查上次更改密码的时间[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 带有接收器的 boost_log 示例无法编译

    我正在考虑将 boost log 用于一个项目 一开始我就遇到了以下问题 我在以下位置找到的升压日志示例 http www boost org doc libs 1 54 0 libs log example doc tutorial fi
  • 多线程进程的线程ID可以与另一个正在运行的进程的进程ID相同吗?

    我正在尝试找到一种方法来唯一标识多进程环境中的线程 我有一个服务器 它跟踪连接到它的不同进程 其中一些是多线程的 一些不是 为了识别多线程连接中的线程 我使用线程 ID 作为唯一标识符 在任何给定时间最多有 1 个多线程进程连接 我的问题是
  • 如何使用 bash 粘贴来自单独文件的列?

    我想用分隔符 合并不同的列表 第一个列表有 2 个单词 cat first one who 第二个列表有 10000 个单词 cat second languages more simple advanced home expert tes
  • 如何告诉 CMake 将构建文件放在哪里?

    我想告诉 CMake 将文件和文件夹输出到不同的文件夹而不是当前文件夹 我在下面讨论的是 CMake 生成的文件 文件 CMakeCache txt 目录 CMakeFiles 文件 生成文件 目录 bin 文件 cmake install
  • Docker容器内的动态监听端口

    我有一个应用程序 在使用其默认端口建立一些连接后 开始打开 侦听 新的随机端口来处理现有连接 然后删除它们 视频通话 它还在通信协议内交换其IP地址和端口 我能够解决IP地址问题 但仍然无法找到一种方法来动态告诉主机的IPTABLES在Do

随机推荐