转:http://www.juwends.com/tech/unix_series/virtualbox-ubuntu-sharefolder.html

1. 进入系统,安装增强功能,安装完关闭系统。
2. 在E盘下创建一个共享文件夹 gongxiang。
3. 设置 -> 数据空间 -> 固定分配,选择共享文件夹路径,注意此时不要勾选自动挂载,如下图所示。


4. 重新启动系统
(Juwend注:可以不用重启,在执行第5步之前,需要执行:
sudo mkdir /mnt/gongxiang
这是原文作者没有写出的)
5. 执行如下命令,就可以看到共享文件夹下面的文件。

huang@huang-VirtualBox:~$ sudo mount -t vboxsf gongxiang /mnt/shared/
[sudo] password for huang:
huang@huang-VirtualBox:~$ cd /mnt/shared/
huang@huang-VirtualBox:/mnt/shared$ ls
cmusphinx-cmuclmtk.tar.gz seri-arm
com31 seri.c
cramfsck seri.h
cross-4.2.2-eabi.tar.bz2 soundtouch-1.6.0.tar.gz
dircmmp sphinx3-0.8.tar.bz2
fork-arm sphinxbase-0.6.1.tar.gz
fork-pc SphinxTrain-1.0.tar.bz2
FORLINX_6410_touch.cramfs thread
linux2.6.28_FOLINX_6410.tgz uboot1.1.6_FORLINX_6410.tgz
pocketsphinx-0.6.1.tar.gz u-boot.bin
serial.c zImage_VGA
serial.h

6. 如果您不想每一次都手动挂载,可以在/etc/fstab中添加一行,保存
gongxiang /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0
这样就能够自动挂载了。
(Juwend注:以上内容可能有些问题,这里Virtualbox的手册中提到:
In a Linux guest, use the following command:
mount -t vboxsf [-o OPTIONS] sharename mountpoint
To mount a shared folder during boot, add the following entry to /etc/fstab:
sharename mountpoint vboxsf defaults 0 0
所以,应该在/etc/fstab中保存
gongxing /mnt/shared vboxsf defaults 0 0
如果重启过程中提示挂载出错,可以检查下共享文件夹的固定分配是否正确,即是否固定分配了共享文件夹,似乎有要求是不能选自动挂载那一项)
如果想卸载,可运行命令:sudo umount -f /mnt/shared

转:https://soulogic.com/archives/380

我喜欢 Linux,但其桌面环境实在太差了,当然这是借口,主要还是因为软件支持,例如 UltraEdit、Chrome、Fireworks 和 DirectX 支持的各式各样的游戏。于是保持着 Ubuntu Server + Windows Desktop 的模式。之前所在的两个公司我一直是霸占着两台 PC,其中一个没有显示器。自从 CPU 进化到开虚拟机也可以忍受之后开始用 VMWare,但一直觉得用 Samba 来通信很绕圈子,却不知道更好的方法。直到上周 Samba 开始莫名其妙的卡(每次保存文件的时候都要等几秒),尝试各种优化方法无效后转而试用 VirtualBox(其实以前也用过,不过是反过来的,Ubuntu 上虚拟 Windows,配网卡搞的我焦头烂额,所以印象很不好),才发现“Shared folders”功能正是我一直想要的。简单的说就是给虚拟机配个驱动,直接访问宿主的某些目录。访问的效率应该有很大提升。


安装

本文根据软件版本不断更新中,以下内容在 Windows 7 Ultimate 和 Ubuntu Server 10.04(均为 64 位版),VirtualBox 3.2.4 下通过验证

为 了不至于混淆,定义名称,宿主 Windows 上想共享的目录为 D:\sharehost,在 VirtualBox 里定义的共享名为 shareguest,映射到虚拟机 Ubuntu 的 /sharedir 目录。演示用的 Ubuntu 名叫 sharetest

VirtualBox 里的设定如图

当你已经装完了 Ubuntu,在菜单里选择 Devices / Install Guest Additions

在 Ubuntu 中先装点必要的服务和供编译的文件

sudo apt-get install dkms
sudo apt-get install linux-headers-server

之后就可以安装 Guest Additions 了(其实那个菜单项的作用就是换张光盘)

mount /cdrom
sudo /cdrom/VBoxLinuxAdditions-amd64.run

安装过程中显示内容大致如下

Verifying archive integrity... All good.
Uncompressing VirtualBox 3.0.8 Guest Additions for Linux installation.........................
VirtualBox 3.0.8 Guest Additions installation
Attempt to remove old DKMS modules...
Done.
Building the VirtualBox Guest Additions kernel module...
Building the shared folder support kernel module...
Building the drm support kernel module...
Installing the VirtualBox Guest Additions...

Could not find X.org or XFree86 on the guest system.  The X Window drivers
will not be installed.

加载该模块(这一步官方文档里没有说):

sudo modprobe vboxsf

到这里安装已经完成,开始使用这个功能:

sudo mkdir /sharedir
sudo mount -t vboxsf shareguest /sharedir

这时候 Ubuntu 里的 /sharedir 跟 Windows 下的 D:\Share 是一样的了,可以创建几个新文件来验证一下。

自动加载共享目录

现在该考虑如何开机自动加载这些目录里。如果你跟我一样,连 apache 的 conf 目录都要用这种共享的话,显然直接把那行 mount 命令放在 rc.local 里是不可取的

按照官网论坛上的帖子应该如下:

编辑 /etc/modules 文件,在结尾添加两行(这两行的内容是用 lsmod | grep vbox 得到的):

vboxsf
vboxguest

编辑 /etc/fstab 文件,在结尾添加一行:

shareguest /sharedir vboxsf defaults 0 0

重启之后就可以自动加载。


外要注意到一个问题是,共享名跟目录名不能一样,否则会在开机的时候提示“/sbin/mount.vboxsf: mounting failed
with the error: Protocol error”。我之前都起名叫“share”,结果 mount
正常,开机自动加载的话就报错,直到看了篇 Tips on running Sun Virtualbox 才恍然大悟——我之前一直以为是驱动、版本或者是什么 BUG 导致的。

而且要注意每个字母,那个“vboxvfs”和“vboxsf”也把我搞混过,结果在 modules 文件里写了个“vboxvsf”

fstab
文件里的那行,跟 crontab
一样是按空格分成几段,可以参考文件本身的说明,那个“defaults”的位置是设定参数的,具体参数可以从“sudo
mount.vboxsf”得知。比方说目录加载后所有文件都是
777,绿油油的一片看着眼晕,可以把“defaults”替换成“fmode=666”,不过也就不能 +x 了,没办法,Windows
文件系统本身的缺陷。

Windows 启动后 VirtualBox 自动后台运行

创建个 run.bat 文件,内容如下

c:
cd "\Program Files\Sun\VirtualBox\"
VBoxHeadless.exe -startvm sharetest -vrdp=off

再创建个 run.vbs 文件,内容如下

set wscriptObj = CreateObject("Wscript.Shell")
wscriptObj.run "D:\vbox\run.bat",0

注意目录和盘符换成自己实际的,把 run.vbs 放到开始菜单的启动项里就可以了。

关于虚拟机中的 Web Server

在读取纯静态文件时可能会出现缓存问题。例如 Apache 的 conf 里需要加上这么两行来修正

EnableMMAP Off
EnableSendfile Off

结语

本文是希望提供一个过渡访问方案,在 Linux 桌面变得优秀之前,至少可以毫无障碍的使用 Linux Server 做开发。我最惨痛的一次经历是,Memcache 诞生不久,听说很好用,但是当时的 Client for PHP 只有 PECL 的,我不知道该怎么编译,直到半年后有了 win32 版本我才开始接触这东西,对我而言这是个非常大的损失。又比如曾经寻找适合做本地文件 Cache 的东西,据说 Berkeley DB 有原生 PHP 扩展,比 PHP 自带的 DBA
要好不少,而这个扩展就在 BDB 源码包的 php_db4 目录,要用的话只能自己编,虽然最后得出结论跟 DBA
模块一样存在文件锁的问题不适合 Web 程序使用,但起码试过了。又比如 ImageMagicK 的命令行下给图片加汉字,由于 Windows 的
Shell 不是 UTF-8 的,所以特定长度的汉字会出现乱码,这也是不大不小的毛病。总之,用 Windows 做 Server
总觉得自己是二等公民。

转:http://xu3stones.blog.163.com/blog/static/2059571362012103095659817/

1.Guest os安装增强组件;
2.vbox里设置分配数据空间,记住空间名称(注:不要勾选auto-mount,否则VBOX会自动挂载到/media/fs_空间名 这个目录下,而且是root用户的,访问很麻烦)
3.guest os里挂载共享空间:
        
若在创建数据空间的时候您已勾选自动挂载(auto
mounting)则在您安装好增强补丁后,VBOX会自动在/media/下创建一个共享目录,该目录的所有者是root,所属组是vboxsf,所以
你是无法打开和访问的,必须要将你,即当前用户加到vboxsf组下:
              sudo usermod -a -G vboxsf 你的用户名
              重启,即可访问咯。。
              如果你觉得不爽,你可以用下面这个方法,创建属于自己的共享目录:

sudo mkdir /mnt/shared

sudo mount -t vboxsf 空间名称 /mnt/shared

4.假如不想每一次都手动挂载,可以在/etc/fstab中添加一项

空间名称 /mnt/shared vboxsf defaults 0 0(注:第一列为数据空间的名字,第二列为要mount的路径,后面为mount的参数。)

Virtualbox+ubuntu设置共享文件夹的更多相关文章

  1. 转:virtualbox+ubuntu设置共享文件夹

    1.       进入系统,安装增强功能,安装完关闭系统. 2.       在E盘下创建一个共享文件夹 gongxiang. 3.       设置->数据空间->固定分配,选择共享文件 ...

  2. VirtualBox虚拟机Ubuntu设置共享文件夹,并自动挂载

    一.环境 Win10系统,VirtualBox-5.1.22-115126+Ubuntu16.04(64位)虚拟机   二.目的 在Ubuntu中能够共享Win10中的某个文件夹,而且能够自动挂载   ...

  3. win7与vbox虚拟机Ubuntu设置共享文件夹

    1.进入Ubuntu系统,在右上角打开设备->安装增强功能->运行->输入密码 2.在终端中安装,安装完后重新启动Ubuntu 3.在本机中设置一个共享文件夹(文件名是vbox-sh ...

  4. ubuntu root 密码是随机的! root权限下设置共享文件夹

    一.Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码.我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码,enter, 二.终端会提示我们输入新的密码并确 ...

  5. 【VirtualBox】ubuntu虚拟机与windows设置共享文件夹

    第一步:配置 http://blog.csdn.net/a962804835/article/details/72820355 第二步:解决ubuntu下共享文件夹无访问权限的问题 http://bl ...

  6. 如何实现win7和VirtualBox中Ubuntu系统共享文件夹

    设备: 1.win7 旗舰版    2.VirtualBox虚拟机    3.Ubuntu12.04 以前在VM虚拟机中可以直接进行复制就可以将win7系统的文件复制到虚拟机中,然后现在安装了Virt ...

  7. virtualbox设置共享文件夹代替sftp同步代码

    通常的开发场景: 代码放在virtualbox上运行,本地的IDE通过sftp实现和虚拟机的代码同步. 有 一个不能避免的问题是,当使用git时,如果装在virtualbox端,那么每次virtual ...

  8. VirtualBox CentOS安装增强功能与设置共享文件夹

    如果安装的是CentOS minimal版无网络的可以看这篇文章. 一.安装依赖环境 依次执行如下命令 yum install update yum install kernel-headers yu ...

  9. VirtualBox设置共享文件夹和镜像访问的方法

    VirtualBox设置共享文件夹和镜像访问的方法 virtualBox是一款虚拟机软件,可以在该软件上安装各类的操作系统,至于如何安装请参见另外一篇经验<如何使用VirtualBox安装win ...

随机推荐

  1. centos安装--两张光盘

    不是有两个ISO吗?你在别的电脑上打开第二个iso,就可以看到里面是openoffice的语言包.你安装的时候出现的提示是找不到“openoffice.org-langpack-zh-TW-3.1.1 ...

  2. 【bzoj3224】普通平衡树

    看有没有人能发现咯. #include<bits/stdc++.h> #define N 300005 #define rat 4 #define pushup(o) if(o->l ...

  3. HDU 6115 Factory LCA,暴力

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6115 题意:中文题面 分析:直接维护LCA,然后暴力枚举集合维护答案即可. #include < ...

  4. C后端设计开发 - 第3章-气功-原子锁线程协程

    正文 第3章-气功-原子锁线程协程 后记 如果有错误, 欢迎指正. 有好的补充, 和疑问欢迎交流, 一块提高. 在此谢谢大家了. 童话镇 - http://music.163.com/#/m/song ...

  5. Python的语言特性

    1.Python的函数传参 Python中所有的变量都可以理解为内存中一个对象的“引用”,或者,也可以看似C中的void *的感觉.这里记住的是类型是属于对象的,而不是变量.对象分为两种: 可更改的: ...

  6. 动画基础--基于Core Animation(2)

    参考:https://zsisme.gitbooks.io/ios-/content/ 前面的文章动画基础--基于Core Animation(1)提到了图层的基本概念以及可动画参数几何学等知识. 本 ...

  7. 利用h5,chart.js监测手机三轴加速度,用以研究计步算法等

    用window.DeviceMotionEvent来判断手机浏览器是否支持访问硬件资源,window.addEventListener('devicemotion',deviceMotionHandl ...

  8. jQuery Mobile + HTML5 获取地理位置信息

      这个代码也非常简单,核心是HTML5中GeoLocation API,函数原型定义如下: void getCurrentPosition(in PositionCallback successCa ...

  9. Leetcode 之Balanced Binary Tree(49)

    用递归的方式来做,左右两棵子树的高度差不超过1.分成两部分,一部分递归得到树的高度,一部分递归检查左右子树是否是平衡二叉树. int getHeight(TreeNode *root) { ; ; } ...

  10. 字符串aaaa......bbbb....ccc...dddddd用正则替换为abcd

    public static void main(String[] args) { String s = "aaaa......bbbb....ccc...dddddd"; Stri ...