使用的virtualBox版本:5.2.12
ubuntu版本:ubuntu-16.04.6-server-amd64
前提:
windows可以ping通virtualBox中ubuntu系统
;或在“网络地址转换(NAT)”方式中设置端口转发(不推荐)。
主要介绍4种方法:scp命令,xshell客户端,共享文件夹,USB挂载。
scp命令
需要ubuntu中安装了OpenSSH server(服务端),就可以在安装了OpenSSH client(客户端的)的windows上用scp向其传输文件。这里使用的ubuntu服务器版在安装操作系统时可选择安装OpenSSH server。
win10上一般自带了OpenSSH client,命令行中运行
scp
,若提示没有该命令,可右击开始菜单,进入“应用和功能”→“管理可选功能”→“添加功能”,选择“OpenSSH 客户端”安装;若已安装但还是没有用,可在右击开始菜单中以管理员方式启动PowerShell并运行scp命令。
命令格式:
scp 文件路径 用户名@ip地址:传输后的目标文件路径
xshell客户端
需要ubuntu中安装了OpenSSH server(服务端),windows中安装xshell。
新建会话,协议选择SSH,点击“连接”,输入用户名密码,连接成功。
连接后可输入
rz
命令传文件到ubuntu,若提示没有安装,需使ubuntu联网运行
sudo apt install lrzsz
。若ubuntu无法连接互联网,可在windows上安装Xftp用来传输文件,Xftp既可单独使用又可在Xshell中打开。
共享文件夹
需在ubuntu中安装虚拟机的增强功能,添加共享文件夹,并且将其挂载到一个目录上。
-
安装增强功能:启动ubuntu虚拟机,点击菜单栏“设备”→“安装增强功能”(相当于在实体机上插入光盘),
sudo mount /dev/cdrom /mnt/
挂载cd-rom,
sudo /mnt/VBoxLinuxAdditions-x86.run
运行安装程序,
sudo umount /mnt/
卸载cd-rom; -
添加共享文件夹:点击菜单栏“设备”→“共享文件夹”→“共享文件夹”,选择windows中要被共享的文件夹,根据实际需要勾选选项;
-
挂载共享文件夹:使用
sudo mount -t vboxsf share mount_point
将名为share的共享文件夹挂载到mount_point路径下,如:
sudo mount -t vboxsf myshare ~/share
。如果没有勾选自动挂载,或者之后启动虚拟机的时候没有自动挂载成功,需要重新运行该挂载命令。
USB挂载
需要在VirtualBox中安装扩展包。
扩展包在VirtualBox官网下载对应版本:
https://www.virtualbox.org/wiki/Downloads
这里使用的virtualBox版本是5.2.12,其扩展包下载地址是:
https://download.virtualbox.org/virtualbox/5.2.12/Oracle_VM_VirtualBox_Extension_Pack-5.2.12.vbox-extpack
-
在VirtualBox中点击菜单栏“管理”→“全局设定”→“扩展”,添加新包并安装;
-
在虚拟机设置界面的“USB设备”中,勾选“启用USB控制器”,选择“USB2.0(EHCI)控制器”,并添加USB筛选器;
-
启动虚拟机后插入U盘,运行
sudo fdisk -l
检查系统上可用的存储设备及其使用的文件系统,USB设备通常会在输出结尾列出,在这里这个U盘的存储分区为/dev/sdb4,运行FAT32文件系统。
-
挂载U盘。如:
sudo mkdir /media/usb
新建文件夹,
sudo mount -t vfat /dev/sdb4 /media/usb -o uid=1000
将U盘挂载到目录/media/usb即可。若为NTFS文件系统,则将 vfat 替换为 ntfs-3g;-o 参数为必需的安全选项。在拔出U盘前要卸载USB:
sudo umount /dev/sdb4
或
sudo umount /media/usb
。
df
命令可查看当前挂载情况。
参考: