Win10 Vbox添加共享目录并开启软链接(symlink)

1.Windows创建一个共享文件

保存好目录,我的是 D:\virtualbox_share

2.打开共享文件夹选项

3.配置共享文件夹

选择固定分配,共享文件夹选择Windows的共享目录,我的是 D:\ virtualbox_share

共享文件夹名称,是你Ubuntu的共享文件夹名称,我的是 virtualbox_share

自动挂载,不要打钩,重点!

4.挂载:

新建Ubuntu共享文件夹:$ mkdir /mnt/share

挂载命令格式:

sudo mount -t vboxsf [你的windows共享目录] [Ubuntu共享目录]

我是的:

sudo mount -t vboxsf virtualbox_share /mnt/share/ -o uid=1000,gid=1000

完成后,进入cd /mnt/share 会看到你Windows共享的目录, 1000是当前用户ID,可以通过 id [username] 查看

5.实现开机自动挂载:

参考arch linux wiki

/etc/fstab 文件末添加一项: sudo vim /etc/fstab

<共享名称> vboxsf defaults 0 0

我的是:

virtualbox_share /mnt/share vboxsf defaults,umask=002,uid=1000,gid=1000 0 0
workspace /mnt/workspace vboxsf uid=1000,gid=1000,rw,dmode=755,fmode=755,noauto,x-systemd.automount 0 0

6.共享目录开启软链接(symlink) (另一个坑)

windows共享到ubuntu的目录默认是无法创建软链接的,会报错:

  • EROFS, read-only file system
  • ln: creating symbolic link `foo': Read-only file system

开启软链接有两步:

  1. 运行命令

     VBoxManage.exe setextradata YOUR_VM VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOUR_SHARED_FOLDER 1
     # YOUR_VM 你的虚拟机名称(就是vbox管理界面左侧列表显示的名字)
     # YOUR_SHARED_FOLDER 共享到虚拟机的目录名称(上面截图中的 virtualbox_share)
     # VBoxManager.exe  这个是程序在virtualbox 的安装目录里(如:D:\Program Files\Oracle\VirtualBox)
     # 注意最后还有一个 1
    
  2. 管理员的方式运行VirtualBox

检测软链接是否开启:

VBoxManage.exe getextradata YOUR_VM enumerate
# 开启正常输出: Key: VBoxInternal2/SharedFoldersEnableSymlinksCreate/www1, Value: 1 
# 关闭虚拟机否则报错:VBoxManage.exe: error: Code E_FAIL (0x80004005) - Unspecified error (extended info not available) 
# 如果这里显示正常但虚拟仍不能创建软链接: 关闭虚拟机和virtualbox 再用管理员模式重新打开

另一种方式是在共享目录创建一个文件再创建软链接测试

touch test.txt
ln -s test.txt 1.txt
# 1.txt 就是test.txt的软链接

参考:https://www.jianshu.com/p/21df1811133f 部分格式优化, 正在处理文件共享的问题发现这个文章有部分显示格式问题顺便处理了一下

你可能感兴趣的:(Win10 Vbox添加共享目录并开启软链接(symlink))