有2种方式(guest操作系统不受必须是Windows的限制,guest也可以是Linux)。
方式A: host安装samba服务并共享
在host上安装samba服务,进行配置后,guest可以通过samba客户端访问host的文件,也可以通过mount命令将host共享的文件夹挂载到本地目录下。
步骤如下:
Host端
# 1. 安装samba服务
sudo apt install samba
# 2. 修改配置文件
sudo vim /etc/samba/smb.conf
添加如下内容:
[MyShare]
comment = My Shared Directory
path = /LocalRun/abc/def # 要共享的目录
read only = no
browsable = yes
valid users = <username> # 替换为允许访问的用户名
# 3. 新增samba用户,会让输入<password>
sudo smbpasswd -a <username>
# 4. 重启samba服务
sudo systemctl restart smbd
Guest端
# 1. 安装mount所需的组件和samba client
sudo apt install cifs-utils samba-client
# 2. 可以通过samba client访问共享文件夹
smbclient //10.28.31.121/Myshare -U <username>
# 3. 也可以mount到本地目录访问
mkdir -p /LocalRun/smbshare
sudo mount -t cifs //10.28.31.121/Myshare /LocalRun/smbshare -o user=<username>,passwd=<password>
方式B: 通过qemu自带的samba服务进行共享
这种方式不需要主机安装了smbd服务。qemu自带了smb服务。描述如下:
可以在qemu启动的时候添加如下命令直接共享文件夹:
-net user,smb=<shared_path>
qemu默认会将smb服务搭建在guest网络的第四个IP,也就是x.x.x.4
。例如默认的10.0.2.4
。在虚拟机内部,可以通过如下命令进行确认:
smbclient //10.0.2.4/qemu
用户可以不用指定,默认是guest当前用户和密码,输入即可。